JVM基础

https://blog.csdn.net/xiaojin21cen/article/details/104267301

运行时数据区
本地方法栈
带native关键字的,说明java的范围处理不了了
native方法进入本地方法栈,然后调用本地方法接口(JNI)
JNI(java native interface):扩展java使用,融合不同的语言为java使用。
程序计数器
每个线程都有一个程序计数器,线程私有
方法区
是 JVM 的规范,所有虚拟机 必须遵守的
所有线程共享。
静态变量、常量、类信息(构造方法,接口定义)、运行时常量池(1.6前)。
永久代(1.6前)去永久代(1.7)
java.lang.OutOfMemoryError: PermGen space
元空间(1.8后)使用 本地内存
栈
八大基本类型、对象引用
堆
新生代(伊甸园(Eden space)99%对象new和死亡的地方 from to )
老年代新生代在多次幸存后进入
永久代(实现方法区,非堆,1.8后去除,变成元空间)
对象 类实例 运行时常量池(1.7后)
双亲委派机制
-
类加载器收到类加载的请求
-
将这个请求向上委托给父加载器去完成,一直向上直到启动类加载器
-
启动加载器检查是否能够加载当前这个类,能加载就结束,使用当前的加载器,否则通知子加载器进行加载
-
重复3
如果都找不到,返回Class Not Found
java调用不到c

浙公网安备 33010602011771号