博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDK和JRE
阅读量:5033 次
发布时间:2019-06-12

本文共 846 字,大约阅读时间需要 2 分钟。

JDK和JRE的区别是什么

JRE: Java Runtime Environment 

JDK:Java Development Kit
JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。
JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。

 

 

再说说java的跨平台吧:
  java源程序先经过javac编译器编译成二进制的.class字节码文件(java的跨平台指的就是.class字节码文件的跨平台,.class字节码文件是与平台无关的),.class文件再运行在jvm上,java解释器(jvm的一部分)会将其解释成对应平台的机器码执行,所以java所谓的跨平台就是在不同平台上安装了不同的jvm,而在不同平台上生成的.class文件都是一样的,而.class文件再由对应平台的jvm解释成对应平台的机器码执行

 

最后解释下机器码和字节码的区别:
 一,机器码,完全依附硬件而存在~并且不同硬件由于内嵌指令集不同,即使相同的0 1代码

意思也可能是不同的~换句话说,根本不存在跨平台性~比如~不同型号的CPU,你给他个指令10001101,他们可能会解析为不同的结果~

二,我们知道JAVA是跨平台的,为什么呢?因为他有一个jvm,不论那种硬件,只要你装有jvm,那么他就认识这个JAVA字节码~~~~至于底层的机器码,咱不用管,有jvm搞定,他会把字节码再翻译成所在机器认识的机器码~~~

转载于:https://www.cnblogs.com/xiaocao123/p/10534710.html

你可能感兴趣的文章
oracle11G安装过程中两个参数详解
查看>>
Easy Mock
查看>>
前端进阶之路
查看>>
Oracle数据库版本号定期检视与升级的必要性分析
查看>>
python基础
查看>>
webservice soap wsdl简介
查看>>
项目冲刺-第八天
查看>>
ORACLE磁盘空间占满解决
查看>>
IMPDP】同一数据库实例不同用户间数据迁移复制——NETWORK_LINK参数
查看>>
ISCC2019-REV3
查看>>
svn安装教程
查看>>
【LeetCode & 剑指offer刷题】动态规划与贪婪法题11:121. Best Time to Buy and Sell Stock(系列)...
查看>>
C和指针 第十章 结构和联合 习题
查看>>
对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC。
查看>>
双向循环链表
查看>>
Iterator和for...of
查看>>
jupyter notebook 安装代码提示功能
查看>>
状压DP概念 及例题(洛谷 P1896 互不侵犯)
查看>>
java 复习
查看>>
【心情】此时此刻。
查看>>