JVM
尚凯辉的博客
坚持终身学习!
展开
-
类加载器和类的双亲委托机制详解
文章目录类加载器什么是类加载器类加载器的层次启动类加载器(Bootstrap ClassLoader)扩展类加载器(Extension ClassLoader)应用程序类加载器(Application ClassLoader)类加载的三种方式JVM类加载机制全盘负责父类委托缓存机制双亲委派机制类的双亲委派机制自定义类加载器类加载器什么是类加载器虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的原创 2020-08-27 16:02:05 · 224 阅读 · 0 评论 -
类的加载机制和生命周期详解
文章目录类的加载机制类的生命周期加载:查找并加载类的二进制数据验证:确保被加载的类的正确性准备:为类的静态变量分配内存,并将其初始化为默认值解析:把类中的符号引用转换为直接引用初始化:对类的静态变量,静态代码块执行初始化操作类初始化的步骤**触发类初始化的时机**以下几种情况不会执行类初始化使用卸载类的加载机制Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。类的生命周期类从被加载原创 2020-08-27 16:01:03 · 359 阅读 · 0 评论 -
JVM-内存模型
文章目录程序计数器Java虚拟机栈方法/函数调用方式本地方法栈堆方法区常用参数为什么要将永久代 (PermGen) 替换为元空间 (MetaSpace) 呢?运行时常量池直接内存线程私有的:程序计数器虚拟机栈本地方法栈线程共享的:堆方法区直接内存 (非运行时数据区的一部分)程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释...原创 2019-12-09 10:49:27 · 114 阅读 · 0 评论 -
JVM-垃圾回收机制
文章目录定义垃圾回收机制Java自动内存管理机制堆内存常见分配策略对象优先在 eden 区分配大对象直接进入老年代长期存活的对象将进入老年代动态对象年龄判定MinorGC和FullGC区别如何判断对象已经死亡引用计数法可达性分析算法GC Roots对象不可达的对象并非“非死不可”再谈引用强引用软引用(SoftReference)弱引用(WeakReference)虚引用(PhantomRefere...原创 2019-06-06 17:16:22 · 148 阅读 · 0 评论 -
JVM-垃圾回收算法
文章目录垃圾回收算法标记-清除算法复制算法标记-整理算法分代收集算法分代回收法详解为什么要分两块Survivor区流程详解垃圾回收算法标记-清除算法复制算法标记-整理算法分代收集算法标记-清除算法算法分为“标记”和“清除”阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。它是最基础的收集算法,效率也很高,但是会带来两个明显的问题:效率问题空间问题(...原创 2019-06-06 18:03:03 · 149 阅读 · 0 评论 -
JVM-垃圾回收器
文章目录垃圾收集器Serial收集器Serial Old 收集器ParNew 收集器Parallel Scavenge 收集器 (并行清除) /'pærəlɛl/ /'skævɪndʒ/Parallel Old 收集器CMS 收集器G1 收集器几种收集器对比Serial收集器 VS ParNew收集器Parallel Scavenge收集器 VS CMS等收集器Parallel Scavenge...原创 2019-06-06 18:03:20 · 184 阅读 · 0 评论