Giriş
Şu satırı dahil ederiz.
arraycopy metodu
İmzası şöyle
Şöyle yaparız.
Açıklaması şöyle.
Örnek
error akımına yazmak için şöyle yaparız.
err akımını kapatır herşeyi out akımına yazmak için şöyle yaparız.
İmzası şöyle
İmzası şöyle
getenv() vs getProperty() yazısına taşıdım.
Şu satırı dahil ederiz.
import java.lang.System;
System sınıfı bence tam bir keşmekeş. İçinde ilgili ilgisiz her şey var.arraycopy metodu
İmzası şöyle
public static native void arraycopy(Object src, int srcPos,
Object dest, int destPos,
int length);
Her JVM mümkün olan en hızlı şekilde çalışmak için native olarak kodluyor. İki array'i kopyalamak için kullanılır. Şöyle yaparız.byte[] buffer = new byte[4096];
int noOfBytes = 10;
byte[] data = new byte[noOfBytes];
System.arraycopy(buffer, 0, data, 0, noOfBytes);
clearProperty metoduŞöyle yaparız.
System.clearProperty("mapred");
currentTimeMillis metoduAçıklaması şöyle.
System.currentTimeMillis() is implemented using the GetSystemTimeAsFileTime method, which essentially just reads the low resolution time-of-day value that Windows maintains. Reading this global variable is naturally very quick - around 6 cycles according to reported information.Süre ölçmek için kullanılabilir.
long startTime = System.currentTimeMillis();
...
if (System.currentTimeMillis() - timer > 1000) {...}
err metoduÖrnek
error akımına yazmak için şöyle yaparız.
System.err (variable)
Örnekerr akımını kapatır herşeyi out akımına yazmak için şöyle yaparız.
public static void disableWarning() {
System.err.close();
System.setErr(System.out);
}
exit metoduİmzası şöyle
System.exit(int);
Şöyle yaparız.System.exit(0);
gc metoduİmzası şöyle
System.gc();
getenv metodugetenv() vs getProperty() yazısına taşıdım.
getProperty metodu
getenv() vs getProperty() yazısına taşıdım.
getenv() vs getProperty() yazısına taşıdım.
getSecurityManager metodu
Örnek ver
identityHashCode metodu
Nesnenin hashCode() metodu override edilse bile JVM tarafından verilen hashCode değerine erişebilmemizi sağlar.
in metodu
Örnek ver
Şöyle yaparız.
Bir DLL'i yüklemek için kullanılır. Runtime sınıfı da DLL yükleyebilir.
Örnek
Bu çağrı yerine
OpenCV'yi yüklemek için şöyle yaparız.
Bu çağrı bazen static constructor olarak kullanılır. Şöyle yaparız.
Geçen süreyi ölçerken bu çağrının süresi de düşünülebilir. Açıklaması şöyle.
out metodu
Örnek ver
Error stream'i yeni nesne ile değiştirir. Şöyle yaparız.
setIn metodu
Input stream'i yeni nesne ile değiştirir. Şöyle yaparız.
Kendi SecurityManager sıfımızı kullanmak için şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
identityHashCode metodu
Nesnenin hashCode() metodu override edilse bile JVM tarafından verilen hashCode değerine erişebilmemizi sağlar.
in metodu
Örnek ver
System.in (variable)
lineSeparator metoduŞöyle yaparız.
String text=System.lineSeparator();
System.out.println(text);
loadLibrary metoduBir DLL'i yüklemek için kullanılır. Runtime sınıfı da DLL yükleyebilir.
Örnek
Bu çağrı yerine
System.loadLibrary("advapi32");
Şöyle yaparızRuntime.getRuntime().loadLibrary("C:/Windows/System32/crypt32.dll");
ÖrnekOpenCV'yi yüklemek için şöyle yaparız.
System.loadLibrary (Core.NATIVE_LIBRARY_NAME);
ÖrnekBu çağrı bazen static constructor olarak kullanılır. Şöyle yaparız.
public class Foo {
...
static {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
...
}
nanoTime metodu
İmzası şöyle.public static long nanoTime()
Açıklaması şöyle.This method can only be used to measure elapsed time and is not related to any other notion of system or wall-clock time.
Süre ölçmek için kullanılır.If you are interested in measuring/calculating elapsed time, then always use System.nanoTime(). On most systems it will give a resolution on the order of microseconds. Be aware though, this call can also take microseconds to execute on some platforms.
long startTime = System.nanoTime ();
...
long endTime = System.nanoTime ()- startTime;
Bu metod Windows'ta yavaş çalışabilir. Açıklaması şöyle.Oracle belgesinde şöyle ilginç bir açıklama var.System.nanoTime() is implemented using the QueryPerformanceCounter/ QueryPerformanceFrequency API (if available, else it returns currentTimeMillis*10^6).QueryPerformanceCounter(QPC) is implemented in different ways depending on the hardware it's running on. Typically it will use either the programmable-interval-timer (PIT), or the ACPI power management timer (PMT), or the CPU-level timestamp-counter (TSC). Accessing the PIT/PMT requires execution of slow I/O port instructions and as a result the execution time for QPC is in the order of microseconds. In contrast reading the TSC is on the order of 100 clock cycles (to read the TSC from the chip and convert it to a time value based on the operating frequency).
Normalde t1'in taşma yapıp negatif bir sayı olması için 250 sene kadar zaman geçmesi gerekir. Ancak belki sistemde bir hata olur diye tedbirli olmakta fayda var. Oracle'ın tavsiye ettiği yöntemin çalışmasının sebebi ise çok büyük bir eksi sayı ile çok büyük bir artı sayınının çıkartmasının artı bir sayı olabilmesi :)To compare two nanoTime valueslong t0 = System.nanoTime();
...long t1 = System.nanoTime();
one should use t1 - t0 < 0, not t1 < t0, because of the possibility of numerical overflow.
out metodu
Örnek ver
System.out (variable)
setErr metoduError stream'i yeni nesne ile değiştirir. Şöyle yaparız.
ByteArrayOutputStream errContent = new ByteArrayOutputStream();
System.setErr (new PrintStream(errContent));
Input stream'i yeni nesne ile değiştirir. Şöyle yaparız.
System.setIn(new ByteArrayInputStream("yes".getBytes()));
System.out.println(System.in.read());// outputs 121
setSecurityManager metoduKendi SecurityManager sıfımızı kullanmak için şöyle yaparız.
public static class NoThreadsSecurityManager extends SecurityManager {
...
}
public static void main(String[] args) {
System.setSecurityManager(new NoThreadsSecurityManager());
...
}
setOut metodu
Şöyle yaparız.
ByteArrayOutputStream outContent = new ByteArrayOutputStream();
System.setOut (new PrintStream(outContent));
setProperty metoduŞöyle yaparız.
System.setProperty("mapred", "mapred.input");
ÖrnekŞöyle yaparız.
System.setProperty("java.net.useSystemProxies", "true");
ÖrnekŞöyle yaparız.
System.setProperty("http.proxyUser", usr);
System.setProperty("http.proxyPassword", pwd);