【JAVA】从头再来(一)浅谈JVM/JRE/JDK

经过了三年的学习,发现自己的基础掌握的并不好,经历过几次面试,也认清了自己,决定从头开始学习一遍JAVA,在此和各位分享一下,希望我们一起共勉。因为理解有限,基础浅薄,有许多不足之处希望给为能够帮忙指正,非常感谢。

JVM/JRE/JDK

对于初学者来说,所看的每一本与java基础相关的书,开篇肯定会提到有关如果配置JDK以及JRE,还有就是说一些关于JVM的东西,那么这三者到底有什么区别,或者是有什么联系呢?让我们一起来看一下吧

1、JVM

JVM全称为 Java Virtual Machine(java虚拟机),只要是稍微了解一下java的都应该知道JVM可以使得java跨平台。对于这个问题我想先说一下为什么会出现跨平台这个概念。

我们应该知道现在市面上的操作系统有windows,Linux,Mac OS等等,计算机的语言是二进制的01序列组成的机器指令,而我们平时使用的编程语言很显然不是这种二进制语言,这就需要到一个翻译官来帮助我们翻译,这就是编译程序,也就是把我们高级语言来转化成计算机能读懂的二进制机器指令。可以把不同操作系统理解成各个国家,他们需要翻译官把语言转化为他们本地能了解的语言,各个国家当然需要对应语种的翻译官来翻译,举个例子,你用中文说一句你好,想要翻译成英语,就需要一个会中文也会英文的翻译来帮助,但是如果用英语去俄罗斯是行不通的,因为他们理解不了,那我们应该怎么解决这个问题呢,这时候就需要一门所有的翻译官都会的语言,例如:你说出中文,让翻译官帮忙翻译为这个中介语言,那么不管是哪个国家想明白你的意思,他们的翻译官都能够理解这个中介语言,进而翻译为自己国家人能理解的语言。这个中介语言就相当于JVM了,java是个高级语言,要让计算机执行你编写的程序,也得通过编译程序的翻译(相当于一个翻译官),不过呢,这个翻译官不是直接翻译成01序列,而是翻译成一个中介格式的位码。我们应该都知道.java文件经过编译会生成.class文件,然后交由JVM来翻译成各个平台对应的能够理解的01序列。也就是说JVM的可执行文件是.class文件。这样就可以做到跨平台的特性,也就是“一次编译,到处运行”。

2、JRE

JRE全称为Java Runtime Environment(java执行环境),通过名字不难理解,java运行环境那么就应该包括java的一些核心类库和JVM标准实现。当电脑上有多个JRE版本时,java会从PATH中寻找JRE路径,PATH最前面的路径会优先执行当运行java.exe时JRE路径的寻找顺序为:先找当前目录,再找父目录,然后是PATH路径。

3、JDK

JDK全称为Java Development Kit(java软件开发工具包),JDK主要是开发人员来进行使用,它包括

javac – 编译器,将源程序转成字节码

jar – 打包工具,将相关的类文件打包成一个文件

javadoc – 文档生成器,从源码注释中提取文档

jdb – debugger,查错工具

java – 运行编译后的java程序(.class后缀的)

appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。

Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。

Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。

Jconsole: Java进行系统调试和监控的工具


如果只是想执行java程序只需要安装JRE即可,如果想使用JAVA进行开发,则需要安装JDK并且配置好相关的环境才能进行程序的编写

下面附上一张结构图

java结构图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值