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

主程序
自定义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 复制的长度


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方法取整数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容