深圳Java培训
达内深圳宝安中心

136-3244-2201

热门课程

【深圳JAVA培训】JVM是什么?

  • 时间:2015-11-25
  • 发布:深圳Java培训
  • 来源:达内新闻

【深圳JAVA培训】JVM是什么?Java技术是一种高级的面向对象的编程言语,也是一个途径,Java技术是根据Java虚拟机(Java Virtual Machine,JVM)的概念——这是言语和底层软件和硬件之间的一种转换器,Java言语的全部结束都是根据JVM的,然后使Java程序可以在有JVM的任何系统上工作。参考【深圳JAVA培训

【深圳JAVA培训】

JVM具体介绍:

1)JVM的安全检查机制

JVM在实行字节码的时分需要通过下边的进程:

由类加载器(Class Loader)担任把类文件加载到Java虚拟机中(.class),在这个进程需要校验该类文件是不是符合类文件标准

字节码校验器(Bytecode Verifier)检查该类文件的代码中是不是存在着某些非法操作

假设字节码校验器校验通过,就由Java说明器担任把该类文件说明成机器码进行实行

JVM在上边操作进程运用了“沙箱”模型,即把Java程序的代码和数据都束缚起来放在一定的内存空间实行,不容许程序访问该内存空间以外的内存。这种访问进程不仅仅是本地的,也可以是远程的,最显着的体会是运用RMI的时分。

2)JVM实行原理

JVM 可以称为软件模仿的计算机,它可以在任何处理器安全地兼容而且实行.class字节码。正本JVM兼容的二进制字节码和操作系统的本地机器码有一定的区 别,仅仅对于JVM上层的调用程序而言,实行进程效果一样,所以我们一般了解便是说直接用JVM来实行二进制码,实际上二者本质有一定的差异,但是这一点 可以了解JVM具有跨途径性。一般情况下,编程人员都是直接编写.java的源文件,然后用Java编译器(javac指令)对源文件进行编译,生 成.class文件,生成的.class文件便是我们平常所说的包含了“机器码”的文件,实际上JVM在编译和工作进程做了两件事,先是直接将源文件编译 成二进制字节码.class文件,然后进行第2次处理:说明器担任将这些二进制字节码根据本地操作系统宿主环境生成相应的本地机器码说明实行。所以可以了 解的一点是为何Java言语具有跨途径性,因为JVM供应了Java工作的一个中心层,使得操作系统和上层运用彼此之间是依托JVM中心层进行通讯的,也 便是说Java编写的程序是工作在JVM上的;再者虽然Java确实可以做到“一次编译,多处工作”,但是在不一样结构的操作系统途径生成的.class 文件真真实实行的时分是存在一定差异的,仅仅JVM本身会根据装置的不一样版别进行不一样的操作系统途径下本地机器码的生成及工作,所以虽然我们在Sun 公司官方网站可以下载到很多不一样操作系统版别的JDK,但是实行效果一样。

而且还有一点,这一步操作对于开发人员是透明的,所以真真实开 发进程可以定心的是不需要去担忧这种疑问,只需下载的版别是和符合我们工作的操作系统的,只管进行一般编程的编译、说明工作操作就可以了。Java言语既 是编译型言语,也是说明型言语,在.class文件生成之前,JVM通过javac指令对源代码进行编译操作,然后用JVM根据包含了二进制码 的.class生成机器码而且说明实行。所以Java程序的跨途径特性主要是指字节码文件可以在任何具有Java虚拟机的计算机或许电子设备上运 转,Java虚拟机中的Java说明器担任将字节码文件说明成为特定的机器码进行工作。

Java虚拟机的建立需要对于不一样的软硬件途径来 结束,既要考虑处理器的类型,也要考虑操作系统的种类。由此在SPARC结构、X86结构、MIPS和PPC等嵌入式处理芯片上,在UNIX、 Linux、Windows和有些实时操作系统上都可结束Java虚拟机,这也是为了在工作进程生成本地机器码而考虑的,使得JVM可以兼容不一样的软硬 件途径。

更多内容请点击【深圳JAVA培训


上一篇:【深圳JAVA学堂】JAVA人物小传之James Gosling
下一篇:【深圳JAVA培训】Java的“沙箱”详解

预计发布的Java 9中,很令人期待的是什么?

【深圳JAVA培训】世界十类很急需IT人才

JAVA——很吃香的编程语言

为什么程序员是很有钱的一批人?

选择城市和中心
贵州省

广西省

海南省