变量:
//输入流
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);
}