Java核心技术之谈谈你对Java平台的理解

Java核心技术之谈谈你对Java平台的理解

什么是Java?

Java本身是一种面向对象的语言,其跨平台性和通过垃圾回收器进行垃圾回收是它的最主要的两个特性。刚开始学习Java的人通常会被Jre和JDK的概念困扰。JRE,也就是Java的运行环境,包含了JVM和Java类库以及一些模块等;而JDK除了JRE之外还提供了一些工具。
对于Java来说,在一次编译之后,生成了字节码,通过JVM内嵌的解释器将字节码解释执行;但是对于常见的JVM实现来说,都提供了JIT编译器,也就是动态编译器,能够将部分热点代码编译成机器码,这种情况就是编译执行。
我们通常把Java分为编译器和运行时,编译期是编译生成字节码,通过字节码实现了跨平台的抽象。
在运行时,JVM会通过类加载器加载字节码,解释或者编译执行。目前主流的JDK版本是混合模式(编译和解释混合的一种模式)。通常运行在server模式的JVM,会进行上万次调用以收集足够的信息进行高效的编译,client模式这个门限是1500次。Oracle Hotspot JVM内置类两个不同的JIT Compiler,C1对应client模式,C2则对应着server模式。
JVM启动参数:
-Xint:告诉JVM只进行解释执行
-Xcomp:告诉JVM关闭解释执行
AOT特性:直接将字节码编译成机器代码,可以通过JDK9中的jaotc或者一些第三方库实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值