01 | 谈谈你对 Java 平台的理解?

↑↑↑ 欢迎 点赞、关注、收藏!!!,10 年 IT 行业老鸟,持续分享更多 IT 干货

注: 本笔记为 公司内部技术小组持续学习 2 年多时间 + 个人整理不下 5 次的结果产出。

目录

01 | 谈谈你对 Java 平台的理解?

典型回答

考点分析

扩展


01 | 谈谈你对 Java 平台的理解?


问题

  • 谈谈你对 Java 平台的理解?

  • “Java 是解释执行”,这句话对吗?


典型回答

  1. Java 最显著的特性:

    • 书写一次,到处运行(Write once,run anywhere)

    • 垃圾收集(GC,Garbage Collection)

  2. JRE(Java Runtime Environment)

    • 包含了 JVM 和 Java 类库,及一些模块等。

  3. JDK(Java Development Kit)

    • 可以看作 JRE 的一个超集,提供了更多工具。

  4. "Java 是解释执行" 这句话,不太准确

    • java 源码 => 字节码(bytecode)=> 通过 JVM 转换成机器码。

    • Oracle JDK 提供的 Hotspot JVM,都提供了 JIT (Just-In-Time) 编译器,也就是常说的动态编译器,JIT 能够在运行时将热点代码编译成机器码。这种情况下部分代码就属于编译执行,而不是解释执行了。


考点分析

  1. 要表现出思维的深度和系统化,Java 知识理解得也比较全面


扩展

  1. 对于 Java 平台的理解

    • Java 语言特性

    • 基础类库

    • JVM 的一些基础概念和机制

      • 类加载机制:Class-Loader

      • 类加载大致过程:加载、验证、链接、初始化

      • 垃圾收集:SerialGC、Parallel GC、CMS、G1

  2. 蓝图

    • img

  3. Oracle Hotspot JVM 内置了两个不同的 JIT compiler

    • C1,client 模式,适用于对启动速度敏感的应用。如,Java 桌面应用。

    • C2,server 模式,适用于长时间运行的服务器端应用。

  4. JVM 参数

    • “-Xint”,解释执行

    • “-Xcomp”,关闭解释器,不要进行解释执行

  5. AOT(Ahead-of-Time Compilation)

    • 直接将字节码编译成机器代码

    •    
       # 编译
       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面试_Java基础-极客时间

↑↑↑ 欢迎 点赞、关注、收藏!!!,10 年 IT 行业老鸟,持续分享更多 IT 干货

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写文章的大米

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值