概要
主要用下列3个函数。
Runtime.getRuntime().freeMemory()
Runtime.getRuntime().totalMemory()
Runtime.getRuntime().maxMemory()
GC主动运行
System.gc()
package net.tianyu.sample;
import java.text.DecimalFormat;
public class TestGC {
public static void main(String[] args) {
byte[] buf = null;
for (int i = 0; i < 10; i++) {
buf = new byte[1000000];
System.out.println(getMemoryInfo());
System.gc();
}
}
public static String getMemoryInfo() {
DecimalFormat f1 = new DecimalFormat("#,###KB");
DecimalFormat f2 = new DecimalFormat("##.#");
long free = Runtime.getRuntime().freeMemory() / 1024;
long total = Runtime.getRuntime().totalMemory() / 1024;
long max = Runtime.getRuntime().maxMemory() / 1024;
long used = total - free;
double ratio = (used * 100 / (double) total);
String info = "";
info += "Java Memory : Total=" + f1.format(total) + ",\t";
info += "Used=" + f1.format(used) + " (" + f2.format(ratio) + "%),\t";
info += "MaxCanUse=" + f1.format(max);
return info;
}
}
分享到:
相关推荐
《Java入门到精通》是一本面向Java初学者的权威指南,旨在帮助读者快速掌握Java编程语言的基础知识并逐步深入到高级技术。这本书涵盖了从安装Java开发环境,理解基本语法,到构建复杂应用程序的全过程,是学习Java...
Java的内存管理机制(垃圾收集器)在处理大规模数据时能确保内存的有效利用,但可能会因为垃圾收集的开销影响性能。"java.png"可能展示了Java在处理大规模数据时的内存使用情况。 PHP,一种广泛用于Web开发的脚本...
这有助于识别哪些对象是内存消耗的大户,以及它们之间的引用关系。 再者,MAT还提供"Object Set"功能,允许开发者根据特定条件筛选对象,比如查找所有实例化次数超过一定数量的类,或者查找所有具有特定字段的对象...
Java入门贪吃蛇小游戏.zipJava入门贪吃蛇小游戏.zipJava入门贪吃蛇小游戏.zip Java入门贪吃蛇小游戏.zipJava入门贪吃蛇小游戏.zipJava入门贪吃蛇小游戏.zip Java入门贪吃蛇小游戏.zipJava入门贪吃蛇小游戏.zipJava...
9. **IO流**:Java的输入/输出(IO)库支持对文件、网络和内存数据的读写操作。流的概念贯穿其中,分为字节流和字符流。 10. **多线程**:Java内置对多线程的支持,通过Thread类或Runnable接口实现并发执行。同步...
以上只是Java入门的一些核心知识点,实际学习过程中,还会涉及到更多的高级主题,如反射、注解、设计模式、并发编程、JVM内存管理等。这个入门课件将逐步引导初学者掌握这些基础知识,为后续深入学习Java打下坚实的...
Educoder题目:Java入门 - 数组基础答案解析
Java是一种广泛使用的面向对象的编程语言,以其跨...总之,理解Java的内存管理和垃圾回收机制对于编写高性能、低内存消耗的应用至关重要。通过深入学习和实践,开发者能够更好地解决内存泄漏、提高应用性能和稳定性。
本资源“java从入门到精通PPT”提供了一套完整的Java学习路径,通过一系列PPT帮助初学者逐步掌握这门强大的语言。PPT的形式使得学习过程更加直观和易于理解,特别适合自学者进行系统性学习。 首先,Java入门阶段,...
java入门级练手小游戏源码合集java入门级练手小游戏源码合集java入门级练手小游戏源码合集 java入门级练手小游戏源码合集java入门级练手小游戏源码合集java入门级练手小游戏源码合集 java入门级练手小游戏源码合集...
《Java基础入门(第3版)》是一本针对Java初学者的教材,其课后答案文档提供了对书中习题的解答,旨在帮助读者巩固所学知识。Java是一种面向对象的编程语言,具备跨平台性,由Java虚拟机(JVM)负责解释执行。Java...
Java 基础入门,适合初学入门java的同学
根据提供的文件信息,本文将围绕Java 7这一版本的基础知识、特性以及如何通过提供的链接获取《Java 7经典入门》这本书进行详细介绍。 ### Java 7简介 Java 7是Java平台标准版(Java SE)的一个重要版本,由Oracle...
Java 基础入门知识点总结 本文将对《Java 基础入门》课后习题答案进行总结,涵盖了 Java 基础知识点,包括 Java 开发入门、Java 基础类、变量类型、运算符、控制流语句、方法重载等。 一、Java 开发入门 * Java ...
简介:java入门到精通的全套教程,适合小白0基础java入门与学习 适用人群:学生、转行计算机、编程学习、java 使用场景java入门学习、复习、面试准备
推荐优质Java课程 疯狂Java语言编程 Java入门到进阶教程 01.Java语言概述(共21页).ppt 推荐优质Java课程 疯狂Java语言编程 Java入门到进阶教程 02.理解结构化程序设计_理解面向对象(共25页).ppt 推荐优质Java...
《Java 7入门经典》内容简介:无论学习Java是为了编写嵌入网页的定制applet,还是为了编写大型应用程序,都十分适合阅读此书。《Java 7入门经典》是关于Java语言讲解最为细致、全面的入门书籍,介绍了使用最新的Java...
本教程“Java学习从入门到精通”旨在为初学者和希望巩固基础的开发者提供全面的学习资源。以下是对该教程内容的详细概述: 1. **Java简介**:这部分将介绍Java的历史、特点和应用领域,帮助你理解为何Java成为全球...
java学习入门到精通全套电子版资料,跟着学习和理解,方便快速