禁用显式回收的影响其实在正常情况下我们的显式回收是不被允许开启的,因为可能会导致我们的部分信息损失:
package cn.itcast.jvm.t1.direct;import java.io.IOException;import java.nio.ByteBuffer;/** * 禁用显式回收对直接内存的影响 */public class Demo1_26 {static int _1Gb = 1024 * 1024 * 1024;/** -XX:+DisableExplicitGC 禁止显式回收配置*/public static void main(String[] args) throws IOException {ByteBuffer byteBuffer = ByteBuffer.allocateDirect(_1Gb);System.out.println("分配完毕...");System.in.read();System.out.println("开始释放...");byteBuffer = null;System.gc(); // 显式的垃圾回收 , Full GC 这时这个操作是无效的System.in.read();// 那么直接内存只能等到系统内存满了之后自动调用被动垃圾回收,但那样直接内存会占用大量空间// 但是我们又希望清除掉这个直接内存 , 那么我们这时就只能手动采用unsafe的方法了,这里就不做代码展示了~// unsafe.freeMemory(address);}}
结束语到这里我们JVM的内存结构篇就结束了,希望能为你带来帮助~
附录该文章属于学习内容,具体参考B站黑马程序员满老师的JVM完整教程
这里附上视频链接:01_什么是jvm_哔哩哔哩_bilibili
推荐阅读
- 【lwip】08-ARP协议一图笔记及源码实现
- 小米笔记本Pro15增强版评测_小米笔记本Pro15增强版评测表现
- 用一台笔记本电脑如何赚钱(笔记本电脑赚钱的办法)
- 四 【单片机入门】应用层软件开发的单片机学习之路-----ESP32开发板PWM控制电机以及中断的使用
- 笔记本电脑CF中烟雾头怎么调(win10cf新版本烟雾保护头怎么调)
- 笔记本电脑配置高低怎么区分(笔记本电脑看什么配置判断好坏)
- pytorch、paddlepaddle等环境搭建 深度学习环境搭建常用网址、conda/pip命令行整理
- 三十九 Java开发学习----SpringBoot整合mybatis
- Nacos基本学习
- 数据科学学习手札146 geopandas中拓扑非法问题的发现、诊断与修复