
JVM
文章平均质量分 89
jvm虚拟机专栏,启动应用,应用调优
步道师就是我
10年大龄码农
展开
-
jvm专题系列-6、类装载器
一、class装载验证流程加载链接验证准备解析初始化1.1 加载装载类的第一个阶段取得类的二进制流转为方法区数据结构在Java堆中生成对应的java.lang.Class对象1.2 链接 -> 验证目的:保证Class流的格式是正确的文件格式的验证是否以0xCAFEBABE开头版本号是否合理元数据验证是否有父类继承了final类?非抽象类实现了所有的抽象方法...原创 2021-12-22 17:10:18 · 738 阅读 · 0 评论 -
jvm专题系列-5、GC参数
一、堆的回顾二、串行收集器最古老,最稳定效率高可能会产生较长的停顿-XX:+UseSerialGC 新生代、老年代使用串行回收 新生代复制算法 老年代标记-压缩图2,暂略0.844: [GC 0.844: [DefNew: 17472K->2176K(19648K), 0.0188339 secs] 17472K->2375K(63360K), 0.0189186 secs] [Times: user=0.01 sys=0.00.原创 2021-12-21 14:59:51 · 168 阅读 · 0 评论 -
jvm专题系列-4、GC算法与种类
一、GC的概念 Garbage Collection 垃圾收集 1960年 List 使用了GC Java中,GC的对象是堆空间和永久区 二、GC算法2.1 引用计数法老牌垃圾回收算法引用计数器的实现很简单。 对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1 当引用失效时,引用计数器就减1。 只要对象A的引用计数器的值为0,则对象A就不可能再被使用存在问题 引用和去引用伴随加法和减法,影响性能 很难处理循环原创 2021-12-20 10:56:07 · 154 阅读 · 0 评论 -
jvm专题系列-3、常用jvm配置参数(附9个真实案例分析)
一、Trace跟踪参数1、-verbose:gc2、-XX:+printGC 可以打印GC的简要信息 [GC 4790K->374K(15872K), 0.0001606 secs] [GC 4790K->374K(15872K), 0.0001474 secs] [GC 4790K->374K(15872K), 0.0001563 secs] [GC 4790K->374K(15872K), 0.0001682 secs]3、-XX...原创 2021-12-07 14:15:44 · 696 阅读 · 0 评论 -
jvm专题系列-2、jvm运行机制
一、JVM启动流程二、JVM基本结构2.1 PC寄存器每个线程拥有一个PC寄存器在线程创建时创建指向下一条指令的地址执行本地方法时,PC的值为undefined2.2 方法区保存装载的类信息类型的常量池字段,方法信息方法字节码通常和永久区(Perm)关联在一起JDK6时,String等常量信息置于方法 JDK7时,已经移动到了堆2.3 Java堆 和程序开发密切相关 应用系...原创 2021-12-06 11:50:19 · 110 阅读 · 0 评论 -
jvm专题系列-1、初识jvm
一、JVM的概念JVM是Java Virtual Machine的简称。意为Java虚拟机虚拟机 指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统 有哪些虚拟机 VMWare Visual Box JVMVMWare或者Visual Box都是使用软件模拟物理CPU的指令集JVM使用软件模拟Java字节码的指令集二、JVM发展历史1996年 SUN JDK 1.0 Classic VM 纯解释运行,原创 2021-12-06 10:43:49 · 142 阅读 · 0 评论