
JVM学习
文章平均质量分 88
JVM学习之路
锋子不疯
1.勤能补拙,勤俭立业。
2.效率是做好工作的灵魂。
3.最困难之时,就是离成功不远之日。
4.既然选择远方,便不顾风雨兼程。
展开
-
JVM之类加载过程及类加载器
深入理解Java虚拟机第七章一、类加载的生命周期(加载过程)二、类加载器2.1、类与类加载器2.2、双亲委派模型 一、类加载的生命周期(加载过程) 加载 a)通过一个类的全限定名来获取定义此类的二进制字节流。 b) 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。 c) 在内存中生成一个代表这个类的java.lang.Class对象, 作为方法区这个类的各种数据的访问入口。 验证:这一阶段用于确保Class文件的字节流中包含的信息符合《Java虚拟机规范》的全部约束要求,保证这些信息被当原创 2020-11-13 11:20:39 · 303 阅读 · 0 评论 -
JVM_诊断工具使用及实战_JVM学习(三)
诊断工具学习一、常用命令二、可视化故障处理工具 一、常用命令 jps:进程状况工具 项 作用 jps -q 只输出LVMID jps -m 输出虚拟机进程启动时传递给主类main()函数的参数 jps -l 输出主类的全名,如果进程执行的是jar包,则输出jar路径 jps -v 输出虚拟机进程启动时的JVM参数 jstat:虚拟机统计信息监视工具 如: 打印gc进程数为15084时间间隔250毫秒,总共打印20次命令如下: jstat -gc 15084 25原创 2020-07-15 09:38:48 · 242 阅读 · 0 评论 -
JVM_日志_内存分配与回收策略_JVM学习(二)
GC Log常用命令 1)查看GC基本信息 ** 在JDK 9之前使*用-XX: +PrintGC***, JDK 9 后使用***-Xlog: gc*** 2)查看GC详细信息 ** JDK 9之前使用 -XX: +PrintGCDetails, 在JDK 9之后使用*-X-log: gc**** 3)查看GC前后的堆、 方法区可用容量变化 ** JDK 9之前使用*-XX: +PrintHeapAtGC***, JDK 9之后使用 -Xlog: gc+heap=debug 4)查看GC过程中用户线程并发原创 2020-06-03 11:30:16 · 229 阅读 · 0 评论 -
JVM_概念_回收算法_JVM学习笔记(一)
JVM内存管理一、运行时数据区域二、JVM 垃圾收集算法 一、运行时数据区域 程序计数器 记录当前线程执行到字节码的行号,各个线程之间相互独立,程序的分支、循环、跳转、异常处理、线程恢复(中断后唤醒)等基础功能都依赖于程序计数器完成。 Java 虚拟机栈 线程私有,每个方法被执行的时候,都会创建一个栈帧(局部变量表、操作数栈、动态连接、方法出口) 本地方法栈 为虚拟机使用到的本地方法服务 JAVA堆 JAVA堆是所有线程共享的内存区域,除了栈上分配是在栈上分配空间,几乎所有对象的实例都存原创 2020-07-01 11:42:13 · 258 阅读 · 0 评论