`
ccr1988
  • 浏览: 35318 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jvm解析三(JVM规范<上>)

阅读更多
    Java虚拟机可以看做是一台抽象的计算机,跟其他计算机类似有自己的指令集合以及各种运行时内存区域。简单的讲它的作用就是:正确的读取Class文件中的每一条指令,并且能够正确的执行这些指令所蕴含的操作即可。
一:JVM结构图

主要包括两个子系统和两个组件: Class loader(类装载器) 子系统,Execution engine(执行引擎) 子系统;Runtime data area (运行时数据区域)组件, Native interface(本地接口)组件。
     Class loader子系统的作用 :根据给定的全限定名类名(如 java.lang.Object)来装载class文件的内容到 Runtime data area中的method area(方法区域)。Javsa程序员可以extends java.lang.ClassLoader类来写自己的Class loader。
     Execution engine子系统的作用 :执行classes中的指令。任何JVM specification实现(JDK)的核心是Execution engine, 换句话说:Sun 的JDK 和IBM的JDK好坏主要取决于他们各自实现的Execution  engine的好坏。每个运行中的线程都有一个Execution engine的实例。
     Native interface组件 :与native libraries交互,是其它编程语言交互的接口。
     Runtime data area 组件:这个组件就是JVM中的内存。
Runtime data area 主要包括五个部分:Heap (堆), Method Area(方法区域), Java Stack(java的栈), Program Counter(程序计数器), Native method stack(本地方法栈)。Heap 和Method Area是被所有线程的共享使用的;而Java stack, Program counter 和Native method stack是以线程为粒度的,每个线程独自拥有。
二:数据类型 
  与Java程序语言一样jvm有自己的数据类型,主要分为2类:原始类和引用类,但是定义存储方式跟java有些区别,所有的操作必须按照jvm规范的指令进行,具体的分析看下图


  • 大小: 37.2 KB
  • 大小: 61.3 KB
0
1
分享到:
评论

相关推荐

    JAVA虚拟机(JVM)规范(中文版).rar

    JVM规范定义了Java程序如何在特定系统上被加载、解析、执行以及内存管理的一系列规则。 ### JVM架构 JVM主要由以下几个组件构成: 1. **类装载器(ClassLoader)**:负责查找和加载类文件到JVM内存中。 2. **运行...

    Java语言规范和JVM规范官网文档

    Java语言规范和JVM规范是理解Java编程基础和高级特性的关键参考资料,它们定义了Java程序的语法、语义以及虚拟机的行为。本压缩包包含了Java6至Java9的版本,涵盖了一系列重要的语言和虚拟机改进,对于Java开发者来...

    JAVA8虚拟机(jvm)规范_Chinese version.rar

    3. **类加载机制**:JVM遵循"加载(Loading)"、"验证(Verification)"、"准备(Preparation)"、"解析(Resolution)"和"初始化(Initialization)"的五步流程来加载类。双亲委派模型是类加载的一种策略,保证了类...

    jvm8虚拟机规范

    《JVM8虚拟机规范》深入解析 Java虚拟机(JVM)是Java程序的核心运行环境,它负责解析和执行Java字节码,为开发者提供了跨平台的运行支持。JVM8是Java 8版本的虚拟机规范,包含了对内存布局、数据类型、类文件格式...

    jvm解析编译过的class文件

    总的来说,JVM解析编译过的class文件是一个复杂的过程,涉及众多细节。开发者不仅要理解编译过程,还需要熟悉JVM的内部机制,才能更好地驾驭这个强大的平台。通过阅读相关博文,如给定的链接,可以进一步深入了解...

    Java语言规范和JVM虚拟机规范.zip

    Java语言规范和JVM虚拟机规范是理解Java编程基础及其执行机制的核心文档,它们由Oracle官方发布,确保了Java开发的准确性和一致性。本压缩包包含的文件详细阐述了Java编程语言的各个方面以及Java虚拟机(JVM)的工作...

    Java学习题答案

    (20分)&lt;br&gt;本题三个答题点:&lt;br&gt;a: 两种形式 dtd,schema&lt;br&gt;b: 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的&lt;br&gt;根本目的)&lt;br&gt;c: 两种主要方式:dom,sax.答出两种得全分,如能答出saxt,...

    JVM规范与深入理解

    《JVM规范与深入理解》这个主题涵盖了Java虚拟机(Java Virtual Machine)的全面解析,旨在帮助开发者深入了解JVM的工作原理及其对程序性能的影响。在这个主题中,我们主要关注两个核心资源:周志明的《深入理解Java...

    jvm虚拟机规范 pdf 经典

    详细介绍了jvm虚拟机规范,很好 第一章引言 第二章 java概念 第三章 java虚拟机结构 第四章 class文件格式 第五章 常熟池解析 第六章 java虚拟机指令集 第七章 为java虚拟机编译 第八章 线程和锁 第九章 优化 第十章...

    jbmp4.0 相关的几个包

    &lt;groupId&gt;de.odysseus.juel&lt;/groupId&gt; &lt;artifactId&gt;juel-api&lt;/artifactId&gt; &lt;version&gt;2.2.7&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;de.odysseus.juel&lt;/groupId&gt; &lt;artifactId&gt;juel-impl&lt;/artifactId&gt; ...

    JVM 完整深入解析.pdf

    方法区是JVM规范中的一部分,不同虚拟机实现时方法区的具体内容和管理方式可能会有所不同。 #### 运行时常量池 运行时常量池是方法区的一部分,它存放编译期生成的各种字面量和符号引用,并在类加载后被存放至方法...

    jvm 启动过程 JVM 原理

    5. **初始化**:最后,JVM执行类的初始化方法(&lt;clinit&gt;),这包括静态变量的初始化和静态代码块的执行。当且仅当类被首次主动使用时,才会进行初始化。 6. **执行**:一旦主类完成初始化,JVM的执行引擎开始运行...

    JVM调优篇.pdf

    实际上变量v在准备阶段过后的初始值为0而不是8080,将v赋值为8080的putstatic指令是程序被编译后,存放于类构造器&lt;client&gt;方法之中。但是注意如果声明为:public static final int v = 8080;在编译阶段会为v生成...

    JVM深入解析(JVM specification 和Sun的JVM的内存机制)

    - JVM规范定义了不同的内存区域,包括程序计数器、Java虚拟机栈、本地方法栈、堆和方法区(在Java 8之后变为元空间)。 - Java虚拟机栈:每个线程都有一个独立的栈,用于存储方法调用的状态,包括局部变量、操作数...

    JVM必知必会

    - **类文件解析**:JVM将类文件中的字节码转换成计算机能够理解的指令执行。 #### 10. 常用工具 - **VisualVM**:是一个可以监控运行时的Java应用程序和环境的工具。 - **Memory Analyzer**:用于分析Java堆转储的...

    jvm 启动过程

    这意味着无论是在何种操作系统或硬件架构上,只要遵循了JVM规范,Java程序的执行结果将是相同的。 JVM的设计允许其在32位地址空间的机器上运行,但也可以通过适当的转换机制使其适应64位架构。这种设计上的灵活性和...

    JVM之用Java解析class文件共10页.pdf.zi

    4. 解析:JVM解析类中的符号引用,将其转换为直接引用。这涉及类、接口、字段和方法的引用。 5. 初始化:最后,JVM执行类的初始化方法(&lt;clinit&gt;),对静态变量进行显式初始化。 用Java解析class文件,意味着我们...

    慢慢琢磨jvm 经典

    ### 深入解析JVM:Java虚拟机的精髓与挑战 #### JVM概览与重要性 JVM,即Java Virtual Machine(Java虚拟机),是Java程序员必须掌握的核心技术之一。初学者通常从简单的“HelloWorld”程序开始,逐渐接触更复杂的...

    JVM 原理及工作机制

    开发者根据这个规格来实现JVM,确保Java程序可以在任何遵循JVM规范的环境中正确运行。 5. **JVM的工作流程** - **类加载**:JVM负责查找并加载类文件,验证类的结构是否符合Java语法规则和安全约束。 - **字节码...

Global site tag (gtag.js) - Google Analytics