精华内容
下载资源
问答
  • JVM是什么

    2020-11-20 13:48:32
    TIOBE语言热度榜 ... Java生态圈 平台:Java虚拟机扮演举足轻重的作用 ...JDK和JVM本事也有不少开源的实现:OpenJDK、Harmony 社区:世界最多的技术维护者,开源社区支持 Java:跨平台的...

    TIOBE语言热度榜

    https://www.tiobe.com/tiobe-index/

     

     

    Java生态圈

    平台:Java虚拟机扮演举足轻重的作用

    Groovy、Scala、JRuby、Kotlin等都是Java平台的一部分

    文化:Java几乎是“开源”的代名词

    第三方开源软件和框架:Tomcat、Structs、MyBatis、Spring

    JDK和JVM本事也有不少开源的实现:OpenJDK、Harmony

    社区:世界最多的技术维护者,开源社区支持

     

     

    JDK  编写+javac+Jconsole...

    JRE JVM+核心类库

    JVM 承上启下,承上:Java字节码,启下:各种操作系统

     

    Java:跨平台的语言

     

     

    JVM:跨语言的平台

    Java不是最强大的语言,但是JVM是最强大的虚拟机

    For the sake of security .the Java virtual machine imposes strong syntactic and structural constraints on the code in a class file.

    However,any language with functionality that can be expressed in terms of a valid class file can be hosted by JVM,

    attracted by a generally available ,machine-independent platform ,

    implementors of other language can turn on the JVM as a delivery vehicle for their languages.

     

    字节码

    • 平时说的java字节码,表示java语言编译的字节码。但是其实,任何能在JVM平台上执行的字节码格式都是一样的。所以,应该统称为JVM字节码
    • 不同的编译器,可以编译出相同的字节码文件,字节码文件也可以再不同的JVM上运行
    • JVM和Java没有必然的联系,JVM只与特定的二进制文件格式-Class文件格式所关联,Class文件中包含JVM指令集(字节码,Bytecodes)和符号集,还有一些其他的辅助信息

     

    多语言混合编程

     

     

    Java发展的重大事件

     

     

    Open JDK 和 Oracle JDK 

     

    在JDK11之前,OracleJDK中还会存在一些OpenJDK中没有的、闭源的功能,但是在JDK11中,这两者几乎一致

    2019年后,比如,Shenandoah GC,OpenJDK很多时候居然比商用OracleJDK功能还多???

     

     

    虚拟机和Java虚拟机

    虚拟机

    • 系统虚拟机:对物理计算机的仿真
    • 程序虚拟机:为执行单个计算机程序而设计,在Java虚拟机中执行的指令称为Java字节码指令

    在虚拟机上运行的软件都被限制于虚拟机提供的资源中

     

    Java虚拟机

    • Java技术的核心:JVM
    • Java虚拟机就是二进制字节码的运行环境。解释/编译为对应平台的机器指令执行,每一条Java指令,JVM都有详细的定义,比如,怎么取操作数,怎么处理操作数,处理结果放在哪里?
    • 一次编译,到处运行
    • 自动内存管理
    • 自动垃圾回收功能

     

    JVM的位置

    JVM是运行在OS之上,与硬件没有直接的交互

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • jvm是什么

    2014-05-08 17:59:56
    JVM是什么?—JVM的生命周期 JVM实例的诞生:当启动一个Java程序时,一个JVM实例就产生了,任何一个拥有publicstaticvoidmain(String[]args)函数的class都可以作为JVM实例运行的起点,既然如此,那么JVM如何...

    JVM是什么?—JVM的生命周期


    JVM实例的诞生:当启动一个Java程序时,一个JVM实例就产生了,任何一个拥有publicstaticvoidmain(String[]args)函数的class都可以作为JVM实例运行的起点,既然如此,那么JVM如何知道是运行classA的main而不是运行classB的main呢?这就需要显式的告诉JVM类名,也就是我们平时运行Java程序命令的由来,如JavaclassAhelloworld,这里Java是告诉os运行SunJava2SDK的Java虚拟机,而classA则指出了运行JVM所需要的类名。


    JVM实例的运行:main()作为该程序初始线程的起点,任何其他线程均由该线程启动。JVM内部有两种线程:守护线程和非守护线程,main()属于非守护线程,守护线程通常由JVM自己使用,Java程序也可以标明自己创建的线程是守护线程。JVM实例的消亡:当程序中的所有非守护线程都终止时,JVM才退出;若安全管理器允许,程序也可以使用Runtime类或者System.exit()来退出。


    JVM是什么?—JVM的体系结构


    粗略分来,JVM的内部体系结构分为三部分,分别是:类装载器(ClassLoader)子系统,运行时数据区,和执行引擎。下面将先介绍类装载器,然后是执行引擎,最后是运行时数据区


    1,类装载器,顾名思义,就是用来装载.class文件的。JVM的两种类装载器包括:启动类装载器和用户自定义类装载器,启动类装载器是JVM实现的一部分,用户自定义类装载器则是Java程序的一部分,必须是ClassLoader类的子类。(下面所述情况是针对SunJDK1.2)


    动类装载器:只在系统类(JavaAPI的类文件)的安装路径查找要装入的类


    用户自定义类装载器:


    系统类装载器:在JVM启动时创建,用来在CLASSPATH目录下查找要装入的类其他用户自定义类装载器:这里有必要先说一下ClassLoader类的几个方法,了解它们对于了解自定义类装载器如何装载.class文件至关重要。


    protectedfinalClassdefineClass(Stringname,bytedata[],intoffset,intlength)
    protectedfinalClassdefineClass(Stringname,bytedata[],intoffset,intlength,ProtectionDomainprotectionDomain);protectedfinalClassfindSystemClass(Stringname)
    protectedfinalvoidresolveClass(Classc)
    defineClass用来将二进制class文件(新类型)导入到方法区,也就是这里指的类是用户自定义的类(也就是负责装载类)


    findSystemClass通过类型的全限定名,先通过系统类装载器或者启动类装载器来装载,并返回Class对象。


    ResolveClass:让类装载器进行连接动作(包括验证,分配内存初始化,将类型中的符号引用解析为直接引用),这里涉及到Java命名空间的问题,JVM保证被一个类装载器装载的类所引用的所有类都被这个类装载器装载,同一个类装载器装载的类之间可以相互访问,但是不同类装载器装载的类看不见对方,从而实现了有效的屏蔽。


    2,执行引擎:它或者在执行字节码,或者执行本地方法


    要说执行引擎,就不得不的指令集,每一条指令包含一个单字节的操作码,后面跟0个或者多个操作数。


    (一)指令集以栈为设计中心,而非以寄存器为中心这种指令集设计如何满足Java体系的要求:


    平台无关性:以栈为中心使得在只有很少register的机器上实现Java更便利compiler一般采用stack向连接优化器传递编译的中间结果,若指令集以stack为基础,则有利于运行时进行的优化工作与执行即时编译或者自适应优化的执行引擎结合,通俗的说就是使编译和运行用的数据结构统一,更有利于优化的开展。


    网络移动性:class文件的紧凑性。


    安全性:指令集中绝大部分操作码都指明了操作的类型。(在装载的时候使用数据流分析期进行一次性验证,而非在执行每条指令的时候进行验证,有利于提高执行速度)。


    (二)执行技术


    主要的执行技术有:解释,即时编译,自适应优化、芯片级直接执行其中解释属于第一代JVM,即时编译JIT属于第二代JVM,自适应优化(目前Sun的HotspotJVM采用这种技术)则吸取第一代JVM和第二代JVM的经验,采用两者结合的方式


    自适应优化:开始对所有的代码都采取解释执行的方式,并监视代码执行情况,然后对那些经常调用的方法启动一个后台线程,将其编译为本地代码,并进行仔细优化。若方法不再频繁使用,则取消编译过的代码,仍对其进行解释执行。


    3,运行时数据区:主要包括:方法区,堆,Java栈,PC寄存器,本地方法栈


    (1)方法区和堆由所有线程共享


    堆:存放所有程序在运行时创建的对象


    方法区:当JVM的类装载器加载.class文件,并进行解析,把解析的类型信息放入方法区。


    (2)Java栈和PC寄存器由线程独享,在新线程创建时间里


    (3)本地方法栈:存储本地方法调用的状态


    上边总体介绍了运行时数据区的主要内容,下边进行详细介绍,要介绍数据区,就不得不说明JVM中的数据类型。


    JVM中的数据类型:JVM中基本的数据单元是word,而word的长度由JVM具体的实现者来决定


    数据类型包括基本类型和引用类型,


    (1)基本类型包括:数值类型(包括除boolean外的所有的Java基本数据类型),boolean(在JVM中使用int来表示,0表示false,其他int值均表示true)和returnAddress(JVM的内部类型,用来实现finally子句)。


    (2)引用类型包括:数组类型,类类型,接口类型


    前边讲述了JVM中数据的表示,下面让我们输入到JVM的数据区


    首先来看方法区:


    上边已经提到,方法区主要用来存储JVM从class文件中提取的类型信息,那么类型信息是如何存储的呢?众所周知,Java使用的是大端序(big?endian:即低字节的数据存储在高位内存上,如对于1234,12是高位数据,34为低位数据,则Java中的存储格式应该为12存在内存的低地址,34存在内存的高地址,x86中的存储格式与之相反)来存储数据,这实际上是在class文件中数据的存储格式,但是当数据倒入到方法区中时,JVM可以以任何方式来存储它。


    类型信息:包括class的全限定名,class的直接父类,类类型还是接口类型,类的修饰符(public,等),所有直接父接口的列表,Class对象提供了访问这些信息的窗口(可通过Class.forName(“”)或instance.getClass()获得),下面是Class的方法,相信大家看了会恍然大悟,(原来如此J)


    getName(),getSuperClass(),isInterface(),getInterfaces(),getClassLoader();


    static变量作为类型信息的一部分保存


    指向ClassLoader类的引用:在动态连接时装载该类中引用的其他类


    指向Class类的引用:必然的,上边已述


    该类型的常量池:包括直接常量(String,integer和floatpoint常量)以及对其他类型、字段和方法的符号引用(注意:这里的常量池并不是普通意义上的存储常量的地方,这些符号引用可能是我们在编程中所接触到的变量),由于这些符号引用,使得常量池成为Java程序动态连接中至关重要的部分


    字段信息:普通意义上的类型中声明的字段


    方法信息:类型中各个方法的信息


    编译期常量:指用final声明或者用编译时已知的值初始化的类变量


    class将所有的常量复制至其常量池或者其字节码流中。


    方法表:一个数组,包括所有它的实例可能调用的实例方法的直接引用(包括从父类中继承来的)


    除此之外,若某个类不是抽象和本地的,还要保存方法的字节码,操作数栈和该方法的栈帧,异常表。


    举例:


    classLava{
    privateintspeed=5;
    voidflow(){}
    classVolcano{
    publicstaticvoidmain(String[]args){
    Lavalava=newLava();
    lava.flow();
    }
    }
    运行命令JavaVolcano;


    (1)JVM找到Volcano.class倒入,并提取相应的类型信息到方法区。通过执行方法区中的字节码,JVM执行main()方法,(执行时会一直保存指向Vocano类的常量池的指针)


    (2)Main()中第一条指令告诉JVM需为列在常量池第一项的类分配内存(此处再次说明了常量池并非只存储常量信息),然后JVM找到常量池的第一项,发现是对Lava类的符号引用,则检查方法区,看Lava类是否装载,结果是还未装载,则查找“Lava.class”,将类型信息写入方法区,并将方法区Lava类信息的指针来替换Volcano原常量池中的符号引用,即用直接引用来替换符号引用。


    (3)JVM看到new关键字,准备为Lava分配内存,根据Volcano的常量池的第一项找到Lava在方法区的位置,并分析需要多少对空间,确定后,在堆上分配空间,并将speed变量初始为0,并将lava对象的引用压到栈中


    (4)调用lava的flow()方法


    好了,大致了解了方法区的内容后,让我们来看看堆


    Java对象的堆实现:


    Java对象主要由实例变量(包括自己所属的类和其父类声明的)以及指向方法区中类数据的指针,指向方法表的指针,对象锁(非必需),等待集合(非必需),GC相关的数据(非必需)(主要视GC算法而定,如对于标记并清除算法,需要标记对象是否被引用,以及是否已调用finalize()方法)。


    那么为什么Java对象中要有指向类数据的指针呢?我们从几个方面来考虑


    首先:当程序中将一个对象引用转为另一个类型时,如何检查转换是否允许?需用到类数据


    其次:动态绑定时,并不是需要引用类型,而是需要运行时类型,


    这里的迷惑是:为什么类数据中保存的是实际类型,而非引用类型?这个问题先留下来,我想在后续的读书笔记中应该能明白


    指向方法表的指针:这里和C++的VTBL是类似的,有利于提高方法调用的效率


    对象锁:用来实现多个线程对共享数据的互斥访问


    等待集合:用来让多个线程为完成共同目标而协调功过。(注意Object类中的wait(),notify(),notifyAll()方法)。


    Java数组的堆实现:数组也拥有一个和他们的类相关联的Class实例,具有相同dimension和type的数组是同一个类的实例。数组类名的表示:如[[LJava/lang/Object表示Object[][],[I表示int[],[[[B表示byte[][][]


    至此,堆已大致介绍完毕,下面来介绍程序计数器和Java栈


    程序计数器:为每个线程独有,在线程启动时创建,


    若thread执行Java方法,则PC保存下一条执行指令的地址。


    若thread执行native方法,则Pc的值为undefined


    Java栈:Java栈以帧为单位保存线程的运行状态,Java栈只有两种操作,帧的压栈和出栈。


    每个帧代表一个方法,Java方法有两种返回方式,return和抛出异常,两种方式都会导致该方法对应的帧出栈和释放内存。


    帧的组成:局部变量区(包括方法参数和局部变量,对于instance方法,还要首先保存this类型,其中方法参数按照声明顺序严格放置,局部变量可以任意放置),操作数栈,帧数据区(用来帮助支持常量池的解析,正常方法返回和异常处理)。


    本地方法栈:依赖于本地方法的实现,如某个JVM实现的本地方法借口使用C连接模型,则本地方法栈就是C栈,可以说某线程在调用本地方法时,就进入了一个不受JVM限制的领域,也就是JVM可以利用本地方法来动态扩展本身。


    相信大家都明白JVM是什么了吧。

    展开全文
  • Java语言的虚拟机JVM是什么意思,和CPU的关系和区别是什么? 两者的利弊有什么?
  • JDK,JRE,JVM是什么?三者之间的关系是什么? 三者各是什么: 由于是国外的资源库,导致下载速度特别慢。 JDK(Java Development Kit) JDK是java的开发工具包,可以在www.oracle.com下载(甲骨文公司官网,收购了sun微电子...

    JDK,JRE,JVM是什么?三者之间的关系是什么?

    三者各是什么:

    由于是国外的资源库,导致下载速度特别慢。

    JDK(Java Development Kit)

    JDK是java的开发工具包,可以在www.oracle.com下载(甲骨文公司官网,收购了sun微电子公司开发的java)

    JRE(Java Run Environment)

    JRE是java的运行环境

    JVM(Java Virtual Machine)

    JVM是Java虚拟机,用于对java源程序编译器生成的字节码进行解释.

    JVM可以实现跨平台使用,实现的机理如下图,不同os的底层原理不同,由于java的运行是依赖C++编写的JVM来和os进行交互的,虽然不同os与自己的JVM的交互方式不同,但是JVM和java源码的交互规则确实一致的,所以java源码可以’一套代码,四处调试

    三者之间的关系是什么:

    1.JDK的安装包包括了JRE,因为JDK的安装需要JRE环境的调试
    2.JRE的安装包包括了JVM
    3.JVM没有单独的安装包
    适用场景:某人做的新项目拿到新公司进行测试,贵公司的系统和原开发项目所用系统不一致,这时候,只需要下载JRE来测试

    展开全文
  • 【JVM】JVM是什么

    2020-03-31 23:52:48
    JVM 可运行 Java 代码的假象计算机,包括【一套字节码指令集】、【一组寄存器】、【一个栈】、【一个垃圾回收】,【堆】和【一个存储方法域】。 JVM 运行在操系统之上的,它与硬件没有直接的交互。 ...

    1.基本概念

    JVM 是可运行 Java 代码的假象计算机,包括【一套字节码指令集】、【一组寄存器】、【一个栈】、【一个垃圾回收】,【堆】和【一个存储方法域】。JVM 是运行在操系统之上的,它与硬件没有直接的交互。

    2.三种JVM

    1. Sun 公司的 HotSpot;
    2. BEA 公司的 JRockit;
    3. IBM 公司的 J9 JVM;

    在 JDK 1.7 及其以前我们使用的都是 Sun 公司的 HotSpot,但由于 Sun 公司和 BEA 公司都被 Oracle 收购,JDK 1.8 将采用 Sun 公司的 HotSpot 和 BEA 公司的 JRockit 两个 JVM 种精华形成 JDK 1.8 的 JVM。

    画外音:HotSpot 是官方默认虚拟机,它知道那一段代码经常运行,就会将其编译成机器代码,提高运行效率。JDK 1.8 的 HotSpot 已经放弃用永久代来实现方法区,转而使用元空间。

    3.运行过程

    我们都知道 Java 源文件,通过编译器,能够生产响应的 .class 文件,也就是字节码文件,而字节码文件又通过 Java 虚拟机中的解释器,编译成特定机器上的机器码。

    也就是如下:

    1. Java 源文件 ——> 编译器 ——> 字节码文件
    2. 字节码文件 ——> JVM ——> 机器码

    每一种平台的解释器是不同的,但是实现的虚拟机是相同的,这也就是 Java 为什么能够跨平台的原因了,当一个程序从开始运行,这时虚拟机就开始实例化了,多个程序启动就会存在多个虚拟机实例。程序退出或者关闭,则虚拟机实例消亡,多个虚拟机实例之间数据不能共享。

    4.线程

    这里所说的线程指程序执行过程中的一个线程实体。JVM 允许一个应用并发执行多个线程。

    Hotspot JVM 中 Java 线程与原生操作系统线程有直接的映射关系。当【线程本地存储】、【缓冲区分配】、【同步对象】、【栈】、【程序计数器】等准备好以后,就会创建一个操作系统原生线程。

    Java 线程结束,原生线程随之被回收。操作系统负责调度所有线程,并把它们分配到任何可用的 CPU 上。当原生线程初始化完毕,就会调用 Java 线程的 run() 方法。当线程结束时,会释放原生线程和 Java 线程的所有资源。

    Hotspot JVM 后台运行的系统线程主要有下面几个:

    5.JVM 结构图

    6.JVM 思维导图

    需要xmind文件的可从我公众号加我微信。

     

    PS:文章内容和图片通过网上收集、整理、润色,侵删!

    不管做什么,只要坚持下去就会不一样!

    展开全文
  • Java JVM 1-JVM是什么

    千次阅读 2018-06-16 15:37:50
    JVM是Java Virtual Machine的接卸,意为Java虚拟机。  虚拟机是指通过软件模拟的具有完整硬件功能的,运行在一个完全隔离的环境中的完整计算机系统,常见的虚拟机有JVM,VMwawe,Virtual Box等。虽然都是虚拟机...
  • JDK、JRE、JVM是什么?三者有什么关系 JDK:英文名称(java Development Kit),是java的开发工具包。JDK是整个Java开发的核心,集成了JRE和开发工具包(通俗的说就是开发用的) JRE:英文名称(Java Runtime ...
  • 这里写目录标题JVM是什么?为什么 Java 被称作是“平台无关的编程语言”?JVM 加载class 文件的原理机制【***】1.Java代码在JVM中的执行流程2.JVM的类加载原理图 JVM是什么? Java 虚拟机是一个可以执行 Java 字节码...
  • JVM是什么

    千次阅读 2018-04-06 21:45:59
    JVM(Java Virtual Machine,Java虚拟机) Java程序的跨平台特性主要指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。...
  • JVM是什么 JVM是一种规范,可以使用软件来实现,也可以使用硬件来实现,就是一个虚拟的用于执行bytecodes字节码的计算机。他也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。 JVM负责将java字节码解释...
  • Java虚拟机 - JVM是什么

    千次阅读 2018-05-08 14:54:36
    JVM就是Java运行虚拟机,那么虚拟机又分为系统虚拟机和程序虚拟机,而JVM是属于程序虚拟机,所以不要看到是虚拟机就误认为JVM是系统虚拟机。 JVM是帮助Java程序开发者在开发过程中无需考虑无用的资源需要进行回收...
  • tomcat和jvm是什么关系

    千次阅读 2019-07-11 16:54:12
    Tomcat Java 程序,运行在 JVM 之上,差不多和你的 QQ 运行在你的 Windows 之上一样,启动的时候做了好多好多的工作为了让你的应用能够通过 HTTP 接收和返回消息。 二: Tomcat一个Java写的http server,启动时...
  • 2、java程序又和JVM之间是什么关系,它们是公用一个JVM,还是每个java程序,都有一个JVM。 ![图片说明](https://img-ask.csdn.net/upload/201801/05/1515121053_722724.png) ![图片说明]...
  • 1 :jvm 是什么

    2016-11-03 14:40:26
    JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。...JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平台的
  • jvm是什么语言写的

    千次阅读 2019-08-22 17:18:58
    JAVA中就虚拟机其它语言开发的,用的C语言+汇编语言 基于此之上就是JAVA本身了 虚拟机只起到解析作用。 原始用C写的,如javac命令等,后面的功能java自身写的。 ...
  • JVM是可运行Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。 2. 运行过程: 我们都知道Java ...
  • 在正式开始深入理解JVM这个专栏之前,我们有必要先了解下什么是JVM,以及JVM与JDK、JRE三者的关系。我们先观察上图,找到JDK、JRE、JVM的具体位置和包含的范围。一:从范围上可以得出结论(小结一下): 1:JDK最大...
  • JDK:java开发工具包 JRE:java运行环境 JVM:java虚拟机 JDK JRE(JDK包含) JVM(不能单独安装)
  • JDKJava Development Kit的缩写,Java的开发工具包。  JDK : Java Development ToolKit(Java开发工具包)。JDK整个JAVA的核心,包括了Java运行环境(JRE),Java工具(javac/java/jdb等)和Java基础的类库(即...
  • JDK:英文全称 Java Development Kit,Java的开发工具包 ...JVM:英文全称 Java Virtual Machine),java虚拟机 JDK = JRE + 开发工具集(例如Javac编译工具等) JRE = JVM + Java SE 标准类库
  • JRE 和 JVM 是什么关系

    千次阅读 2011-09-10 09:52:19
    J2SE的课程终于听完了!在总结的时候,发现我们...先说一下什么是虚拟机: 那两天我在我机器上安装了一个虚拟机。试着看了看,安装过程就不说了非常简单。(用到了一个软件 VMware Workstation)。重新定义了硬盘大小
  • JVM详解——什么是JVMJVM优点

    千次阅读 2019-06-11 01:12:52
    JVM详解——什么是JVM、JVM优点 最近在学习Java,经常在书中看到JVM这三个...JVM是Java Virtual Machine(Java虚拟机)的缩写。 1.1、什么是Java虚拟机呢?Java虚拟机的好处是什么呢? 答:虚拟机是一种抽象化的计算...
  • 【死磕JVM什么是JVM调优?

    千次阅读 多人点赞 2021-04-12 16:17:24
    想要学习JVM调优,我们必须提前知道他们的一些参数,这样才方便我们更好的去使用他们 JVM常用命令行参数 JVM的命令行参数参考: https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html 1. 查看参数...
  • 一、什么是Java虚拟机?为什么Java被称作“平台无关的编程语言”? Java语言的跨平台并不是指Java语言本身跨平台,而是Java源程序编译后的字节码文件的跨平台,Java程序执行过程Java源文件编译成.class字节码...
  • Java-什么是JVMJVM什么作用?

    千次阅读 2019-01-12 15:20:04
    JVM全称为Java Virtual MAchine-Java虚拟机,我们可以直观的从名字上得出一个定义:JVM是java上的一个虚构出来的计算机,是一个位于Java与操作系统之间的中间态。有自己完善的硬件结构,如处理器、...
  • JVM是JAVA虚拟机,他的作用是将字节码解释为各个操作系统平台能够执行的指令,并且执行。它好比一台独立的机器。 JRE JVM虚拟机在解释执行字节码的时候需要调用类库,JVM虚拟机和其执行字节码所需调用的类库合起来...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,684
精华内容 10,673
关键字:

jvm是什么