JVM基础

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

运行时数据区

本地方法栈

带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后)

双亲委派机制

  1. 类加载器收到类加载的请求

  2. 将这个请求向上委托给父加载器去完成,一直向上直到启动类加载器

  3. 启动加载器检查是否能够加载当前这个类,能加载就结束,使用当前的加载器,否则通知子加载器进行加载

  4. 重复3

    如果都找不到,返回Class Not Found

    java调用不到c

posted @ 2021-03-25 23:55  Hy·  阅读(59)  评论(0)    收藏  举报