JDK之java.lang.System

来源:互联网 发布:正版黑界扣字软件下载 编辑:程序博客网 时间:2024/06/05 00:53

变量:

//输入流public static final InputStream in;//输出流public static final PrintStream out;//错误输出流public static final PrintStream err;

方法

//从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束

public static native void arraycopy(Object var0, int var1, Object var2, int var3, int var4); 

示例 :

int[] a = {1,2,3,4};int[] b = new int[5];System.arraycopy(a,1,b,3,2);

结果:

{0,0,0,2,3}

//移除指定键指示的系统属性。

public static String clearProperty(String var0) {    checkKey(var0);    SecurityManager var1 = getSecurityManager();    if(var1 != null) {        var1.checkPermission(new PropertyPermission(var0, "write"));    }    return (String)props.remove(var0);}

//返回以毫秒为单位的当前时间。

public static native long currentTimeMillis();

示例:

Date nowTime = new Date(System.currentTimeMillis());SimpleDateFormat sdFormatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");String s = sdFormatter.format(nowTime);System.out.print(s);

结果:

2017-04-13 04:21:53

//终止当前正在运行的 Java 虚拟机。

public static void exit(int code) {    Runtime.getRuntime().exit(code);}

//运行垃圾回收器。

public static void gc() {    boolean shouldRunGC;    synchronized(lock) {        shouldRunGC = justRanFinalization;        if (shouldRunGC) {            justRanFinalization = false;        } else {            runGC = true;        }    }    if (shouldRunGC) {        Runtime.getRuntime().gc();    }}

//获得环境变量集合

public static Map<String, String> getenv() {    Map<String, String> map = new HashMap<String, String>();    for (String entry : Libcore.os.environ()) {        int index = entry.indexOf('=');        if (index != -1) {            map.put(entry.substring(0, index), entry.substring(index + 1));        }    }    return new SystemEnvironment(map);}

示例:

Map<String, String> getenv = System.getenv();for (String in : getenv.keySet()) {    String str = getenv.get(in);    System.out.println(in + "     " + str);}

结果:

USERDOMAIN_ROAMINGPROFILE     DESKTOP-105GFUALOCALAPPDATA     C:\Users\user\AppData\LocalPROCESSOR_LEVEL     6USERDOMAIN     DESKTOP-105GFUAFPS_BROWSER_APP_PROFILE_STRING     Internet ExplorerLOGONSERVER     \\DESKTOP-105GFUAJAVA_HOME     D:\Java\jdk1.8.0_121SESSIONNAME     ConsoleALLUSERSPROFILE     C:\ProgramDataPROCESSOR_ARCHITECTURE     AMD64ANDROID_HOME     D:\Android\sdk\platform-toolsPSModulePath     C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\ModulesSystemDrive     C:APPDATA     C:\Users\user\AppData\RoamingMOZ_PLUGIN_PATH     F:\MySoftWare\fuxin\plugins\USERNAME     userProgramFiles(x86)     C:\Program Files (x86)CommonProgramFiles     C:\Program Files\Common FilesPath     C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Users\user\AppData\Local\Microsoft\WindowsApps;FPS_BROWSER_USER_PROFILE_STRING     DefaultPATHEXT     .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSCOS     Windows_NTCOMPUTERNAME     DESKTOP-105GFUAPROCESSOR_REVISION     9e09CLASSPATH      .;D:\Java\jdk1.8.0_121\lib;D:\Java\jdk1.8.0_121\lib\tools.jarCommonProgramW6432     C:\Program Files\Common FilesComSpec     C:\Windows\system32\cmd.exeProgramData     C:\ProgramDataProgramW6432     C:\Program FilesHOMEPATH     \Users\userSystemRoot     C:\WindowsTEMP     C:\Users\user\AppData\Local\TempHOMEDRIVE     C:PROCESSOR_IDENTIFIER     Intel64 Family 6 Model 158 Stepping 9, GenuineIntelUSERPROFILE     C:\Users\userTMP     C:\Users\user\AppData\Local\TempCommonProgramFiles(x86)     C:\Program Files (x86)\Common FilesProgramFiles     C:\Program FilesPUBLIC     C:\Users\PublicNUMBER_OF_PROCESSORS     8windir     C:\Windows

