目录

1. 前言

2.跨平台的方式

3.什么是虚拟机?

4.JAVA开发包


1. 前言

大家都知道,Java程序设计语言最早的口号就是,Write Once,Run Anywhere,一次编写,到处运行。只实现一次编码。可以再任何平台运行。那就吸引了大批的开发者进行尝试,不需要在为不同的操作系统上做适配。那么JAVA是怎么实现这种方式的呢?C语言我只编写了一次,也可以在windows和linux下运行呢?那什么叫跨平台呢?我们来以次解答。

2.跨平台的方式

跨平台主要有两种方式,一种是运行跨平台(JAVA),一种是编译跨平台(C,GO)。大话JVM,java开发必看文章_java程序

编译跨平台

编译跨平台例如c语言,程序写好之后,在windows下编译成exe,在linux编译成可以执行文件.这就是为什么C写一次也可以在不同的系统下进行运行了。但是需要在对应的系统上面对源码重新进行编译,如果用到了系统底层的一些函数,如果没有做兼容,可能会出现程序不兼容的问题。

大话JVM,java开发必看文章_java程序_02

运行跨平台

运行跨平台就是指我们java程序经过编译成.class文件,由java虚拟机进行解析成对应的机器字节码,在对应的机器上运行。相当于运行JAVA的机器上都部署了一套统一的环境,由这个环境去运行JAVA程序。那提供这个环境的就是JAVA的虚拟机

大话JVM,java开发必看文章_jvm_03
 

3.什么是虚拟机?

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

4.JAVA开发包

在大家安装JAVA JDK的时候,一般会有JDK和JRE两个比较重要的文件夹。那么热门分别是什么呢。可以见下图。

大话JVM,java开发必看文章_java_04

我们平时开发依赖的是JDK,因为它提供了很多的工具包。还有一些常用的命令工具。JRE是JAVA的基本运行环境。他们的对应关系可以见官网的这张图。

大话JVM,java开发必看文章_java_05

课件JDK其实是包含JRE的。单JDK比JRE多了一些工具命令。因此以后面试官再问你JDK和JRE是什么区别的时候,别再说他们俩是一样的东西了。

5、为什么学习JVM

既然JVM是JAVA已经给我们提供好了,那么我们为什么要学习JVM呢?

大话JVM,java开发必看文章_java程序_06


如果你是刚开始学习java,或者刚开始从事java行业,有很多的问题都可以关注微信公众号: java学长 ,一个致力于打造免费指导学习java高薪就业的公益平台!点赞、关注 哦,不定期分享程序员的骚操作和强势浪漫!

大话JVM,java开发必看文章_java_07

目录