跳转至

1 你认为 Java 的优势是什么?

约 445 个字 预计阅读时间 1 分钟

这种笼统的问题如果对某些知识点没有深入、系统地认识绝对会蒙!

所以为什么经常碰到面试官问你一些空、大的问题?其实就是考察你是否有形成体系的理解

回到问题本身。我觉得可以从跨平台垃圾回收生态三个方面来阐述。

跨平台

首先 Java 是跨平台的,不同平台执行的机器码是不一样的,而 Java 因为加了一层中间层 JVM ,所以可以做到一次编写多平台运行,即 「Write once,Run anywhere」。

编译执行过程是先把 Java 源代码编译成字节码,字节码再由 JVM 解释或 JIT 编译执行,而因为 JIT 编译时需要预热的,所以还提供了 AOT(Ahead-of-Time Compilation),可以直接把字节码转成机器码,来让程序重启之后能迅速拉满战斗力。

(解释执行比编译执行效率差,你想想每次给你英语让你翻译阅读,还是直接给你看中文,哪个快?)

垃圾回收

Java 还提供垃圾自动回收功能,虽说手动管理内存意味着自由、精细化地掌控,但是很容易出错。

在内存较充裕的当下,将内存的管理交给 GC 来做,减轻了程序员编程的负担,提升了开发效率,更加划算!

生态

现在 Java 生态圈太全了,丰富的第三方类库、网上全面的资料、企业级框架、各种中间件等等,总之你要的都有。

基本上这样答差不多了,之后等着面试官延伸。

当然这种开放性问题没有固定答案,我的回答仅供参考。