Java学习笔记(一):JDK?JVM?JRE?那是个啥?

204 阅读2分钟

Java是一种可以在不同的操作系统上运行的语言。

一、Java三兄弟

一般我们在接触Java 的时候,三个非常像的东西。

(注意,还有一个Javascript没有列出,毕竟差太远了,js和Java的关系约等于雷锋和雷峰塔之间的关系)

分别是:

  1. JavaEE
  2. JavaSE
  3. JavaME 贴个链接,可以看到详细的区别。

zhuanlan.zhihu.com/p/78985651

zhuanlan.zhihu.com/p/99539589

以上内容总结一下,我们可以理解为:

  • PC机上的Java程序是用JavaSE开发的
  • 服务器端的Java程序是用JavaEE开发的
  • 移动设备的Java程序是用JavaME开发的

二、JDK是个啥?(拆开来看看)

刚开始学习Java的时候,我们一开始就需要下载一个JDK的东西,这是何方神圣呢?

首先JDK是个缩写,他的全称是Java Development Kit,就是Java开发语言的工具包,

也可以说这玩意是SDK(Software Development Kit)软件开发工具包的一种,只不过他是专用于Java语言开发的工具包。

JDK大体上由三部分组成:

  • JVM
  • 核心类库
  • Java开发组件

1.JVM

JVM的全称叫做Java Virtual Machine(Java虚拟机),它是一个虚拟的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。相当于电脑里面安装了一个虚拟的电脑。

不同平台(Windows,MacOS,Linux)有不同的JVM虚拟机

2.核心类库

Java自带的,程序员所需要调用的程序。

以上两样东西放一起,就有了一个新的名字:JRE。咱们可以这么说:一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类别函数库(Class Library),共同构成了Java的运行环境,也就是JRE。

3.Java开发组件

这个就很多了,我找了半天他们的用法,不一定全,成果咱们见下图好了

JDK.png

三、程序跑起来的原理

我们知道了上面的东西,那么这几样东西怎么配合程序执行的呢?

简单来说就是:编译-->进虚拟机-->运行

  1. 首先我们想开发一个Java程序,我们取名叫helloworld.java。这个程序通过调用javac开发组件,进行编译,编译完成后产生helloworld.class文件
  2. 调用java组件,把helloworld.class文件送到虚拟机Jvm里面去运行
  3. 虚拟机调用Java核心类库里面的东西进行运行。

四、java为什么能跨平台?(简述)

在上一步里,我们java编译后产生的class文件,被送去对应版本的JVM里面,即可被识别运行。

新人笔记,如有错误,还请大神指正! ———————————————— CSDN:小天同学 原文链接:blog.csdn.net/qq_46773111…