Java之System、Math类的常用方法

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()方法。

Java之System、Math类的常用方法_第1张图片
主程序
Java之System、Math类的常用方法_第2张图片
自定义Person类


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 复制的长度

Java之System、Math类的常用方法_第3张图片


2. Math类

2.1. ceil和floor方法,刚好是相反的

Java之System、Math类的常用方法_第4张图片

2.2. pow方法取a的b次方

Java之System、Math类的常用方法_第5张图片

2.3. random() 方法 返回0.0~1.0之间的随机数

Java之System、Math类的常用方法_第6张图片

注意:建议直接使用Random类


2.4. round方法获取四舍五入值

Java之System、Math类的常用方法_第7张图片

注意:如果自己实现的话,就是原数加0.5 再用floor方法取整数

你可能感兴趣的:(Java之System、Math类的常用方法)