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

JVM-基础

    博客分类:
  • JVM
阅读更多

说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:

运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件)。最后字节码被装入内存,一旦字节码进入虚拟机,它就会被解释器解释执行,或者是被即时代码发生器有选择的转换成机器码执行。从上图也可以看出Java平台由Java虚拟机和Java应用程序接口搭建,Java语言则是进入这个平台的通道,用Java语言编写并编译的程序可以运行在这个平台上。这个平台的结构如下图所示:

在Java平台的结构中, 可以看出,Java虚拟机(JVM) 处在核心的位置,是程序与底层操作系统和硬件无关的关键。它的下方是移植接口,移植接口由两部分组成:适配器和Java操作系统, 其中依赖于平台的部分称为适配器;JVM 通过移植接口在具体的平台和操作系统上实现;在JVM 的上方是Java的基本类库和扩展类库以及它们的API, 利用Java API编写的应用程序(application) 和小程序(Java applet) 可以在任何Java平台上运行而无需考虑底层平台, 就是因为有Java虚拟机(JVM)实现了程序与操作系统的分离,从而实现了Java 的平台无关性。

  那么到底什么是Java虚拟机(JVM)呢?通常我们谈论JVM时,我们的意思可能是:

  对JVM规范的的比较抽象的说明;
  对JVM的具体实现;
  在程序运行期间所生成的一个JVM实例。

  对JVM规范的的抽象说明是一些概念的集合,它们已经在书《The Java Virtual Machine Specification》(《Java虚拟机规范》)中被详细地描述了;对JVM的具体实现要么是软件,要么是软件和硬件的组合,它已经被许多生产厂商所实现,并存在于多种平台之上;运行Java程序的任务由JVM的运行期实例单个承担。在本文中我们所讨论的Java虚拟机(JVM)主要针对第三种情况而言。它可以被看成一个想象中的机器,在实际的计算机上通过软件模拟来实现,有自己想象中的硬件,如处理器、堆栈、寄存器等,还有自己相应的指令系统。

  JVM在它的生存周期中有一个明确的任务,那就是运行Java程序,因此当Java程序启动的时候,就产生JVM的一个实例;当程序运行结束的时候,该实例也跟着消失了。下面我们从JVM的体系结构和它的运行过程这两个方面来对它进行比较深入的研究。

分享到:
评论

