基础知识
<h2>java SE 、Java EE 、 Java ME</h2>
<pre><code>JAVA之父:詹姆斯 高斯林
JAVA SE:(Java Platform,Standard Edition),Java平台标准版,是Java平台的基础 Java se包含了运行java程序所需的基础环境和核心类库,还定义了基于桌面应用的基础类
JAVA EE:(Java Platform,Enterprise Edition),Java平台企业版,在Java se的基础上,用于构建企业级应用
JAVA ME:(Java Platform,Micro Edition),java平台微型版为机顶盒、移动电话和PDA等陷入式消费电视设备提供的java解决方案。如早期的塞班系统</code></pre>
<h2>java、 javac、 javap 之间的关系?</h2>
<pre><code>javac 编译.java 文件,生成字节码文件
java 运行编译后的java 字节码文件
javap 用于帮助开发者深入了解 java 编译器机制
JDK=JRE+多种Java开发工具
JRE=JVM+各种类库
这三者的关系是一层层的嵌套关系。JDK>JRE>JVM</code></pre>
<h2>GC 怎么进行优化 ?</h2>
<h2>JDK 与 JRE 之间的区别?</h2>
<pre><code>JDK全称是Java开发工具包(Java Development Kit),它包含了Java从开发到运行的各种工具。
JRE指的则是Java运行环境(Java Runtime Environment),它包含了基础类库和JVM虚拟机。</code></pre>
<h2>Jvm 运行概述</h2>
<pre><code>JVM 运行过程
javac 编译器
源码经过 javac之后生成.class(字节码) 文件
javac 主要做了一下一些事情:
a. 词法分析
b. Token流
c. 语法分析器
d. 抽象语法树
e. 语义分析器
f. 注释抽象语法树
g. 字节码生成器
java 虚拟机
JIT(just in time [即时编译技术]) 编译器
a. 机器无关优化
b. 中间代码
c. 机器相关优化
d. 寄存器分配器
e. 中间码生成器
字节码解释器</code></pre>
<h2>容易混淆的空字符串和null</h2>