系统相关类——java.lang.Runtime 类(二)
前言:
小编打算近期更俩三期类的专栏,一些常用的专集类,给大家分好类别总结和详细的代码举例解释。
今天是第二个 java.lang.Runtime 类
我们一直都是以这样的形式,让新手小白轻松理解复杂晦涩的概念,
把Java代码拆解的清清楚楚,每一步都知道他是怎么来的,
为什么用这串代码关键字,对比同类型的代码,
让大家真正看完以后融会贯通,举一反三,实践应用!!!!
①官方定义 和 大白话拆解对比
②举生活中常见贴合例子、图解辅助理解的形式
③对代码实例中关键部分进行详细拆解、总结
给小编一个赞或者关注吧,我们一起进步!!
官方语言
-
Runtime 类:每个 Java 应用程序都有一个
Runtime
类实例,使应用程序能够与其运行的环境相连接。 -
getRuntime() 方法:返回与当前 Java 应用程序相关的运行时对象。应用程序不能创建自己的
Runtime
类实例。 -
totalMemory() 方法:返回 Java 拟机中初始化时的内存总量。此方法返回的值可能随时间的推移而变化,这取决于主机环境。默认为物理电脑内存的 1/64。
-
maxMemory() 方法:返回 Java 虚拟机中最大程度能使用的内存总量。默认为物理电脑内存的 1/4。
-
freeMemory() 方法:返回 Java 拟机中的空闲内存量。调用
gc
方法可能导致freeMemory
返回值的增加。
大白话拆解:
-
Runtime 类:每个 Java 程序都有一个
Runtime
类实例,这个实例可以帮助程序了解和控制它所运行的环境。 -
getRuntime() 方法:这个方法可以获取当前 Java 程序的运行时对象。你不能自己创建
Runtime
实例,只能通过这个方法获取。 -
totalMemory() 方法:这个方法告诉你 Java 序在启动时分配了多少内存。这个值可能会变,因为它依赖于你的电脑配置。默认情况下,它大约是你电脑总内存的 1/64。
-
maxMemory() 方法:这个方法告诉你 Java 序最多能使用多少内存。默认情况下,它大约是你电脑总内存的 1/4。
-
freeMemory() 方法:这个方法告诉你 Java 程序当前有多少空闲内存。如果你调用了垃圾回收(
gc
),这个值可能会增加。
举个栗子:
public class MemoryInfo {
public static void main(String[] args) {
// 获取运行时对象
Runtime runtime = Runtime.getRuntime();
// 打印总内存
System.out.println("Total Memory: " + runtime.totalMemory() / (1024 * 1024) + " MB");
// 打印最大可用内存
System.out.println("Max Memory: " + runtime.maxMemory() / (1024 * 1024) + " MB");
// 打印空闲内存
System.out.println("Free Memory: " + runtime.freeMemory() / (1024 * 1024) + " MB");
// 执行垃圾回收
System.gc();
// 次打印空闲内存
System.out.println("Free Memory after GC: " + runtime.freeMemory() / (1024 * 1024) + " MB");
}
}
代码解释和总结:
1、获取运行时对象
Runtime runtime = Runtime.getRuntime();
- 这行代码的作用就像是对你的程序说,“请给我一个可以用来询问电脑内存状况的对象。”这个对象就是runtime。
2、打印总内存
System.out.println("Total Memory: " + runtime.totalMemory() / (1024 * 1024) + " MB");
- 这里,程序在问:“我能用的总内存是多少?”然后,它将这个数字转换为以MB(兆字节)为单位的形式展示出来,以便于我们阅读。
3、打印最大可用内存
System.out.println("Max Memory: " + runtime.maxMemory() / (1024 * 1024) + " MB");
- 类似地,这行代码询问的是“我的程序最多能使用多少内存?”同样,结果会以MB的形式显示出来。
4、打印空闲内存
System.out.println("Free Memory: " + runtime.freeMemory() / (1024 * 1024) + " MB");
- 这行是在问:“现在还有多少空闲的内存可以被使用?”并以易于理解的MB形式输出。
5、执行垃圾回收
System.gc();
- 这个调用就像是告诉你的程序:“请尝试清理那些不再需要的东西,释放一些空间。”虽然这不是强制性的,但它鼓励Java虚拟机去回收不再使用的对象所占用的内存。
6、再次打印空闲内存
System.out.println("Free Memory after GC: " + runtime.freeMemory() / (1024 * 1024) + " MB");
- 最后,程序再次检查空闲内存的数量,看看在进行了垃圾回收之后,是否有更多的内存变为空闲状态。
我们今天就到这里,下次见吧!!!
原文地址:https://blog.csdn.net/2401_86356924/article/details/145309878
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!