JVM
weixin_42956047
这个作者很懒,什么都没留下…
展开
-
Java对象生命周期和类生命周期
Java对象生命周期 对象的整个生命周期大致可以分为7个阶段: 创建阶段(Creation) 应用阶段(Using) 不可视阶段(Invisible) 不可到达阶段(Unreachable) 可收集阶段(Collected) 终结阶段(Finalized) 释放阶段(Free) 创建阶段 一个Java类(除Object类外)至少有一个父类(Object),这个规则既是强制的,也是隐式的。你可能...转载 2020-04-24 23:50:10 · 176 阅读 · 0 评论 -
Java执行过程+JVM内存区域划分+Java对象创建过程(对象两种内存分配方式、内存分配的并发问题)+对象的内存布局
1.Java执行过程 Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀) 然后由JVM中的类加载器加载各个类的字节码文件,加载完毕之后,交由JVM执行引擎执行。 在整个程序执行过程中,JVM会用一段空间来存储程序执行期间需要用到的数据和相关信息,这段空间一般被称作为Runtime Data Area(运行时数据区),也就是我们常说的JVM内存。因此,在J...转载 2020-04-24 16:00:48 · 632 阅读 · 0 评论 -
JVM类加载过程
1.类的加载过程:加载-验证-准备-解析-初始化 2.加载阶段(加载阶段主要做三件事情): (1).通过类的全限名来获取此类的二进制流。 (2).将这个字节流所代表的的今天存储结构转化为方法区中可运行的数据结构。 (3).在内存中生成一个代表这个类的java.lang.Class对象,作为方法区中这个类的各种数据结构的访问入口。 3.验证 为了确保Class文件中的字节流中包含的信息符合当前虚拟机...转载 2020-04-01 17:22:48 · 94 阅读 · 0 评论 -
JVM垃圾收集器
1.Serial收集器(新生代) (1)单线程收集器 (2)采用复制算法,用于新生代垃圾回收 (3)垃圾回收期间需要STW(Stop The World),STW表示垃圾回收线程不与用户线程并发执行 2.Serial Old收集器(老年代) (1)与Serial相似 (2)采用标记整理算法,用于老年代的立即回收 3.ParNew收集器(新生代) (1)是Serial的多线程版本 (2)除此之外与S...转载 2020-04-01 17:13:34 · 76 阅读 · 0 评论 -
JVM垃圾回收的过程
https://www.cnblogs.com/liwangcai/p/10752686.html 垃圾回收的过程分为两步: 1.判断对象是否死亡 (1)引用计数器法: ①每当有一个对象引用是,计数器加一,当计数器为0是对象死亡 ②缺点:无法解决循环引用的问题,假设A引用B,B引用A,那么这两个对象将不会被回收,造成内存泄漏 (2)可达性算法分析 ①通过一系列可作为GC Roots的节点为起始点,...转载 2020-04-01 17:10:04 · 140 阅读 · 0 评论