
JVM
文章平均质量分 66
左五先生
这个作者很懒,什么都没留下…
展开
-
JVM总结
JVMJAVA底层是C语言写的,但是Java,Javac,Jar包中的内容是java代码JVM\3. 对象创建方法,对象的内存分配,对象的访问定位。\5. GC的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?\6. GC收集器有哪些?CMS收集器与G1收集器的特点。\7. Minor GC与Full GC分别在什...原创 2020-04-10 22:36:41 · 313 阅读 · 0 评论 -
JVM - 垃圾回收策略和垃圾收集(GC)器
目录为什么?1.为什么学习垃圾回收机制:2.内存回收关注的对象:判断对象是否还被引用:1.计数算法2.可达性分析方法:垃圾回收算法:1.标记 - 清除算法2.复制算法3.标记 - 整理算法4.分代收集算法垃圾收集器:1.Serial收集器(连续式,穿行GC)2.ParNew收集器(同新式,并行GC)3.Parallel Scavenge收...原创 2018-11-11 21:34:31 · 557 阅读 · 0 评论 -
JVM - 对象
创建:创建一个Java对象的语句十分简单,无非是用一条new语句,然后调用类的构造器。但是一个对象是怎样在虚拟机内部被创建的呢?当虚拟机遇到一条new指令时都做了什么?1.首先检测这个指令的参数是否能在常量池中定位到一个类的符号引用,并检查这个类是否被加载,解析,初始化。如果未加载则先执行加载过程;2.为新生对象分配内存(从堆区划分一块内存);3.虚拟机将分配的内存空间初始化为...原创 2018-11-11 20:46:44 · 270 阅读 · 0 评论 -
JVM - 内存区域
Java虚拟机中内存结构: 总结: 存放的内容 逻辑分区 是否线程共享 栈(VM Stack) 该方法的局部变量表(基本类型、对象引用)、操作数栈、动态链接、方法出口等信息 否 堆(Heap) 对象实例 新生代/老年代 是 方法区Method Area 虚拟机加载的类信息、常量、静态变量、即时编译器...原创 2018-11-11 20:00:24 · 208 阅读 · 0 评论 -
jvm:new时的对象的创建
new 一个对象的时候JVM都做了哪些事情:1、 检查这个指令在常量池中能否定位到一个类的符号引用,并检查这个类是否已经被加载,未加载时,执行类加载,同时初始化类中静态的属性(赋默认值)并执行静态代码块(静态代码块只会在类加载的时候执行一次)2、分配内存空间,同时初始化非静态的属性(赋默认值): 为新生对象分配内存。[指针碰撞]/[空闲列表]分配方式。 ...原创 2019-01-20 10:42:34 · 195 阅读 · 0 评论 -
JVM : 类加载机制
加载—连接(验证—准备—解析)—初始化—使用—卸载加载、验证、准备、初始化和卸载的顺序是确定的,类的加载过程必须按照这种顺序按部就班地开始,而解析阶段则不一定:它在某些情况下可以在初始化阶段之后再开始,为了支持java语言的运行时绑定。这些阶段通常都是互相交叉的混合的使用以下五种情况必须立即对类进行“初始化”(1)遇到new、getstatic、putstatic或invokestat...原创 2019-03-08 14:57:30 · 146 阅读 · 0 评论