`

JAVA虚拟机工作原理 (转)

阅读更多

JAVA虚拟机工作原理  

2009-04-11 21:41:25|  分类: JAVA编程积累 |  标签: |字号 订阅

1.JAVA虚拟机工作原理 - 路飞 - 路飞的博客
 
Java虚拟机处于机器和编译程序之间,在任何平台上都提供给编译程序一个共同的接口。Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。

        Java虚拟机的主要任务是装载class文件并且执行其中的字节码。Java虚拟机包含一个类装载器,它可以从程序和API中装载class文件。字节码由执行引擎来执行,具体过程

 

 Java虚拟机结构

  类装载器的体系结构是Java虚拟机在安全性和网络移动性上发挥重要作用的一个方面,图中所示的类装载器可以包含多个类装载器的子系统, Java应用程序能够在运行时决定需要安装的类,并且将被不同的类装载器装载的类存放在不同的命名空间。

  执行引擎处于Java虚拟机的核心位置,它的行为由指令集所决定,其主要作用就是解释字节码(即运行经过编译后的Java程序的class文件) ,不同的执行引擎实现可能非常不同。由软件实现的虚拟机的执行引擎分为一次性解释字节码、即时编译器和自适应优化器,由硬件芯片构成的虚拟机用本地方法执行Java字节码,它的执行引擎是内嵌在芯片里。

  Java虚拟机相当于一个堆栈计算机,它在指令间传送信息时不使用任何物理寄存器,而使用堆栈的帧来表示方法的状态、字节码的操作对象、方法的参数空间及局部变量的空间,它的“程序计数器”为一个伪寄存器,是当前所执行指令的字节码数组的一个指针。

  Java实现方法

  Java有两种实现方法:Java方法和本地方法。Java方法是由Java 语言编写,编译成字节码,存储在class文件中。本地方法是由其他语言(比如C,C++,或者汇编语言)编写的,编译成和处理器相关的机器代码,保存在动态连接库中,格式是各个平台专有的,它是联系Java程序和底层主机操作系统的连接方法。Java方法与平台无关,但是本地方法却不是,运行中的 Java程序调用本地方法时,虚拟机装载包含这个本地方法的动态库,并调用这个方法。通过本地方法, Java程序可以直接访问底层操作系统的资源,使程序和特定的平台相关,一个本地方法接口——Java本地接口(JNI)使得本地方法可以在特定的主机系统的任何一个Java平台上运行。

分享到:
评论

相关推荐

    Java虚拟机工作原理详解

    Java虚拟机工作原理详解 Java虚拟机工作原理详解是 Java 程序执行的核心组件之一。了解 Java 虚拟机的工作原理对 Java 开发人员来说非常重要。本文将详细介绍 Java 虚拟机工作原理的详细过程和类加载器的工作机理。...

    java虚拟机的详细原理

    ### Java虚拟机的详细原理 #### 一、什么是Java虚拟机 Java虚拟机(Java Virtual Machine,简称JVM)是一种可以执行Java字节码(Bytecode)的虚拟计算机。它为Java程序提供了一个运行环境,使得Java程序可以在任何...

    java虚拟机的原理和作用

    java虚拟机的原理和作用,更深层地了解java程序的运行

    自己动手写Java虚拟机 (Java核心技术系列)@

    Java虚拟机非常复杂,要想真正理解它的工作原理,最好的方式就是自己动手编写一个! 本书是继《深入理解Java虚拟机》之后的又一经典著作,它一方面遵循《Java虚拟机规范》,一方面又独辟蹊径,不仅能让Java虚拟机的...

    JAVA虚拟机工作原理.pptx

    JAVA虚拟机工作原理.pptx

    java虚拟机工作原理

    以下是关于Java虚拟机工作原理的详细解释: 1. Java体系结构: - **程序设计语言**:Java编程语言定义了语法和语义,使得开发者能够编写源代码。 - **字节码文件格式**:Java源代码经过编译后生成的字节码文件,...

    Java运行原理与Java虚拟机.pdf

    ### Java运行原理与Java虚拟机 #### 一、Java运行原理概述 Java作为一种跨平台的编程语言,其独特之处在于它的编译和解释过程。Java程序的执行涉及到两个主要步骤:首先是编译阶段,其次是解释执行阶段。 1. **...

    Java虚拟机规范 Java SE 8版-带目录-pdf

    pdf,本书完整而准确地阐释了Java虚拟机各方面的细节,围绕Java虚拟机整体架构、编译器、class文件格式、加载、链接与初始化、指令集等核心主题对Java虚拟机进行全面而深入的分析,深刻揭示Java虚拟机的工作原理。...

    Java虚拟机实现原理分析.pdf

    Java虚拟机(JVM)是实现Java程序跨平台运行的关键技术,它的实现原理和工作过程是Java语言能够运行在各种不同硬件平台的基础。JVM的存在使得Java程序员可以编写一次代码,到处运行,这得益于JVM提供的一套平台无关...

    Java虚拟机工作原理详解.doc

    Java虚拟机(JVM)是Java编程语言的核心组成部分,它允许开发者编写一次,到处运行的代码。JVM通过软件模拟实现了其自身的硬件环境,包括处理器、堆栈、寄存器等,使得Java程序能够在任何支持JVM的平台上无缝运行。 ...

    揭秘Java虚拟机-JVM设计原理与实现

    《揭秘Java虚拟机-JVM设计原理与实现》这本书深入探讨了Java虚拟机(JVM)的工作原理及其在Java编程中的核心地位。Java虚拟机是Java平台的核心组成部分,它负责执行字节码,为开发者提供了跨平台的运行环境。以下是...

    自己动手写Java虚拟机 kindle 版本

    Java虚拟机非常复杂,要想真正理解它的工作原理,最好的方式就是自己动手编写一个! 本书是继《深入理解Java虚拟机》之后的又一经典著作,它一方面遵循《Java虚拟机规范》,一方面又独辟蹊径,不仅能让Java虚拟机的...

    Java虚拟机规范 JavaSE7

    《Java虚拟机规范(JavaSE7版)》为想要了解Java虚拟机原理的程序员提供了必须的参考资料。它不仅仅是一份文档,更是为了确保不同厂商实现的Java虚拟机能够在统一的外部接口上进行交互和通信的契约。虽然规范中的...

    java虚拟机原理详解1

    一本非常好的详细介绍java虚拟机实现原理及详细介绍的的好书 有兴趣了解JVM底层知识的看看,太大了,分三部分,都下了才能解压

    Java 虚拟机底层原理知识总结 (Java 虚拟机底层原理知识总结) (z-lib.org).mobi

    Java 虚拟机底层原理知识总结 (Java 虚拟机底层原理知识总结) (z-lib.org).mobi

Global site tag (gtag.js) - Google Analytics