JDK、JRE、JVM的区别&&java的基本数据类型

说一说JDK、JRE、JVM的区别在哪?

JDK:

Java Delopment kit是java工具包,包含了编译器javac,调试器(jdb)以及其他用于开发和调试java程序的工具。JDK是开发人员在开发java应用程序时候所需要的的基本工具。
JRE:

Java Runtime Enviroment是java运行环境,包含了用于执行java程序的运行时库(java API)以及java虚拟机(JVM)。JRE只是用于运行java程序而不包含开发工具。
JVM:

Java Virtual Machine是Java虚拟机是一种能够执行java字节码的虚拟机。JVM是将java代码翻译成机器码并在计算机上执行的关键组件。它负责加载字节码,执行字节码并进行垃圾回收等任务。JVM是java跨平台特性的基础,它使得java程序能够在不同的操作系统和硬件上运行。

补充:我们首先要知道什么是字节码?在java中jvm可以理解的代码就是字节码就是所谓的.class文件,我们写的java源文件都是.java文件。我们来看下java程序的过程(采用javaguide的图来说明)。

过程就是由.java文件经过javac编译(这个javac编译工具上文提到包含在jdk之中)然后变为.class文件(也就是字节码文件)后经过解释器和JIT转变为机器可理解的代码。这一步的详细过程是JVM类加载器首先加载.class文件,然后解释器逐行解释执行,这种方式的执行速度相对来说较慢,后来引进了JIT编译器。JIT进行第一次编译时候会将对应的机器码保存下来,以供下次使用。,机器码的运行效率肯定是高于 Java 解释器的。这也解释了我们为什么经常会说 Java 是编译与解释共存的语言 。

java的基本数据类型

java的基本数据类型共有八种。

byte 一字节,表示范围由-128到127 默认值0

short 二字节 默认值0

int 四字节 默认值0

long 八字节 默认值0

double 八字节 0d

float 四字节 0f

char 二字节 'u0000'

boolean 一位 false

注意:java使用long类型时候必须加上L否则将会作为整数解析。使用float时候也要在后面加上f或者F否则无法通过编译。

相关推荐
kaikaile1995几秒前
基于MATLAB的滑动轴承弹流润滑仿真程序实现
开发语言·matlab
禹凕2 分钟前
Python编程——进阶知识(MYSQL引导入门)
开发语言·python·mysql
MSTcheng.6 分钟前
【C++】C++异常
java·数据库·c++·异常
傻乐u兔1 小时前
C语言进阶————指针4
c语言·开发语言
大模型玩家七七1 小时前
基于语义切分 vs 基于结构切分的实际差异
java·开发语言·数据库·安全·batch
历程里程碑1 小时前
Linux22 文件系统
linux·运维·c语言·开发语言·数据结构·c++·算法
牛奔2 小时前
Go 如何避免频繁抢占?
开发语言·后端·golang
寻星探路6 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
lly2024068 小时前
Bootstrap 警告框
开发语言