摘要:
JDK 为我们提供的jvm工具 命令行工具 jps 、jstat、jinfo、jmap、jhat、jstack 可视化工具 JMX、Jconsole、visualvm 生产服务器推荐开启 -XX:-HeapDumpOnOutOfMemoryError 默认关闭,建议开启,在 java.lang.Ou 阅读全文
posted @ 2024-06-15 14:26
vello
阅读(21)
评论(0)
推荐(0)
摘要:
类加载机制 概述 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7 个 阅读全文
posted @ 2024-06-15 14:19
vello
阅读(17)
评论(0)
推荐(0)
摘要:
垃圾回收算法 复制算法(Copying) 将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使 用过的内存空间一次清理掉。这样使得每次都是对整个半区进行内存回收,内存分配时也就不用考虑内存碎片等复杂情况,只要按顺序分配内 阅读全文
posted @ 2024-06-15 14:02
vello
阅读(20)
评论(0)
推荐(0)
摘要:
判断对象的存活 引用计数法 给对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数为 0 的对象可被回收。(Python 在用,但主流虚拟 机没有使用) 优点:快,方便,实现简单。 缺陷:对象相互引用时(A.instance=B 同时 B.instance=A) 阅读全文
posted @ 2024-06-15 13:53
vello
阅读(23)
评论(0)
推荐(0)
摘要:
虚拟机中的对象 对象的分配 虚拟机遇到一条 new 指令时:根据 new 的参数是否能在常量池中定位到一个类的符号引用,如果没有,说明还未定义该类,抛出ClassNotFoundException 1)检查加载 先执行相应的类加载过程。如果没有,则进行类加载 2)分配内存 根据方法区的信息确定为该类 阅读全文
posted @ 2024-06-15 13:44
vello
阅读(21)
评论(0)
推荐(0)
摘要:
一、JVM运行时数据区 JVM运行时数据区是一个抽象概念,主要依赖于寄存器、高速缓存、主内存几个部分组成。 计算机运行 = 指令 + 数据,指令用于执行 方法, 数据 用于指向 存放的数据和对象。 虚拟机栈 用于执行java方法 本地方法栈 执行本地方法(通常时c语言实现的) 程序计数器 用于对 执 阅读全文
posted @ 2024-06-15 10:22
vello
阅读(22)
评论(0)
推荐(0)

浙公网安备 33010602011771号