`
wdl123
  • 浏览: 23477 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jvm

    博客分类:
  • java
阅读更多
Java虚拟机Java虚拟机(Java virtual machine,JVM)是运行Jav才程序必不可少的机制。编译后的Java程序指令并不直接在硬件系统的CPIJ上执行,而是由JVM执行。JVM是编译后的Java程序和硬件系统之间的接口,程序员可以把JVM看作一个虚拟的处理器。它不仅解释执行编译后的Java指令,而且还进行安全检查。它是Java程序能在多平台间进行无缝移植的可靠保证,同时也是Java程序的安全检验引擎。
 
  Java虚拟机规范中给出了JVM的定义:JVM是在一台真正的机器上用软件方式实现的一台假想机。JVM使用的代码存储在。class文件中。JVM的某些指令很像真正的CPU指令,包括算术运算、流控制和数组元素访问等。
 
  Java虚拟机规范提供了编译所有Java代码的硬件平台。因为编译是针对假想机的,所以该规范能让Java程序独立于平台。它适用于每个具体的硬件平台,以保证为JVM编译的代码的运行。JVM不但可以用软件实现,而且可以用硬件实现。
 
  JVM的具体实现包括:指令集(等价于CPIJ的指令集)、寄存器组、类文件格式、栈、垃圾收集堆、内存区。
 
  JVM的代码格式为压缩的字节码,因而效率较高。由JVM字节码表示的程序必须保持原来的类型规定。Java主要的类型检查是在编译时由字节码校验器完成的。Java的任何解释器必须能执行符合JVM定义的类文件格式的任何类文件。
网管网bitsCN.com


 
  Java虚拟机规范对运行时数据区域的划分及字节码的优化并不做严格的限制,它们的实现依平台的不同而有所不同。JVM的实现叫做Java运行时系统,简称为运行时。Java运行时必须遵从Java虚拟机规范,这样,Java编译器生成的类文件才可被所有Java运行时系统下载。嵌入了Java运行时系统的应用程序,就可以执行Java程序了。目前有许多操作系统和浏览器都嵌入了Java运行时环境。
 
  Java虚拟机的性能Java在问世之初,因其没有完全优化,并且是解释执行,因此Java程序的运行效率较低。同时,有着较长发展史、已非常成熟的C+十语言仍在开发界扮演着主要角色,人们往往拿C++的性能效率与刚诞生的Java相比较,这当然失之偏颇。
 
  Java解释器经过不断的优化,字节码的执行速度已有很大提高。另外,在字节码执行之前可以先经过JIT编译器(just in time compiler)进行编译,生成针对具体平台的本机执行代码。它的执行效率可比解释执行的效率提高4~8倍。现在许多厂商都提供JlT编译器,这项技术已非常成熟。由于字节码与平台无关,所以经过编泽的Java仍不失跨平台的特点。
 
  Hotspot技术是Sun公司推出的一种全新技术。它提供对代码的运行时选择,为的是从根本上解决Java程序的效率问题。在程序执行时,I{otspot对每个字节码指令进行分析,根据它的执行次数,动态决定它的执行方式。比如,一段指令需要多次重复执行,则立即编译为可执行代码。如果是只执行一次的简单指令,且解释执行的效率更高,则使用解释执行的方式。有了这项技术,Javal的效率问题基本上可以得到解决
分享到:
评论
1 楼 flyerRyan 2012-01-12  
[url][/url]
引用
[u][/u]
[img][/img]

相关推荐

    jdk,jvm源码

    Java虚拟机(JVM)是Java程序运行的核心,它负责解释和执行字节码,为Java应用程序提供了一个跨平台的运行环境。JDK(Java Development Kit)包含了开发和运行Java程序所需的所有工具,包括JVM。当我们谈论"jdk,jvm...

    推荐一些JVM原理,JVM调优,JVM内存模型,JAVA并发 电子书1

    标题中提到了JVM原理、JVM调优、JVM内存模型和JAVA并发,这些都是Java虚拟机(JVM)相关的核心概念。JVM是运行Java字节码的虚拟计算机,为Java提供了一个跨平台的环境,确保Java程序可以在不同的操作系统上运行而...

    SAP JVM 8.1 64 bits

    SAP JVM 8.1 64位是一个专为SAP系统设计的Java虚拟机,它基于Oracle的Java Development Kit (JDK) 进行优化,以满足SAP应用程序的特定需求。SAP JVM旨在提高性能、可靠性和安全性,同时确保与SAP产品的无缝集成。...

    jvm 详细介绍,了解jvm各个组成部分和功能

    ### JVM 详细介绍:掌握 JVM 的各个组成部分与功能 #### 一、Java 源文件编译及执行 Java 应用程序的核心在于源文件的编译与执行。不同于 C/C++ 这类需要针对不同平台进行编译的语言,Java 采用了一种更为灵活的...

    JVM中文指令手册.pdf

    JVM(Java Virtual Machine,Java虚拟机)是运行所有Java程序的假想计算机,是Java程序的运行环境,负责执行指令、管理数据、内存、寄存器等,是实现Java跨平台特性的关键部分。JVM指令手册详细记录了JVM的所有操作...

    深入JVM内核—原理、诊断与优化视频教程-3.常用JVM配置参数

    在Java开发领域,JVM(Java Virtual Machine)是运行所有Java程序的核心,它负责解析字节码并执行程序。深入理解JVM的内核原理、诊断技巧以及优化方法对于提升应用性能至关重要。本教程——“深入JVM内核—原理、...

    JVM必知必会

    ### JVM必知必会知识点梳理 #### 1. JVM的定义与层次 Java虚拟机(JVM)具有多重含义: - **一套规范**:即Java虚拟机规范,定义了Java虚拟机应该具有的行为。 - **一种实现**:例如HotSpot、J9、JRockit,它们都是...

    JVM入门实战/arthas实战/垃圾回收算法/垃圾回收器/jvm内存模型分析

    本系列课程从JVM基础到高级实战,老师手把手教你如何进行JVM调优,思路清晰,没有废话,旨在挑战高薪。 课程亮点: 1、基于阿里arthas进行JVM调优; 2、基于代码排查OOM问题,拒绝空讲; 3、总结JVM通用的调优思路;...

    深入JVM内核—原理、诊断与优化

    《深入JVM内核—原理、诊断与优化》是一份深度探索Java虚拟机(JVM)的视频教程,旨在帮助开发者全面理解JVM的工作机制,掌握性能诊断技巧,并能进行有效的优化。本教程覆盖了从基础到高级的JVM主题,不仅适用于Java...

    监测JVM各项性能指标

    在Java开发领域,JVM(Java Virtual Machine)是运行Java应用程序的关键组件,它负责解析字节码并执行程序。为了确保应用的高效运行和优化,开发者需要了解如何监测JVM的各项性能指标。JVM自带了一些工具,可以帮助...

    R大(国内JVM权威)资料合集

    R大作为国内JVM领域的权威专家,分享了一系列与JVM相关的知识点,涉及高级语言虚拟机的基础概念、重要书籍推荐、编译器设计与优化等多个方面。这些内容不仅对初学者友好,也为专业人士提供了深入理解JVM机制的机会。...

    jvm crash的崩溃日志详细分析及注意点

    JVM(Java Virtual Machine)是Java程序运行的核心组件,它负责解释和执行字节码。然而,当JVM出现严重错误或无法恢复的问题时,它可能会崩溃并生成一个崩溃日志,这通常被称为`hs_err_pid.log`文件。这篇内容将深入...

    jvm指令手册 +JVM必知必会,掌握虚拟机编译过程.rar

    JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台...

    JVM图解-JVM指令-JVM原型图.rar

    在这个压缩包中,"JVM图解.png"可能是对JVM内部结构的可视化表示,"JVM图解"可能是一个详细的文档,解释了JVM的工作原理,而"JVM指令手册 中文版"则提供了JVM可执行的所有指令的详细信息。下面,我们将深入探讨JVM的...

    idea插件JVM内存工具JProfiler11

    5. **JVM配置调整**:JProfiler11还可以提供JVM参数建议,帮助开发者正确设置JVM初始堆大小、最大堆大小、内存池等关键参数,确保应用程序稳定运行。 在实际使用中,JProfiler11的详细报告和可视化界面使得问题定位...

    狂神说JVM探究.rar

    【狂神说JVM探究】是一份集合了多种格式的学习资料,主要涵盖了Java虚拟机(JVM)的基础知识。这份资料出自B站上的【狂神说Java】系列教程,为快速入门JVM提供了详实的笔记。以下是根据这些资源可能包含的一些关键...

    jvm 启动过程 JVM 原理

    Java虚拟机(JVM)是Java程序运行的基础,它是一个抽象的计算机系统,负责执行Java字节码。本文将深入探讨JVM的启动过程及其基本原理。 首先,我们需要理解JVM的基本概念。JVM是Java Virtual Machine的缩写,它是...

    SAP JVM 4.1 64 bits

    SAP JVM 4.1 64位是一个专为SAP系统设计的Java虚拟机,它主要用于运行SAP的应用程序和服务。此版本是为64位操作系统优化的,旨在提供更好的性能和内存管理能力,特别是在处理大数据量和复杂计算场景时。 首先,我们...

    马士兵jvm调优笔记.docx

    ### 马士兵JVM调优笔记知识点梳理 #### 一、Java内存结构 Java程序运行时,其内存被划分为几个不同的区域,包括堆内存(Heap)、方法区(Method Area)、栈(Stack)、程序计数器(Program Counter Register)以及...

    深入JVM内核—原理、诊断与优化视频教程-2.JVM运行机制

    【JVM运行机制详解】 Java虚拟机(JVM)是Java平台的核心组成部分,它负责执行字节码,为Java程序提供跨平台的运行环境。在深入理解JVM内核的运行机制时,我们需要关注以下几个关键点: 1. **类加载机制**:JVM...

Global site tag (gtag.js) - Google Analytics