garbage-collection - 为什么 GarbageCollector 会这样工作?
问题描述
public class Test{
public static void main(String[] args) {
Runtime runtime = Runtime.getRuntime();
System.out.println("total memory before "+runtime.totalMemory());
System.out.println("free memory before "+runtime.freeMemory());
for (int i=0;i < 1_000_000_000;i++){
Date date = new Date();
date=null;
}
System.out.println("total memory after "+runtime.totalMemory());
System.out.println("free memory after "+runtime.freeMemory());
System.gc();
System.out.println("total memory after gc "+runtime.totalMemory());
System.out.println("free memory after gc "+runtime.freeMemory());
}
}
我根据教程视频编写了代码。我的输出结果如下。
1)为什么调用gc()后总内存和空闲内存都大大减少了?2)。为什么教程视频中没有发生这种情况。
解决方案
推荐阅读
- node.js - 当我想用文件缓冲区调用函数时,我必须使用哪种打字稿类型?
- .net - 如何在 AutoCAD 中保持“正交”模式始终处于活动状态
- linux - 如何在程序结束后强制 wineconsole 退出并将 ascii 输出到 linux 终端?
- javascript - 为什么我的 React 组件在 iframe 中的滚动高度为 150px?
- c# - Windows/Linux dotnet core SslStream 差异
- javascript - 如何为每个作者制作 RSS 提要?
- android - 更改 android sdk 使用的 java 二进制文件
- mysql - Mysql 插入时出现未知列错误
- c++ - 值类别:为什么 en.cppreference.com 区分对象和位域?
- java - 如何根据页面旋转角度调整 PDPageContentStream 偏移量?