参考文章:面渣逆袭:Java基础五十三问,快来看看有没有你不会的! - 掘金
这文章写的真好!!!每天背诵至少两道!!!
3.9
1. 什么是Java?
Java是一门面向对象编程语言,不仅继承了C++的各种优点,还摒弃了C++中难以理解的多继承和指针等概念,因此具有功能强大、简单易用的特点。
2. java语言的特点
面向对象(封装、继承、多态)、平台无关性、支持多线程、编译与解释并存。
3. JVM、JRE、JDK的区别?
JVM:java虚拟机,能够针对不同的系统实现不同的JVM,从而实现跨平台;
JRE:java运行环境,包含已编译的java程序所需的所有内容,如:JVM、Java类库、java命令、基础构件,但是它不能创建新程序;
JDK:包含JRE的所有内容,还有编译器和工具,能够创建和编译程序;
简言之:JDK > JRE > JVM
4. 什么是跨平台性?实现原理?
跨平台性:java程序一次编译后,可以在多个平台上运行;(一次编译,多处运行)
原理:java程序是在JVM上运行,只要系统能够安装JVM,就能够在不同的平台上运行。
3.10
5. 什么是字节码文件?字节码文件的优点?
java程序经JDK的javac工具编译后生成的.class文件就是字节码文件。
优点: java程序编译后生成的字节码文件必须通过JVM解释成机器码,机器才能执行,因此,只要在不同的平台上安装对应的JVM,就可以实现java程序的跨平台运行。
6. 为什么说java是编译与解释共存?
java程序运行的三个步骤:
1. 编译:java程序经JDK的javac工具编译成字节码文件;
2. 解释:字节码文件经JVM解释成机器码
3. 执行:操作系统执行JVM生成的机器码