//获取指定的环境变量值(根据上面的key进行获取就好了)

public static String getenv(String key) {    SecurityManager var1 = getSecurityManager();    if(var1 != null) {        var1.checkPermission(new RuntimePermission("getenv." + var0));    }    return ProcessEnvironment.getenv(var0);}

//获取当前的系统属性集合

public static Properties getProperties() {    SecurityManager var0 = getSecurityManager();    if(var0 != null) {        var0.checkPropertiesAccess();    }    return props;}

示例:

Iterator it = System.getProperties().entrySet().iterator();while (it.hasNext()) {    Map.Entry entry = (Map.Entry) it.next();    Object key = entry.getKey();    Object value = entry.getValue();    System.out.println(key + "     " + value);}

结果:

java.runtime.name     OpenJDK Runtime Environmentsun.boot.library.path     D:\Android\Android Studio\jre\jre\binjava.vm.version     25.76-b03java.vm.vendor     Oracle Corporationjava.vendor.url     https://www.jetbrains.com/path.separator     ;idea.launcher.port     7538java.vm.name     OpenJDK 64-Bit Server VMfile.encoding.pkg     sun.iouser.country     CNuser.script     sun.java.launcher     SUN_STANDARDsun.os.patch.level     java.vm.specification.name     Java Virtual Machine Specificationuser.dir     F:\JGW_Android\GetPixelsjava.runtime.version     1.8.0_76-release-b03java.awt.graphicsenv     sun.awt.Win32GraphicsEnvironmentjava.endorsed.dirs     D:\Android\Android Studio\jre\jre\lib\endorsedos.arch     amd64java.io.tmpdir     C:\Users\user\AppData\Local\Temp\line.separator     java.vm.specification.vendor     Oracle Corporationuser.variant     os.name     Windows 10sun.jnu.encoding     GBKjava.library.path     D:\Android\Android Studio\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Users\user\AppData\Local\Microsoft\WindowsApps;;.java.specification.name     Java Platform API Specificationjava.class.version     52.0sun.management.compiler     HotSpot 64-Bit Tiered Compilersos.version     10.0user.home     C:\Users\useruser.timezone     java.awt.printerjob     sun.awt.windows.WPrinterJobfile.encoding     UTF-8idea.launcher.bin.path     D:\Android\Android Studio\binjava.specification.version     1.8java.class.path     D:\Android\Android Studio\jre\jre\lib\charsets.jar;D:\Android\Android Studio\jre\jre\lib\ext\access-bridge-64.jar;D:\Android\Android Studio\jre\jre\lib\ext\cldrdata.jar;D:\Android\Android Studio\jre\jre\lib\ext\dnsns.jar;D:\Android\Android Studio\jre\jre\lib\ext\jaccess.jar;D:\Android\Android Studio\jre\jre\lib\ext\localedata.jar;D:\Android\Android Studio\jre\jre\lib\ext\nashorn.jar;D:\Android\Android Studio\jre\jre\lib\ext\sunec.jar;D:\Android\Android Studio\jre\jre\lib\ext\sunjce_provider.jar;D:\Android\Android Studio\jre\jre\lib\ext\sunmscapi.jar;D:\Android\Android Studio\jre\jre\lib\ext\sunpkcs11.jar;D:\Android\Android Studio\jre\jre\lib\ext\zipfs.jar;D:\Android\Android Studio\jre\jre\lib\jce.jar;D:\Android\Android Studio\jre\jre\lib\jsse.jar;D:\Android\Android Studio\jre\jre\lib\management-agent.jar;D:\Android\Android Studio\jre\jre\lib\resources.jar;D:\Android\Android Studio\jre\jre\lib\rt.jar;F:\JGW_Android\GetPixels\javalib\build\classes\main;D:\Android\Android Studio\lib\idea_rt.jaruser.name     userjava.vm.specification.version     1.8sun.java.command     com.intellij.rt.execution.application.AppMain com.example.MyClassjava.home     D:\Android\Android Studio\jre\jresun.arch.data.model     64user.language     zhjava.specification.vendor     Oracle Corporationawt.toolkit     sun.awt.windows.WToolkitjava.vm.info     mixed modejava.version     1.8.0_76-releasejava.ext.dirs     D:\Android\Android Studio\jre\jre\lib\ext;C:\Windows\Sun\Java\lib\extsun.boot.class.path     D:\Android\Android Studio\jre\jre\lib\resources.jar;D:\Android\Android Studio\jre\jre\lib\rt.jar;D:\Android\Android Studio\jre\jre\lib\sunrsasign.jar;D:\Android\Android Studio\jre\jre\lib\jsse.jar;D:\Android\Android Studio\jre\jre\lib\jce.jar;D:\Android\Android Studio\jre\jre\lib\charsets.jar;D:\Android\Android Studio\jre\jre\lib\jfr.jar;D:\Android\Android Studio\jre\jre\classesjava.vendor     JetBrains s.r.ofile.separator     \java.vendor.url.bug     https://youtrack.jetbrains.comsun.io.unicode.encoding     UnicodeLittlesun.cpu.endian     littlesun.desktop     windowssun.cpu.isalist     amd64

