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否则无法通过编译。

相关推荐
海鸥-w1 小时前
什么是AOP
java
Cc.Y2 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
paopaokaka_luck2 小时前
基于springboot+vue的智慧家政管理系统(AI问答、 WebSocket实时沟通、ECharts运营分析、订单规则与服务追踪)
java·javascript·spring boot·数据分析·echarts·mybatis
sm_926787052 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
阿森_dev2 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计
by209992 小时前
C++ 多态:同一个基类接口,调用不同的函数
开发语言·c++·经验分享·多态
笔墨登场说说2 小时前
flink bin/start-cluster.sh 帮我做成开机启动
开发语言·python
Sarvartha2 小时前
Lambda 表达式和函数式接口
java·开发语言
计算机毕业设计杰瑞2 小时前
【计算机毕设精品】基于SpringBoot的一体化教务与学业质量管理系统的设计与实现,附源码_增删改查_java项目_可完美运行部署_网站项目
java·spring boot·课程设计
小白学大数据2 小时前
拼多多反爬对抗实战:Scrapy 中间件化采集架构解析
开发语言·scrapy·中间件·架构