当程序通过JNI(Java Native Interface)调用本地方法(如C或者C++代码)时,就根据本地方法的语言类型建立相应的栈 。
5. 方法区域
方法区域是一个JVM实例中的所有线程共享的,当启动一个JVM实例时,方法区域被创建 。它用于存运行放常量池、有关域和方法的信息、静态变量、类和方法的字节码 。不同的JVM实现方式在实现方法区域的时候会有所区别 。Oracle的HotSpot称之为永久区域(Permanent Area)或者永久代(Permanent Generation) 。
6. 运行常量池
这个区域存放类和接口的常量,除此之外,它还存放方法和域的所有引用 。当一个方法或者域被引用的时候,JVM就通过运行常量池中的这些引用来查找方法和域在内存中的的实际地址 。
7. 堆(Heap)
堆中存放的是程序创建的对象或者实例 。这个区域对JVM的性能影响很大 。垃圾回收机制处理的正是这一块内存区域 。
所以,类加载器加载其实就是根据编译后的Class文件,将java字节码载入JVM内存,并完成对运行数据处于的初始化工作,供执行引擎执行 。
三、 执行引擎(Execution Engine)类加载器将字节码载入内存之后,执行引擎以Java 字节码指令为但愿,读取Java字节码 。问题是,现在的java字节码机器是读不懂的,因此还必须想办法将字节码转化成平台相关的机器码 。这个过程可以由解释器来执行,也可以有即时编译器(JIT Compiler)来完成 。
推荐阅读
- 12个提高 JavaScript 技能的概念
- Java 实现6种负载均衡算法
- 曾华倩|56岁香港女星公开发文渴求内地的工作:我还有几分姿色,请我吧!
- 抖音客服的工作靠谱么 抖音售后客服是干嘛的
- 四个最佳实践,引导你写出高质量JavaScript模块
- Java 字符串格式化 Formatter
- 什么是以太网交换机?以太网交换机的工作原理详解!
- 迪奥|赵本山儿子自称不是啃老族,已开多家健身减肥工作室,闷声发大财
- 惠普|惠普战99移动工作站开卖:12代i9+专业显卡顶配23399元
- 快手小店商品讲解功能 快手小店客服工作内容
