System
Math
1. System类
System类包含几个有用的类字段和方法。它不能被实例化。
1.1. static long currentTimeMillis()方法
获取从1970年1月1日午夜以来经过的ts毫秒值,见:https://www.jianshu.com/writer#/notebooks/25252874/notes/30142182
1.2. static void exit(int status)方法
终止当前运行的Java虚拟机。用于不使用debug模式调试代码时,让程序从某个点退出。
1.3. public static void gc()
运行垃圾回收器。调用gc方法表明,Java虚拟机花费了回收未使用对象的努力,以使其当前占用的内存可以快速重用。当控件从方法调用返回时,Java虚拟机已经尽力从所有丢弃的对象中回收空间。
下面的例子中,先创建几个匿名对象,在启动垃圾回收,sleep 1秒是为了防止主程序退出而看不到垃圾回收时,Person类自动调用的finalize()方法。
1.4. static Properties getProperties()
能够显示所有跟JDK和系统相关的键值对,如下所示:
java.runtime.name=Java(TM) SE Runtime Environment,
sun.boot.library.path=D:\Program Files\Java\jre1.8.0_161\bin,
java.vm.version=25.161-b12,
java.vm.vendor=Oracle Corporation,
java.vendor.url=http://java.oracle.com/,
path.separator=;,
java.vm.name=Java HotSpot(TM) 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=D:\javaProj\study,
java.runtime.version=1.8.0_161-b12,
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment,
java.endorsed.dirs=D:\Program Files\Java\jre1.8.0_161\lib\endorsed,
os.arch=amd64,
java.io.tmpdir=C:\Users\kluter\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:\Program Files\Java\jre1.8.0_161\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:/Program Files/Java/jre1.8.0_161/bin/server;D:/Program Files/Java/jre1.8.0_161/bin;D:/Program Files/Java/jre1.8.0_161/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\Program Files\VanDyke Software\Clients\;D:\Program Files\TortoiseSVN\bin;D:\Program Files\Java\jdk1.8.0_161\bin;D:\vmshare\hadoop-2.9.1\bin;D:\maven\apache-maven-3.5.3/bin;C:\Users\kluter\AppData\Local\Microsoft\WindowsApps;;C:\Windows\System32;;.,
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\kluter,
user.timezone=,
java.awt.printerjob=sun.awt.windows.WPrinterJob,
file.encoding=GBK,
java.specification.version=1.8,
java.class.path=D:\Program Files\Java\jre1.8.0_161\lib\resources.jar;D:\Program Files\Java\jre1.8.0_161\lib\rt.jar;D:\Program Files\Java\jre1.8.0_161\lib\jsse.jar;D:\Program Files\Java\jre1.8.0_161\lib\jce.jar;D:\Program Files\Java\jre1.8.0_161\lib\charsets.jar;D:\Program Files\Java\jre1.8.0_161\lib\jfr.jar;D:\Program Files\Java\jre1.8.0_161\lib\ext\access-bridge-64.jar;D:\Program Files\Java\jre1.8.0_161\lib\ext\cldrdata.jar;D:\Program Files\Java\jre1.8.0_161\lib\ext\dnsns.jar;D:\Program Files\Java\jre1.8.0_161\lib\ext\jaccess.jar;D:\Program Files\Java\jre1.8.0_161\lib\ext\jfxrt.jar;D:\Program Files\Java\jre1.8.0_161\lib\ext\localedata.jar;D:\Program Files\Java\jre1.8.0_161\lib\ext\nashorn.jar;D:\Program Files\Java\jre1.8.0_161\lib\ext\sunec.jar;D:\Program Files\Java\jre1.8.0_161\lib\ext\sunjce_provider.jar;D:\Program Files\Java\jre1.8.0_161\lib\ext\sunmscapi.jar;D:\Program Files\Java\jre1.8.0_161\lib\ext\sunpkcs11.jar;D:\Program Files\Java\jre1.8.0_161\lib\ext\zipfs.jar;D:\javaProj\study\bin,
user.name=kluter,
java.vm.specification.version=1.8,
sun.java.command=com.gamebear.s23.packgetTest,
java.home=D:\Program Files\Java\jre1.8.0_161,
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_161,
java.ext.dirs=D:\Program Files\Java\jre1.8.0_161\lib\ext;C:\Windows\Sun\Java\lib\ext,
sun.boot.class.path=D:\Program Files\Java\jre1.8.0_161\lib\resources.jar;D:\Program Files\Java\jre1.8.0_161\lib\rt.jar;D:\Program Files\Java\jre1.8.0_161\lib\sunrsasign.jar;D:\Program Files\Java\jre1.8.0_161\lib\jsse.jar;D:\Program Files\Java\jre1.8.0_161\lib\jce.jar;D:\Program Files\Java\jre1.8.0_161\lib\charsets.jar;D:\Program Files\Java\jre1.8.0_161\lib\jfr.jar;D:\Program Files\Java\jre1.8.0_161\classes,
java.vendor=Oracle Corporation,
file.separator=\,
java.vendor.url.bug=http://bugreport.sun.com/bugreport/,
sun.io.unicode.encoding=UnicodeLittle,
sun.cpu.endian=little,
sun.desktop=windows,
sun.cpu.isalist=amd64
1.5. static voidarraycopy(Object src, int srcPos, Object dest, int destPos, int length)
Object src, 源数组
int srcPos, 起始位置
Object dest, 目标数组
int destPos, 起始位置
int length 复制的长度
2. Math类
2.1. ceil和floor方法,刚好是相反的
2.2. pow方法取a的b次方
2.3. random() 方法 返回0.0~1.0之间的随机数
注意:建议直接使用Random类
2.4. round方法获取四舍五入值
注意:如果自己实现的话,就是原数加0.5 再用floor方法取整数