Java基础篇001--JDK、 JRE 和JVM的相关概念以及Java的执行过程和跨平台性。

没有安装JDK的可以参考这一篇先安装好JDK。

https://blog.csdn.net/qq_39443224/article/details/113444290

目录

1.什么是JDK?

2.什么是JRE?

3.什么是JVM?

4.Java程序的执行过程和Java的跨平台性


1.什么是JDK?

JDK的目录结构

 

JDK全拼Java Development Kit,Java开发工具包,包含Java开发所需的二进制工具,依赖,JRE和源码等。

1.bin文件夹:Java开发所需的二进制工具,javac.exe  java.exe javadoc.exe等

2.include文件夹: 里边包含头文件,支持Java本地接口和Java虚拟机调试程序接口的本地代码编程。

和jvm有关的东西,先了解便可。

3.jre文件夹:java的运行环境,包含jvm.

4.lib文件夹:Java类库

 Java开发工具使用的归档文件,其中包含tools.jar,它包含支持JDK的工具和实用程序的非核心类。  

5.src.zip:Java的源代码。

2.什么是JRE?

JRE全拼Java Runtime Environment,Java的运行环境。包含类库和JVM。

3.什么是JVM?

JVM全拼Java Virtual Machine,你可以把JVM理解为Java程序的贴身管家,负责Java的运行,运行期间的管理和结束运行。

运行一个Java程序就会创建一个JVM的实例,当Java程序结束的时候,对应的JVM实例也随之消亡。

JVM的内存模型

执行引擎:JVM工作的核心。

堆内存:只有一个堆,是线程共享的,用于存放对象实例。

方法区:只有一个方法区,是线程共享的,用于存放class和所有的静态变量。

栈区:每个线程都包含一个栈,包含基本数据类型的对象和自定义对象的引用。

4.Java程序的执行过程和Java的跨平台性

Java程序的执行过程

1.Java源代码先被编译成字节码文件(class文件)

2.JVM加载class文件,

3.从main方法处开始执行Java程序。

Java的跨平台性

平台:Os +  硬件环境

计算机只能执行最简单的数字命令。在训练狗的时候,我们会用‘跟上’、‘摇’等命令让狗做我们想让它做的事情。

对计算机来说,数字就起着这些命令的作用。每个命令都由某一特定的数或代码(有时称为机器代码)表示。

但只使用数字来编写程序真的很难,所以人们发明了编程语言和编译器。编程语言可以同时被人和编译器所理解。编译器是一个特殊的程序,

它可将用编程语言编写的程序转换成一系列的机器代码。

程序员通常用编程语言来编写程序,然后运行编译器,将程序员编写的程序代码文件转换为含机器代码的单个文件——最终(已编译的)程序。

生成的程序可由计算机立即执行。坏消息是,最终程序的代码严重依赖于处理器和操作系统。这意味着为 Windows 系统编译的程序将无法在安卓系统智能手机上运行。

Java 编译器不会将所有类都编译成一个机器代码程序。相反,它会独立编译每个类,而且不是编译成机器代码,而是编译成特殊的中间代码(字节码)。当程序启动时,该字节码被编译成机器代码。

有一个特殊的程序叫做 Java 虚拟机 (JVM)。当你需要运行一个字节码程序时,该虚拟机必须先启动。在程序执行之前,JVM 会将字节码编译成机器代码。

这样你只需要有字节码和jvm就可以在支持jvm的所有平台上运行java程序了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值