JDK/JRE/JVM 关系

常用基础知识,光会用不会明白还是懵逼啊,不踏实的感觉

1.JDK Development ToolKit(Java开发工具包),JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API包括rt.jar)。3个版本 J2SE,standard edition,J2EE,第3个是最常用的.JavaAPI是Java的应用程序接口,其实就是前辈们写好的一些java Class,包括一些重要的语言结构以及基本图形,网络和文件I/O等等

JRE:JavaRuntimeEnviromental(java运行时环境)。也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。

3.JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM的主要工作是解释自己的指令集(即字节码)并映射到本地的CPU的指令集或OS的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM对上层的Java源文件是不关心的,它关注的只是由源文件生成的类文件(class file)。类文件的组成包括JVM指令集,符号表以及一些补助信息.  说白了,就是这玩意是个虚拟计算机,因为这东西只用class文件所以不管什么系统都可以用JAVA,由于JVM所以JAVA才有跨平台性。

JAVA开发的大体流程是 :利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码(基础,映射到CPU指令集或OS的系统调用。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,850评论 19 139
  • 每个使用Java的开发者都知道Java字节码是在JRE中运行(JRE: Java 运行时环境)。JVM则是JRE中...
    燕京博士阅读 5,371评论 0 6
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,497评论 18 399
  • 如果,我爱你,我便放身流浪,不会在你们灰飞成烟后带着空洞洞的“礼盒”还给等了二十多年的孤魂。 我,...
    冬忘阅读 2,778评论 0 9
  • “大三了,你有什么后悔的事么?” “有!当初没有再努力一点,当初没有选择去一线城市读大学,哪怕只是好一点的大专。”...
    我是Ami阅读 1,868评论 0 1

友情链接更多精彩内容