JVM堆内存模型与类加载系统
2021-03-26 19:20:00   0  举报             
     
         
 JVM堆内存模型与类加载系统
    作者其他创作
 大纲/内容
 1、自底向下去检查该类是否已经被加载
  向上检查向下加载
  启动类加载器(BootstartClassloader)
  Class数据结构的存储(类信息)
  STW:Stop The Wold在开始GC线程的时候让用户线程停止
  堆
  类加载子系统
  s0(1/10)
  扩展类加载器(ExtensionClassloader)
  开启GC垃圾收集线程
  执行引擎
  栈
  自定义类加载器
  类加载器
  S0或者S1放不下对象,或者对象的年龄达到了15,就会把对象移到老年代
  堆内存模型
  加载路径:$JAVA_HOME中jre/lib/ext
  本地方法栈
  Eden(伊甸园区)(8/10)
  class文件
  常连池
  Minor GC、Young GC(针对年轻代),当Eden区不够时触发
  系统级别:1、启动类加载器2、扩展类加载器3、系统类加载器(APP类加载器)用户级别:自定义类加载器(继承ClassLoader)
  加载JRE中的jar
  JVM级别
  方法区(元空间)
  s1(1/10)
  Full GC(针对整个堆),永久代空间不足,对重法分配很大的对象的时候触发
  加载路径:$JAVA_HOME中jre/lib/rt.jar
  底层java继承ClassLoader
  2、自顶向下依次加载
  加载路径:classpath下的class以及jar包
  底层使用C++实现
  老年代(2/3)
  Survivor区(幸存者区)
  年轻代(1/3)
  程序计数器
  应用类加载器(AppClassloader)
   
 
 
 
 
  0 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
 