JDK,JRE和JVM的区别与联系有哪些?

JDK,JRE和JVM的区别与联系有哪些?

概念

  • JDK(Java Development Kit)是一个完整的Java软件开发工具包,包括了

    • 运行时环境JRE
    • 编译器Javac
    • 调试工具Jconsole
    • 分析工具Jvisualbm
    • 文档生成工具JavaDoc等
  • JRE(Java Runtime Environment)是Java运行时环境,包括了

    • JVM
    • Java核心类库
  • JVM(Java virtual Machine)是指Java虚拟机,负责将字节码转换成特定机器代码,JVM包括了

    • 内存管理
    • 垃圾回收
    • 安全机制

区别与联系

  • JDK是开发工具包,用于Java程序开发;JRE是Java运行时环境,用于代码运行
  • JDK包含JRE,JDK和JRE均包含JVM

Java语言的平台无关性是如何实现的?

  1. Java程序都运行在JVM上,而JVM屏蔽了底层操作系统和硬件的差异
  2. 执行一个Java程序时,首先通过JavaC将程序编译成.class格式字节码文件,再交给JVM解释成特定平台的机器码
  3. Java规定了基本数据的取值范围和行为在各个平台保持一致

Java语言是编译型还是解释型语言?

  1. Java不能单纯的被分类成编译型或者解释型代码
  2. 通常认为Java是执行了编译和解释两个过程,是一种先编译后解释执行的语言
  3. Java还存储JIT即时编辑器,可将热点代码编译成为本地机器码
  4. JDK9开始提供了AOT编译器,可以将所有代码编译成为机器码
全部评论

相关推荐

吐泡泡的咸鱼:我也工作了几年了,也陆陆续续面试过不少人,就简历来说,第一眼学历不太够,你只能靠你的实习或者论文或者项目经历,然后你没有论文,没有含金量高的比赛和奖项,只能看实习和项目,实习来说,你写的实习经历完全不清楚你想找什么工作?行研?数据分析?且写的太少了,再看项目,这些项目先不说上过大学读过研究生的都知道很水,然后对你想找的岗位有什么帮助呢?项目和实习也完全不匹配啊,你好像在努力将你所有的经历都放在简历里想表现你的优秀,但是对于你想找的岗位来说,有什么用呢?最后只能获得岗位不匹配的评价。所以你需要明白你想要找的岗位要求是什么,是做什么的,比如产品经理,然后再看你的经历里有什么匹配的上这个岗位,或者对这个岗位以及这个岗位所在的公司有价值,再写到你的简历上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务