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

相关推荐
Wang's Blog10 分钟前
Java框架快速入门: Spring Security+OAuth2之多因子认证与TOTP实战
java·spring·ui
m0_7345717615 分钟前
深入理解C++ 析构函数<一>基本概念
开发语言·c++
滕州市燕猫虎计算机科技工作室个体工商户29 分钟前
Java面试题汇总
java·开发语言
天空之城--30 分钟前
Flutter Drift 完全指南:从原理到实战
jvm·flutter·oracle
孙启超1 小时前
【AI开发之Rust】第 3 课:字符串与复合类型 —— 数据怎么放
开发语言·人工智能·后端·rust·llm·transformer
t-think1 小时前
C++ string 类(上)—— string类初识与常用接口详解
开发语言·c++
cpp_learners2 小时前
C++ 实现责任链模式(Chain of Responsibility):从一堆 if-else 到可插拔的处理管道
开发语言·c++·责任链模式
2301_32241428042 小时前
活力孕康复APP 47737- 原创(免费领源码+部署教程+开发环境)
java·vue.js·spring boot·mysql·微信小程序·idea·微信开发者工具
君顾12 小时前
外卖CPS软件开发实战:从系统架构到部署全流程指南
java·开发语言·外卖