首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JVM
订阅
ens
更多收藏集
微信扫码分享
微信
新浪微博
QQ
6篇文章 · 0订阅
JVM GC算法
Java通过可达性分析来判定对象是否还被引用。什么是可达性分析呢: 在图上可以看到,从GCRoot开始,蓝色部分的对象都可以被遍历到,儿灰色部分,即使 Object A 可以遍历到 Object B 和Object C,但是却没有了GCRoot 引用,所以就属于不可达的死亡对象…
面向对象基础总结
1. 一个内存对象 2. 多个内存对象 3. 同一个内存对象
Java内存区域总结(堆、栈、方法区等)
1. JVM 运行时数据区 1. 程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。 字节码指令、分支、循…
对象并不一定都是在堆上分配内存的
“随着 JIT 编译器的发展和逃逸分析技术的逐渐成熟,栈上分配、标量替换优化技术将会导致一些微妙的变化,所有的对象分配到堆上也渐渐不那么绝对了”。 在编译期间,JIT 会对代码做很多优化,其中有一部分优化的目的就是减少内存堆分配的压力,其中一项重要的技术叫做逃逸分析。 逃逸分析…
JVM常见参数设置
1. 查看 查看堆的默认值,使用下面的代码。 其中 InitialHeapSize 为最开始的堆的大小,MaxHeapSize 为堆的最大值。 查看栈的默认值, 其中 ThreadStackSize 为栈内存的大小。 2. 堆 -XX:SurvivorRation:设置 Ede…
初识JVM
1. 初识Java 它摆脱了硬件平台的束缚,实现了 “一次编写、到处运行”。 它提供了一个相对安全的内存管理和访问机制,避免了绝大部分的内存泄露和指针越界问题。 它实现了热点代码检测和运行时编译及优化,这使得 Java 应用能随着运行时间的增加而获得更高的性能。 它有一套完整的…