システムレベルとパフォーマンスの向上


🙆‍♂️ import 🙇‍♂️
Javaパフォーマンスチューニングストーリー[ProgrammingInsight-李尚敏]
System Class
Javaの勉強を始めたばかりの頃、何も考えずに使っていたクラスの中で、Systemクラスが最も代表的です.
すべてのSystemクラスの方法は静的であり、生成されたinouterrのオブジェクトも静的であり、生成者がいなければ、Systemのオブジェクトを生成することはできず、System.XXXの方法で使用しなければならない.
システムクラスで一般的ではありませんが、次のような方法があります.
static void arrayCopy (Object src, int srcPos, Object dest, int destPos, int length)
特定の配列をコピーします.Object srcはコピー元アレイであり、Ojbect destはコピー値を有するアレイである.int srcPosは元の開始位置であり、int destPosはコピー開始位置int lengthはコピー個数である.
属性と環境
JavaのJVMで利用可能な設定は、속성(Property)환경(Environment)の2種類あります.속성(Property)JVMで指定された値であり、환경(Environment)はデバイスで指定された値である.
Javaでは、속성Properties환경envを使用する.Propertiesを使用する方法は次のとおりです.
static Properties getProperties()
今Java 속성の価格を受け取りました.
static String getProperty(String key)Keyで指定されたjava 속성の値が受信されました.
static String getProperty(String key, String def)keyで指定されたjava 속성の値が受信されました.defは、このkeyが存在しない場合に指定されるデフォルト値です.
static void setProperties(Properties props)propsオブジェクトに含まれるコンテンツは、Java 속성に割り当てられる.
static String setProperty(String key, String value)
Java 속성で指定されたキーの値を値に変換します.
Java 속성を使用する方法については、次の例を示します.
import java.util.*;
public class GetProperties {
	public static void main(String args[]) {
    	System.setProperty("JavaTuning", "Gillog");
        Properties prop = System.getProperties();
        Set key = prop.keySet();
        
        Iterator iterator = key.iterator();
        while(iterator.hasNext()) {
        	String currentKey = iterator.next().toString();
            System.out.format("%s=%s\n", currrentKey, prop.getProperty(currentKey));
        }
    }
}
以上のソースコードはJavaTuningであり、システムKeyPropertyを指定し、システムGillogの完全値を画面上のプログラムに出力する.
このプログラムを実行すると、Java System Propertyの値が出力されます.
static Map getenv()
現在のSystem Propertyの値リストをString形式のMapに戻します.
static String getenv(String name)
nameで指定した環境変数の値を返します.
static void load(String fileName)
Native Libraryをロードするファイル名を指定します.
static void loadLibrary(String libName)
Native Libraryをロードするライブラリ名を指定します.
Waring Methods
システムクラスで実行されるコードには絶対に使用できない方法があります.
static void gc()
GCを実行してJavaが使用するメモリを明確に無効にする方法.
static void exit(int status)
現在実行中のJava仮想マシンを停止します.
このメソッドは、実行中のコードでは絶対に実行できません.
static void runFinalization()
オブジェクトオブジェクトのfinalize()という名前のメソッドが自動的に呼び出され、GCがオブジェクトが参照を必要としないことを知ったときに呼び出されます.
ただし、このメソッドを直接呼び出す場合は、参照解除操作を待つすべてのオブジェクトのfinalize()メソッドを手動で実行する必要があります.