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

相关推荐
孤华暗香1 分钟前
Python快速入门 —— 第三节:类与对象
开发语言·python
Monodye10 分钟前
【Java】网络编程:TCP_IP协议详解(IP协议数据报文及如何解决IPv4不够的状况)
java·网络·数据结构·算法·系统架构
一丝晨光16 分钟前
逻辑运算符
java·c++·python·kotlin·c#·c·逻辑运算符
元气代码鼠17 分钟前
C语言程序设计(进阶)
c语言·开发语言·算法
霍霍哈嗨29 分钟前
【QT基础】创建项目&项目代码解释
开发语言·qt
friklogff30 分钟前
【C#生态园】从图像到视觉:Emgu.CV、AForge.NET、OpenCvSharp 全面解析
开发语言·c#·.net
无名指的等待71240 分钟前
SpringBoot中使用ElasticSearch
java·spring boot·后端
Tatakai251 小时前
Mybatis Plus分页查询返回total为0问题
java·spring·bug·mybatis
武子康1 小时前
大数据-133 - ClickHouse 基础概述 全面了解
java·大数据·分布式·clickhouse·flink·spark
.生产的驴1 小时前
SpringBoot 消息队列RabbitMQ 消费者确认机制 失败重试机制
java·spring boot·分布式·后端·rabbitmq·java-rabbitmq