相关推荐

    基于jvm-sandbox-repeater重新开发的一款流量回放平台产品

    在jvm-sandbox-repeater基础上提供了更加丰富功能,同时便于线上部署和使用,更多对比参考。 使用场景 你是否遇到过以下的问题? 线上有个用户请求一直不成功,我想在测试环境Debug一下,能帮我复现一下吗? 压测...

    weilei-JVM-ppt.rar

    "JAVA进阶高级jav"进一步指出这份资料主要面向已经有一定基础的Java开发者,旨在帮助他们深入理解JVM的工作原理,提升到更高级的Java开发水平。 【压缩包子文件的文件名称列表】"尚宋-硅红-谷康-JVM-ppt"可能是作者...

    jvm-sandbox-repeater:基于JVM-Sandbox的Java服务器端记录和回放解决方案

    是生态体系下的重要模块,它具备了JVM-Sandbox的所有特点,插件式设计便于快速适配各种中间件,封装请求录制/回放基础协议,也提供了通用可扩展的各种丰富API。 目标人群 - 面向测试开发工程师 线上有个用户请求一直...

    jvm-profiler,jvm分析器向kafka、控制台输出或自定义报告器发送度量.zip

    在IT领域,优化Java应用程序的性能是至关重要的,而JVM(Java虚拟机)作为Java程序运行的基础,其内部运作机制的了解和调优对于提升效率至关重要。"jvm-profiler"是一个开源项目,专为Java开发者设计,用于对JVM进行...

    jvm调优测试仓库-jvm-monitor.zip

    一、JVM调优基础 1. 垃圾收集器:JVM的内存管理主要依赖垃圾收集器,不同的收集器有不同的工作策略。例如,新生代的Serial、ParNew和G1,老年代的Parallel Old、CMS和ZGC等。理解这些收集器的工作机制是调优的基础...

    jvm-sandbox demo

    在“jvm-sandbox demo”中,我们将探索这个框架的基础用法和核心功能。** **1. JVM沙箱原理:** JVM沙箱基于Java的类加载机制,通过自定义类加载器来实现对代码的动态加载和控制。它拦截并控制类的加载过程,允许在...

    java-java面试题库整理-基础-JVM-线程并发-框架等.zip

    这份"java-java面试题库整理-基础-JVM-线程并发-框架等.zip"文件提供了一个全面的复习资源,帮助求职者准备Java相关的面试。 1. **Java基础知识** - 类与对象:Java是一种面向对象的语言,了解类的定义、构造器、...

    jvm基础知识与调优-jvm-training.zip

    JVM基础知识与调优是每一个Java开发者都需要掌握的重要技能。这个“jvm-training”资料包涵盖了JVM的核心概念、内存管理、垃圾回收机制、性能优化等方面的知识。 1. **JVM架构** - 类加载器:JVM通过类加载器将....

    jvm-nmt-tracing-master.zip

    Java虚拟机(JVM)是Java程序运行的基础,它负责管理内存、执行字节码以及提供其他关键服务。然而,当涉及到内存管理时,尤其是在大型系统中,理解JVM内部的内存消耗至关重要。Native Memory Tracking(NMT)是Java...

    用于测试jvm gc调优-share-jvm-gc.zip

    Java虚拟机(JVM)是Java程序运行的基础,它的垃圾收集器(GC)是自动管理内存的核心机制。在Java应用程序中,尤其是对于大型系统或高并发环境,进行JVM GC调优是提升性能、减少系统停顿时间的关键步骤。"用于测试...

    JVM调优的测试项目-JVM-subject.zip

    理解这些区域的用途和相互关系是调优的基础。 2. **GC(Garbage Collection)机制**:JVM自动进行垃圾回收,包括新生代GC(Minor GC)、老年代GC(Major GC)和全堆GC(Full GC)。了解不同GC算法(如Serial、...

    jvm-full-gc.zip

    Java虚拟机(JVM)是Java程序运行的基础,它的全称是Java Virtual Machine。在Java应用程序执行过程中,JVM负责管理内存,包括对象的分配、垃圾回收等关键任务。"jvm-full-gc.zip"这个压缩包很可能包含了关于JVM全GC...

    java-JVM-面试题从基础到高级详解-HM

    一、JVM基础 1. **JVM架构**:JVM主要包括类加载器、运行时数据区、执行引擎、本地方法接口和本地库。其中,运行时数据区包括堆、方法区、虚拟机栈、程序计数器和本地方法栈。 2. **类加载机制**:JVM通过装载、...

    JVM--字节码和类的加载篇1

    在Java的Class文件中,数据类型扮演着基础的角色。描述符是用来表示各种数据类型的,包括基本数据类型如byte、char和double等。这些数据类型在字节码中有着特定的表示方式。例如,无符号数(u1、u2、u4、u8)用于...

    pact-jvm-model_2.10-2.1.2.zip

    《Pact JVM Model与Gradle Error Prone Plugin的深度解析》 在当今的软件开发领域,测试和构建工具的重要性...这两个工具的协同工作,不仅提升了代码的可靠性,也加强了团队间的沟通,为持续交付提供了坚实的基础。

    JVM基础-超清文字版.pdf

    本资料《JVM基础-超清文字版.pdf》将深入探讨JVM的基础知识,包括其架构、内存模型、类加载机制以及性能优化等方面。 1. **JVM架构** - 类装载器:负责加载类文件到JVM中,分为引导类加载器、扩展类加载器和应用类...

    框架->java语言->jvm->os->汇编->硬件

    1. **框架**:框架是开发者在特定编程语言中编写软件的一种结构化方法,它提供了基础结构和约定,帮助快速构建应用程序。Java领域常见的框架有Spring、MyBatis等,它们简化了开发流程,提高了代码复用性和可维护性。...

    jvm -spark-优化

    与此同时,Java虚拟机(JVM)作为Spark运行的基础平台,在提升Spark性能方面扮演着关键角色。本文旨在探讨JVM与Spark之间的紧密联系,以及如何通过优化JVM来提高Spark的工作效率。 #### 什么是JVM? JVM(Java ...

    java-JVM-面试题

    Java JVM(Java虚拟机)是Java程序运行...以上只是JVM面试中的一些基础知识点,实际面试可能涉及更多细节,如内存分配策略、垃圾收集算法、性能调优等。理解JVM的工作原理对于解决性能问题和优化Java应用程序至关重要。

Global site tag (gtag.js) - Google Analytics