谈谈你对 Java 平台的理解(待补充)

《Java核心技术面试精讲–杨晓峰》学习笔记目录

转自极客《Java核心技术面试精讲 杨晓峰》

Java的特性:

  • 面向对象:封装、继承、多态
  • 平台无关性
    原理(Java代码的执行过程):C/C++的编译是直接把代码翻译成机器码,而 java 的编译是先通过 javac 工具编译成字节码(.class)文件。JVM 再对(.class)文件读取一条、编译一条(二次编译)、执行一条。到这里 Java 是解释执行
  • 垃圾回收
    Java 通过垃圾搜集器回收分配内存,到部分情况下,程序员不需要自己操心内存的分配和回收。

JRE:

  • Java 的基本运行环境。包含 JVM 和 Java 类库。

JDK:

  • Java 的开发工具。在 JRE 的基础上包含了更多工具。
  • 比如 Java 8 的 JIT 。JDK8 的 Java是混合编译。原因在于 JIT (编译执行)会将某些运行特别的代码编译成与本地平台相关的机器码,因此 Java 程序会越运行越快。
  • Java 9 提供了 AOT 编译器,运行时通过工具直接将字节码编译成机器码执行。

Java 的类加载机制:

  • 加载过程:加载、验证、链接、初始化
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章