下面是常见的:

java.versionJava 运行时环境版本java.homeJava 安装目录os.name操作系统的名称os.version操作系统的版本user.name用户的账户名称user.home用户的主目录user.dir用户的当前工作目录

//获取指定键指示的系统属性

public static String getProperty(String var0) {    checkKey(var0);    SecurityManager var1 = getSecurityManager();    if(var1 != null) {        var1.checkPropertyAccess(var0);    }    return props.getProperty(var0);}

//获取系统安全接口。

public static SecurityManager getSecurityManager() {    return security;}

//返回从创建此 Java 虚拟机的实体中继承的信道。

public static Channel inheritedChannel() throws IOException {    return SelectorProvider.provider().inheritedChannel();}

//从作为动态库的本地文件系统中以指定的文件名加载代码文件。

@CallerSensitivepublic static void load(String var0) {    Runtime.getRuntime().load0(Reflection.getCallerClass(), var0);}

示例:

System.load("C://Documents and Settings//TestJNI.dll");

//加载由 libname 参数指定的系统库

@CallerSensitivepublic static void loadLibrary(String var0) {    Runtime.getRuntime().loadLibrary0(Reflection.getCallerClass(), var0);}

示例:

System. loadLibrary ("TestJNI");

//返回最准确的可用系统计时器的当前值,以毫微秒为单位。

public static native long nanoTime();

示例(计算过时的时间):

long startTime = System.nanoTime();// ... the code being measured ...long estimatedTime = System.nanoTime() - startTime;System.out.print(estimatedTime);

重新分配“标准”输入流。

private static native void setIn0(InputStream var0);

重新分配“标准”输出流。

private static native void setOut0(PrintStream var0);

重新分配“标准”错误输出流。

private static native void setErr0(PrintStream var0);

将系统属性设置为 Properties 参数。

public static void setProperties(Properties var0) {    SecurityManager var1 = getSecurityManager();    if(var1 != null) {        var1.checkPropertiesAccess();    }    if(var0 == null) {        var0 = new Properties();        initProperties(var0);    }    props = var0;}

设置指定键指示的系统属性。

public static String getProperty(String var0) {    checkKey(var0);    SecurityManager var1 = getSecurityManager();    if(var1 != null) {        var1.checkPropertyAccess(var0);    }    return props.getProperty(var0);}

设置系统安全性。

public static void setSecurityManager(SecurityManager var0) {    try {        var0.checkPackageAccess("java.lang");    } catch (Exception var2) {        ;    }    setSecurityManager0(var0);}
0 0