![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM学习笔记
Visonws
这个作者很懒,什么都没留下…
展开
-
JVM 之 虚拟机工具
1. jps ---- java process statusjps -l 主类全名jps -m 运行传入主类的参数jps -v 虚拟机参数2. jstat 类加载,内存,垃圾收集,jit编译信息、3. jinfo 实时调整和查看虚拟机参数-XX:[+/-]option-XX:option=value4. jmapjmap -dump:formart=b...原创 2019-02-28 20:50:51 · 273 阅读 · 0 评论 -
JVM 之 Java对象
https://www.cnblogs.com/duanxz/p/4967042.html转载 2019-02-24 10:06:43 · 368 阅读 · 0 评论 -
JVM之堆内存分配,方法区的回收 -- 02
文章目录1.内存分配及回收策略1.1 对象优先在Eden分配1.2 大对象直接进入老年代1.3 长期存活的对象将进入老年代1.4 动态对象年龄判定1.5 空间分配担保2.回收方法区2.1主要回收对象2.2 需要注意方法区回收的应用2.3 HotSpot虚拟机的相关调整 JVM的内存模型JMM图形如下: 这里主内存里面的数据就是共享的数据(堆,方法区的数据)。为了保证内存的不断变大撑爆内存...转载 2019-01-20 19:26:48 · 444 阅读 · 0 评论 -
JVM之运行时内存 -- 01
文章目录Java运行时内存1.1 程序计数器1.2 Java虚拟机栈1.3 本地方法栈1.4 Java堆1.5 方法区1.6 运行时常量池1.7 直接内存 Java虚拟机在执行Java程序的时候会把他所管理的内存划分为若干个不同的数据区域,各个区域有各自的用途,以及创建和销毁的时间。有的区域随着虚拟机进程的启动而存在,有的区域则依赖用户线程的启动和结束而创建和销毁。Java运行时内存 Ja...转载 2019-01-20 17:07:23 · 131 阅读 · 0 评论 -
JVM之堆的垃圾回收 -- 03
文章目录一、判断对象是否存活的算法1. 引用计数法2.可达性分析算法二、垃圾收集算法1.标记清除法(Mark-Sweep)2.复制算法3.标记整理算法4.分代收集算法三、引用1.强引用2.软引用3.弱引用4.虚应用介绍: MinorGC :新生代的GC MajorGC :老年代的GC FullGC = MajorGC + MinorGC多个垃圾回收器及算法的目的都是为了 减少F...原创 2019-01-24 22:10:46 · 605 阅读 · 0 评论 -
JVM之内存分配,栈分配与TLAB -- 03
文章目录1.栈上分配1.1 栈上分配如何开启2.TLAB3. 对象内存分配的两种方法3.1 指针碰撞(Serial、ParNew等带Compact过程的收集器)3.2 空闲列表(CMS这种基于Mark-Sweep算法的收集器)4. 内存分配流程图 在学习Java的过程中,一般认为new出来的对象都是被分配在堆上的,其实这个结论不完全正确,因为是大部分new出来的对象被分配在堆上,而不是全部。通...转载 2019-04-21 16:25:47 · 1647 阅读 · 1 评论 -
Java类加载器
目录一、从Java虚拟机的角度来看二、从Java开发人员角度看 1.启动类加载器(Bootstrap ClassLoader) 2.扩展类加载器(Extensions ClassLoader) 3.应用程序类加载器(Application ClassLoader)/系统类加载器 4.自定义类加载器三、类加载器双亲委派模型四、Class.fo...原创 2018-09-01 21:26:12 · 117 阅读 · 0 评论 -
虚拟机类和接口加载过程
一、类加载 1. 类加载的生命周期 类从被加载到JVM中开始,到卸载为止,整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。其中验证+准备+解析统称为连接。如图所示: 另外 加载,验证,准备,初始化,卸载这5个顺序是确定的,类加载过程必须严格按照这种模式加载,而解析阶段则不然:他在某些情况下可以在初始化阶段之后在开...原创 2018-09-01 16:05:11 · 957 阅读 · 0 评论 -
Java虚拟机内存参数设置
堆分配参数总结:-Xms:表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可 -Xmx:表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小。但是开发过程中,通常会将 -Xms 与 -Xmx两个参数的配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源。 一般来...原创 2018-08-28 21:10:23 · 12722 阅读 · 0 评论 -
JVM 之 Class文件
1.文件结构魔数Class文件版本常量池访问标志类索引,父类索引,接口索引集合字段表集合方法表集合属性表集合//文件格式:ClassFile { u4 magic; // 魔法数字,表明当前文件是.class文件,固定0xCAFEBABE u2 minor_version; // 分别为Class文件的副版本和主版本 u2 major_version; u2 con...原创 2019-02-25 21:25:53 · 182 阅读 · 0 评论