美文网首页
一 java体系的理解

一 java体系的理解

作者: BeYearn | 来源:发表于2018-11-15 18:30 被阅读0次
  1. 通常把java分为编译期和运行期, 但此处的编译和c语言的编译意义不同, javac的编译是将java源码编译为".class"字节码文件, 而不是可以直接执行的机器码. 在运行时,JVM通过class-loader加载字节码, 然后再解释或者编译执行

  2. jdk8实际是解释和编译混合的模式 提供了JIT(just in time)编译器即动态编译器, 可在运行时将热点代码编译成机器码, 该情况下热点代码就属于编译执行而非解释执行了

  3. jvm启动时.

指定"-Xint" 即告诉jvm只进行解释执行(逐条读入,逐条解释运行),这种模式抛弃了JIT可能带来的性能优势.

指定"-Xcomp" 告诉jvm关闭解释器,不进行解释执行,或者叫做最大优化级别. 但这种模式会导致jvm启动变慢非常多

此外还有一种新的编译方式: AOT(Ahead-of-TIme Compilation),直接将字节码编译为机器码, 这样可避免JIT预热等方面的开销, 如Oracle jdk9, 就增加了AOT特性, 并增加了jaotc工具(也有三方工具), 如下可将某个类或者某个模块编译为AOT库.

jaotc --output libHelloWorld.so HelloWorld.class
jaotc --output libjava.base.so --module java.base

然后在启动时指定即可

java -XX:AOTLibrary=./libHelloWorld.so,./libjava.base.so HelloWorld

相关文章

  • 一 java体系的理解

    通常把java分为编译期和运行期, 但此处的编译和c语言的编译意义不同, javac的编译是将java源码编译为"...

  • Java异常的分类

    参考Java异常体系简析深入理解Java中异常体系 简单的介绍一下: Throwable是所有异常的父类 Erro...

  • Java核心36讲笔记整理

    @(Java基础)[学习笔记|] 一、谈谈你对Java体系的理解?“Java是解释执行”,这句话是正确的吗? wr...

  • 从设计者的角度理解Java IO流

    摘要 Java I/O是Java技术体系中非常基础的部分,它是学习Java NIO的基础。而深入理解Java NI...

  • Java异常总结

    目录 理解Java异常处理机制的结构体系,理解Throwable、Exception/Error的设计和分类。 理...

  • 1.Java概述

    Java概述 技术体系 Java技术体系技术体系说明Java SE(Java Standard Edition):...

  • 【专题】Java技术体系

    这是《深入理解Java虚拟机》的读书笔记。 1、Java技术体系 Java程序设计语言 各硬件平台上的Java虚拟...

  • java type体系理解(转载)

  • JVM 学习记录

    一、Java 1.1 Java 技术体系包含什么? Java 技术体系包含Java 程序设计语言、Java 虚拟机...

  • java 安全体系算法调用过程

    java 安全体系主要分为 JCA(Java Cryptography Architectrue)java加密体系...

网友评论

      本文标题:一 java体系的理解

      本文链接:https://www.haomeiwen.com/subject/mbgjfqtx.html