JDK之java.lang.System

    xiaoxiao2021-04-12  29

    变量:

    //输入流 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-105GFUA LOCALAPPDATA C:\Users\user\AppData\Local PROCESSOR_LEVEL 6 USERDOMAIN DESKTOP-105GFUA FPS_BROWSER_APP_PROFILE_STRING Internet Explorer LOGONSERVER \\DESKTOP-105GFUA JAVA_HOME D:\Java\jdk1.8.0_121 SESSIONNAME Console ALLUSERSPROFILE C:\ProgramData PROCESSOR_ARCHITECTURE AMD64 ANDROID_HOME D:\Android\sdk\platform-tools PSModulePath C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules SystemDrive C: APPDATA C:\Users\user\AppData\Roaming MOZ_PLUGIN_PATH F:\MySoftWare\fuxin\plugins\ USERNAME user ProgramFiles(x86) C:\Program Files (x86) CommonProgramFiles C:\Program Files\Common Files Path 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 Default PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC OS Windows_NT COMPUTERNAME DESKTOP-105GFUA PROCESSOR_REVISION 9e09 CLASSPATH .;D:\Java\jdk1.8.0_121\lib;D:\Java\jdk1.8.0_121\lib\tools.jar CommonProgramW6432 C:\Program Files\Common Files ComSpec C:\Windows\system32\cmd.exe ProgramData C:\ProgramData ProgramW6432 C:\Program Files HOMEPATH \Users\user SystemRoot C:\Windows TEMP C:\Users\user\AppData\Local\Temp HOMEDRIVE C: PROCESSOR_IDENTIFIER Intel64 Family 6 Model 158 Stepping 9, GenuineIntel USERPROFILE C:\Users\user TMP C:\Users\user\AppData\Local\Temp CommonProgramFiles(x86) C:\Program Files (x86)\Common Files ProgramFiles C:\Program Files PUBLIC C:\Users\Public NUMBER_OF_PROCESSORS 8 windir 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 Environment sun.boot.library.path D:\Android\Android Studio\jre\jre\bin java.vm.version 25.76-b03 java.vm.vendor Oracle Corporation java.vendor.url https://www.jetbrains.com/ path.separator ; idea.launcher.port 7538 java.vm.name OpenJDK 64-Bit Server VM file.encoding.pkg sun.io user.country CN user.script sun.java.launcher SUN_STANDARD sun.os.patch.level java.vm.specification.name Java Virtual Machine Specification user.dir F:\JGW_Android\GetPixels java.runtime.version 1.8.0_76-release-b03 java.awt.graphicsenv sun.awt.Win32GraphicsEnvironment java.endorsed.dirs D:\Android\Android Studio\jre\jre\lib\endorsed os.arch amd64 java.io.tmpdir C:\Users\user\AppData\Local\Temp\ line.separator java.vm.specification.vendor Oracle Corporation user.variant os.name Windows 10 sun.jnu.encoding GBK java.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 Specification java.class.version 52.0 sun.management.compiler HotSpot 64-Bit Tiered Compilers os.version 10.0 user.home C:\Users\user user.timezone java.awt.printerjob sun.awt.windows.WPrinterJob file.encoding UTF-8 idea.launcher.bin.path D:\Android\Android Studio\bin java.specification.version 1.8 java.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.jar user.name user java.vm.specification.version 1.8 sun.java.command com.intellij.rt.execution.application.AppMain com.example.MyClass java.home D:\Android\Android Studio\jre\jre sun.arch.data.model 64 user.language zh java.specification.vendor Oracle Corporation awt.toolkit sun.awt.windows.WToolkit java.vm.info mixed mode java.version 1.8.0_76-release java.ext.dirs D:\Android\Android Studio\jre\jre\lib\ext;C:\Windows\Sun\Java\lib\ext sun.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\classes java.vendor JetBrains s.r.o file.separator \ java.vendor.url.bug https://youtrack.jetbrains.com sun.io.unicode.encoding UnicodeLittle sun.cpu.endian little sun.desktop windows sun.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(); }

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

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

    示例:

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

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

    @CallerSensitive public 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); }
    转载请注明原文地址: https://ju.6miu.com/read-667925.html

    最新回复(0)