精华内容
下载资源
问答
  • 请说明一下JAVA虚拟机作用什么?

    千次阅读 2019-07-30 21:27:37
    Java虚拟机能够将class字节码解释成可执行的机器码。Java与平台无关其实是Java字节码与平台无关,Java源文件被编译成class字节码文件,class字节码在Java虚拟机中被解释成机器码,所以在不同的平台,只要有Java环境...

    Java虚拟机能够将class字节码解释成可执行的机器码。Java与平台无关其实是Java字节码与平台无关,Java源文件被编译成class字节码文件,class字节码在Java虚拟机中被解释成机器码,所以在不同的平台,只要有Java环境,那么就可以把字节码解释成对应平台的机器码,即Java被称作“与平台无关的编程语言”;

    展开全文
  • Java虚拟机规范Java8版

    2018-06-08 15:43:08
    《Java核心技术系列:Java虚拟机规范(Java SE 8版)》由Oracle官方发布,Java虚拟机技术创建人撰写,国内资深Java技术专家翻译。书中基于全新Java SE 8,完整且准确地阐述Java虚拟机规范,是深度了解Java虚拟机和...
  • java虚拟机

    2017-07-07 09:55:46
    java虚拟机第二版
  • 深入Java虚拟机清晰版

    2018-07-18 18:21:41
    作者以易于理解的方式深入揭示了Java虚拟机的内部工作原理,深入理解这些内容,将对读者更快速地编写更高效的程序大有裨益! 本书共分20章,第1-4章解释了Java虚拟机的体系结构,包括Java栈、堆、方法区、执行引擎...
  • JAVA虚拟机精讲

    千次下载 热门讨论 2015-12-31 09:37:42
    Java虚拟机精讲》以极其精练的语句诠释了HotSpot VM 的方方面面,比如:字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法...
  • 深入Java虚拟机pdf

    2019-03-03 10:03:19
    高清版的深入Java虚拟机,免费奉献给大家
  • Java虚拟机规范 Java SE 8版.pdfJava虚拟机规范 Java SE 8版.pdfJava虚拟机规范 Java SE 8版.pdfJava虚拟机规范 Java SE 8版.pdfJava虚拟机规范 Java SE 8版.pdf
  • JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 Java虚拟机包括一套字节码指令集、一组寄存器...

    JVM简介

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

    Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域

    JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码 (字节码),就可以在多种平台上不加修改地运行。

    JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。

    JVM是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。

    JVM作用

    Java中的所有类,必须被装载到JVM中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中

    JVM对中央处理器(CPU)所执行的一种软件操作,用于执行编译过的Java程序码(Applet与应用程序)。

    JVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。*(也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。)

    当然只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。

    JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行

    JVM特性

    • 移植性
      实际上,由于Java和OpenJDK项目的开源,我们正在看到越来越多的平台的衍生,因此JVM的移植性也将越来越棒。
    • 成熟
      JVM已有超过15年的历史,在过去的这些年里,许多开发者为它做出了许多贡献,使得它的性能一次又一次地提升,让JVM变得更加稳定、快速和广泛。
    • 覆盖面
      VM已不再是Java一个人定制规则。JVM正在构建成为类如JRuby等项目的优良平台。
    展开全文
  • Java虚拟机规范jdk8版

    2018-12-24 14:36:28
    Java虚拟机规范(Java SE 8版)英文版》全面而准确地阐释了Java虚拟机各方面的细节,围绕Java虚拟机整体架构、编译器、class文件格式、加载、链接与初始化、指令集等核心主题对Java虚拟机进行全面而深入的分析,...
  • 《实战Java虚拟机——JVM故障诊断与性能优化》内容简介:随着越来越多的第三方语言(Groovy、Scala、JRuby等)在Java虚拟机上运行,Java也俨然成为一个充满活力的生态圈。本书将通过200余示例详细介绍Java虚拟机中的...
  • java虚拟机常用命令

    2018-07-05 12:12:38
    java虚拟机常用命令工具java虚拟机常用命令java虚拟机常用命令
  • java虚拟机什么

    万次阅读 多人点赞 2019-02-19 14:33:25
    一、java虚拟机定义: 虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与...

    一、java虚拟机定义:

    虚拟机是一种抽象化的计算机通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

    所谓的java虚拟机,就是一台虚拟的机器。它是一款软件,用来执行一系列虚拟计算机指令,大体上虚拟机可以分为系统虚拟机和程序虚拟机。visual Box、VMare就属于系统虚拟机。他们完全是对物理计算机的仿真,提供一个可运行完整操作系统的软件平台。而java虚拟机就是典型程序虚拟机,它专门为执行单个计算机程序而设计,在java虚拟机中执行的指令我们称之为java字节码指令。java发展到今天,出现了很多虚拟机,最初sun使用的叫Classic的java虚拟机,到现在使用最广泛的是HotSpot虚拟机,除了sun以外还有BEA的JRockit,目前JRockit和HotSpot都被甲骨文公司收入旗下,大有整合的趋势。

     

    二、java虚拟机的基本结构

     

    1、类加载子系统:负责从文件系统或者网络中加载class信息,加载的信息放在一起称之为方法去的内存空间。 
    2、方法区:就是存放类信息、常量信息、常量池信息、字符串字面量和数字常量等。 
    3、java堆:在java虚拟机启动的时候建立java堆,它是java程序最主要的内存工作区域,几乎所有的对象实例都存放在java堆中,堆空间是所有线程共享的。 
    4、直接内存:java的NIO库允许java程序使用直接内存,从而提高性能,通常直接内存速度会优于java堆。读写频繁的场合可能会考虑使用。 
    5、java栈:每个虚拟机线程都有一个私有的栈,一个线程的java栈在线程创建的时候被创建,java栈中保存着局部变量、方法参数、还有java的调用方法和返回值等。 
    6、本地方法栈:与java栈很类似,最大不同是本地方法栈用于本地方法调用。java虚拟机允许java直接调用本地方法(通常本地方法为C语言编写) 
    7、垃圾回收系统:是java的核心,也是必不可少的,java有一套自己进行垃圾清理的机制,开发者无需手动清理。 
    8、PC寄存器:是每个线程私有的空间,java虚拟机会为每个线程创建PC寄存器,在任意时刻,一个java线程总是在执行一个方法,这个方法被称为当前方法,如果当前方法不是本地方法,PC寄存器就会执行当前正在被执行的指令,如果是本地方法,则PC寄存器的值为undefined。寄存器存放如当前执行环境指针、程序计数器、操作栈指针、计算的变量指针等信息。 
    9、执行引擎:虚拟机最核心的就是执行引擎了,它负责执行虚拟机的字节码。一般用户先编译成机器码后执行。

     

    展开全文
  • Java虚拟机规范-(Java SE 8版) Java虚拟机规范-(Java SE 8版) Java虚拟机规范-(Java SE 8版)
  • Java虚拟机规范(Java SE 7版)》是Java领域最重要和最权威的著作之一,由Oracle官方发布,基于Java SE 7,对最新的Java虚拟机规范进行了完整且详细的讲解,是深度了解Java虚拟机实现细节的必读之作。由国内几位资深...
  • 实战JAVA虚拟机

    2018-11-23 21:16:46
    《实战Java虚拟机——JVM故障诊断与性能优化》将通过200余示例详细介绍Java虚拟机中的各种参数配置、故障排查、性能监控以及性能优化。, 《实战Java虚拟机——JVM故障诊断与性能优化》共11章。第1~3章介绍了Java...
  • 深入理解Java虚拟机,啥也不说了,有点底子的人才能看的懂。最重要的是,非扫描版的!非扫描版的!非扫描版的!网上根本找不到!
  • Java虚拟机规范,Java SE 7版, 中文高清版 Java虚拟机规范,Java SE 7版, 中文高清版
  • Java核心技术系列:Java虚拟机规范(Java SE 8版)》由Oracle官方发布,Java虚拟机技术创建人撰写,国内资深Java技术专家翻译。书中基于全新Java SE 8,完整且准确地阐述Java虚拟机规范,是深度了解Java虚拟机和Java...
  • 讲述java虚拟机 唯二的书。本书作者曾因本书荣获专业技术杂志《Java Report》评选的优秀作者奖,细心的读者可以从网上找到许多对本书第1版的赞誉。作者以易于理解的方式深入揭示了Java虚拟机的内部工作原理,深入...
  • 究竟什么Java虚拟机(JVM)?

    千次阅读 2018-12-15 11:56:02
    什么不能安装不同系统上的软件,因为操作系统的底层实现是不同的。对于Windows系统,exe后缀的软件代码被编译成能被Windows系统识别的机器代码。对于Mac OSX系统,最后将DMG后缀的软件代码编译为M...

    我们都知道,在Windows上,软件包后缀有exe,而苹果的Mac OS X系统上没有安装exe。类似地,Mac OSX系统上的软件安装包是dmg后缀,不能安装在Windows系统上。

    为什么不能安装不同系统上的软件,因为操作系统的底层实现是不同的。对于Windows系统,exe后缀的软件代码被编译成能被Windows系统识别的机器代码。对于Mac OSX系统,最后将DMG后缀的软件代码编译为Mac OSX系统识别的代码。

    系统软件不能通用是一个普遍的问题。但是所有使用Java的学生都知道Java代码可以在服务器端(Linux系统)或Windows系统上运行,但是我们还没有生成许多不同的代码。那么Java语言是如何做到这一点的呢?

    与其他语言不同,Java语言不直接编译代码到系统相关的机器代码,而是将其编译成特定的语言规范,我们称之为字节码。无论在Windows、Mac OSX还是Linux系统中,Java程序都要编译成字节码文件,它们只能在那之后运行。

    但是,即使编译成字节码文件,系统仍然不能理解字节码文件的内容,然后需要Java虚拟机的帮助。Java虚拟机会解析字节码文件的内容,并将它们转换成操作系统能够理解的机器代码。

    简单地说,对于同一个Java源文件,我们把它编译成字节码,它既没有Linux也没有Windows系统知道。在这一点上,Java虚拟机是一个翻译器。它被转换为Linux系统上的Linux机器代码来监视Linux系统,而转换为Windows系统上的Windows机器代码来监视Windows系统。这样,Java就实现了“一次写,到处跑”的伟大愿景。

    在Java虚拟机诞生之前,为了支持在不同系统上运行的软件,我们必须在多个平台上编写对应于特定系统的多个代码。但是Java虚拟机出现后,只需要根据具体的规范进行编译和编写。编译器编译字节码文件之后,虚拟机会将帮助您生成相应的Windows代码和MacCode字节码。基本上,最终将生成两个机器代码,Windows Code和MacCode,但是对于开发人员来说,他们只需要编写一次代码。Java虚拟机帮助开发人员进行重复性的工作,这使得开发更加高效。

    许多初学者对Java虚拟机有误解,他们会觉得Java虚拟机只能运行Java代码。但事实上,Java虚拟机运行字节码文件。换句话说,如果在PHP中编写一段代码,并使用特定的编译器生成符合字节码规范的字节码文件,Java虚拟机也可以运行。

    因此,虽然Java虚拟机的名称是Java虚拟机,但是Java虚拟机与Java语言没有直接关系。它只根据Java虚拟机规范读取类文件,根据规则解析和执行字节码指令,仅此而已。

    如果你足够健壮,你可以编写一个编译器,将PHP语言代码编译成符合Java虚拟机规范的字节码文件,然后Java虚拟机也可以被执行。

    确切地说,Java虚拟机绑定到字节码文件(类文件)。

    最后,让我们回顾一下什么是虚拟机。事实上,Java虚拟机是字节码翻译器,它将字节码文件转换成每个系统的相应机器代码,以确保字节码文件可以在每个系统中正确运行。

    展开全文
  • java虚拟机到底是什么

    万次阅读 多人点赞 2017-12-07 16:24:09
    虚拟机是一种抽象化的...Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),
  • java虚拟机学习

    2017-12-21 14:21:13
    java虚拟机学习 java虚拟机学习java虚拟机学习java虚拟机学习java虚拟机学习
  • 自己动手写Java虚拟机 (Java核心技术系列).epub
  • Java虚拟机(第二版)PDF高清电子书下载, 可以用平板、手机清晰浏览阅读。
  • Java虚拟机规范

    2018-01-08 09:35:44
    Java虚拟机规范(Java SE 8版)英文版》全面而准确地阐释了Java虚拟机各方面的细节,围绕Java虚拟机整体架构、编译器、class文件格式、加载、链接与初始化、指令集等核心主题对Java虚拟机进行全面而深入的分析,...
  • 实战Java虚拟机.pdf

    2017-04-15 08:57:38
    实战Java虚拟机.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
  • Java虚拟机组成部分及作用

    千次阅读 2018-04-03 18:25:54
    感谢周志明所著的《深入理解Java虚拟机》一书。下面附上了一些我自己的理解。 java虚拟机(JVM) 当我们讨论到的组成部分的时候,有人可能很多都会说是以栈和堆,但是实际上远远不止这两个部分。 下面...
  • Java源文件通过Java虚拟机转换成字节码文件。Java虚拟机的功能有:将源文件转化为字节码文件,提供硬件的交互平台,解释字节码文件 成为指令并执行,垃圾的回收。Java被称作“平台无关的编程语言”的原因:Java通过...
  • 自己动手写Java虚拟机
  • java虚拟机规范JavaSE8中文版 java虚拟机规范JavaSE8中文版 java虚拟机规范JavaSE8中文版 java虚拟机规范JavaSE8中文版 java虚拟机规范JavaSE8中文版百分百保证可用百度云资源。请相信我!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 635,696
精华内容 254,278
关键字:

java虚拟机它的作用是什么

java 订阅