JVM
2022-06-16 11:37:49 5 举报
学习类加载器
作者其他创作
大纲/内容
Class File
现在有两个方法 一个main方法一个test()方法main方法中调用了test()
常量池
方法区
本地方法栈Native Method Stack
ClassLoader
栈:栈内存,主管程序的运行,生命周期和线程同步,线程结束,栈内存也就释放对于栈来说不存在垃圾回收的问题,一旦线程结束,栈就结束
因为main方法先启动,所以main方法在栈中的顺序是最底部,而main方法中调用test()方法,所以test方法在main方法上面按照栈中的原则:先进后出,后进先出
对象具体的实例常量
本地方法库
java栈Stack
get Class
Class File:引用
输入输出参数
........
引用
子帧
运行时数据区RuntimeDataArea
方法索引(index)
类加载器Class loader
本地成员变量
程序正在运行的方法一定在栈的顶部
getClassLoader
堆
double
类对象通过getClassLoader得到类加载器
Stu1
程序技术器
栈
类加载器Class Loader
父帧
加载、初始化
方法区Method Area
java的本质是值传递
本地栈
Stu2
JVM
本地方法
Stu3
执行引擎
常量
Stu.class
.java
背景颜色为黄色的是test()红色的为main()
堆Heap
调用了JNI接口 (JavaNativeInterface)
Stu Claas
实例对象通过getClass得到类对象
本地方法接口
通过new得到实例
0 条评论
回复 删除
下一页