JVM
2021-08-11 11:45:32 6 举报
JVM类加载,分区等
作者其他创作
大纲/内容
CatalinaClassLoaderCatalina类加载器
元空间Metaspace(逻辑上属于堆,实际上是直接内存,非堆)
a=1name=\"abc\"
Class Loader
Test.classaname
程序计数器/PC寄存器Program Counter Register
car2
向上委托
栈
catalina.sh中指定的启动类
……
局部变量表
ExtClassLoader(ExtentionClassLoader)拓展类加载器
实例化new
幸存者区0区
堆
JasperClassLoaderJsp类加载器
栈帧
本地方法栈Native Method Stack
car3
操作数栈
加载Tomcat通用类$CATALINA_HOME/lib
加载JRE\\lib\t.jar
FullGC
加载JRE\\lib\\ext\\*.jar
ApplicationClassLoader应用程序加载器
CLASSPATH指定的所有jar或目录
方法区
老年区
car1
BootstrapClassLoader启动类(根)加载器
加载
WebAppClassLoaderWebApp类加载器
执行引擎Execution Engine
运行时常量池
Java本地方法接口Java Native Interface作用:拓展Java的使用,融合不同编程语言为Java使用
堆Heap Area
JVM
Eden伊甸园区
虚拟机栈Java栈Stack Area
Car Class
\"a\"
本地方法库
父类加载失败交由子加载器自己处理
SharedClassLoaderShared类加载器
Car的实例
test10x0001动态链接
运行时数据区(Running Data Area)
初始化
类信息
返回地址
方法区在jdk8后位于元空间
CommonClassLoaderCommon类加载器
新生区:MinorGC主要发生地
Java -> class文件 -> 类加载器Class Loader -> 链接(验证->准备->解析) ->初始化
Car.class
WEB-INF/classesWEB-INF/lib
getClass
getClassLoader
0x00001
方法区Method Area
幸存者区1区
0 条评论
下一页