在学极客时间上Java核心36讲,这是每一讲对应的笔记。程序员
谈谈对 Java 平台的理解,Java是解释执行,这句话正确吗?工具
扩散性问题,须要表现出本身的思惟深刻并系统化,Java 知识理解得也比较全面。cdn
Java 是一门面向对象语言,有跨平台和 GC 的特色。跨平台基于 JVM 实现“ write once,run anywhere”,GC 指的是不须要程序员考虑内存的分配和回收。对象
JRE(Java Runtime Environment)包括 JVM、Java 类库,提供 Java 程序的运行环境,JDK(Java Development Kit)包括 JRE 和更多如编译器、诊断工具等,提供给开发人员使用。内存
好比以前用 jmap dump 处处内存信息排查 Full GC 致使的 CPU 满载。开发
编译执行指的是边编译边执行,好比火锅边涮边吃;解释执行指的是先编译好,再执行,好比炒菜抄完了再吃。编译器
Java 是解释执行语言,先将源代码经过 Javac 编译成字节码,再在运行时经过 JVM 的解释器转换为机器码。但也有编译执行的 JVM,如 Oracle JDk 的Hostpot JVM 提供了 JIT(Just In Time),在编译的时候生成机器码,即为编译执行。还有Oracle JDK 9 引入的实验性 AOT(Ahead of Time Compilation),在编译前生成机器码。it
好比以前联调嫌每次改代码都重启项目很耗时,重写了 ClassLoader 实现了编译执行。io
每一次成长,都想与你分享。 编译