在一个JVM进程中会存在有多个对象实例,如果要想获取所有对象的信息,就可以通过JDK提供的jmap工具完成,另外使用该工具还可以直接获取到指定进程的堆内存使用信息,开发者可以通过jmap --help 命令查看该命令相关的参数。
1、查看JVM进程中的对象信息
导致JVM性能问题的核心一点在于对象过多,每一个对象又无法进行有效的释放的,所以产生了JVM里面的Full GC。
在IDEA中直接运行下述代码:
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
public class YootkJVM {
public static String base = "yootk.com" ; //定义一个基础字符串
public static void main(String[] args) throws Exception {
List<String> all = new ArrayList<>();
for (int x = 0; x< Integer.MAX_VALUE; x++) {
TimeUnit.SECONDS.sleep(5); //休眠5秒
String str = ba