Java的优势?

主要是跨平台,垃圾回收,生态,面向对象这四个方面

跨平台

Java是跨平台的编程语言,不同平台执行的机器码他不一样,而Java加了一个中间层JVM,然后做到一次编写处处运行,像现在主流的三个系统,Windows,Mac,Linux,wora吗,write once,run anywhere。

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

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

源代码 =》字节码 =》JVM解释(或JIT编译执行) =》机器码

垃圾回收

Java还提供了垃圾的自动回收功能,虽然说手动管理更自由精细,但是也容易出错,在内存较为充裕的情况下就可以使用GC来进行内存管理,减轻了我们开发的负担,还提高了效率,代码也更整洁点。

生态

现在国内70%的岗位都用的是Java,虽然说是卷了亿点,但是生态什么的很全面啊,各种框架,中间件,第三方库,开源项目什么的,无论是学习还是解决问题找资料都很好找。

面向对象

Java他主要一个特点不就是面向对象吗,类、对象、继承、接口这些概念,还有多态继承,封装这些,代码的维护性,扩展性都挺好的。