为什么 Java 能这么流行

栏目: Java · 发布时间: 5年前

内容简介:这种问题比较笼统,如果我遇到这个问题,我会从下面几个点阐述我的观点:这种问题属于开放式问题,可以考察很多方面的内容,例如面试者的基础知识是否扎实、知识体系是否完整。越是开放的问题,回答越不能发散,要给出系统性、结构性的回答,表现出自己是系统、全面得掌握了Java语言和其所运行的平台的。

阅读本文大概需要4分钟。

典型回答

这种问题比较笼统,如果我遇到这个问题,我会从下面几个点阐述我的观点:

  1. Java通过JVM实现了“一次编写,到处运行”的特性,由JVM屏蔽掉了不同平台的差异性,并创建了字节码语言来作为 Java 代码的“汇编语言”,JVM读取字节码文件、解析字节码文件来运行;

  2. JVM提供了垃圾收集器,大部分情况下,程序员不需要自己担心内存的分配和回收;

  3. Java在企业级开发领域具备杀手级框架Spring全家桶,让Java在企业服务领域几无敌手;

  4. Java在客户端开发领域具备杀手级应用场景——Android开发;

  5. Java开发的生态非常丰富和完整,有无数成熟可靠的开源软件;

  6. Java是一门面向对象的静态类型语言,面向对象的特性有助于Java构建大型的、复杂的应用,静态类型语言使得Java在运行时的速度远胜于解释性语言,同时使得Java应用在编译期可以发现很多问题,是类型安全的;

  7. Java一直在发展和进化,Java 1.5补充了很多有用的特性、Java 1.8开始引入stream、lambda等特性来拥抱函数式编程范式、Java 1.9开始支持模块化等等

问题分析

这种问题属于开放式问题,可以考察很多方面的内容,例如面试者的基础知识是否扎实、知识体系是否完整。越是开放的问题,回答越不能发散,要给出系统性、结构性的回答,表现出自己是系统、全面得掌握了Java语言和其所运行的平台的。

知识点扩展

1、Java知识地图

首先看一张图,是Oracle对Java核心概念的一些总结

为什么 Java 能这么流行

这张图看着密密麻麻的,不太好懂,我整理了一份脑图出来,看着更清晰一点在这张图里我利用虚线框表示包含关系(PS: 如果需要原文件,可以在公众号后台输入关键字——java001 )。

为什么 Java 能这么流行

  1. JVM虚拟机:按照虚拟化里面的概念,JVM虚拟机属于宿主型虚拟机,作为一个虚拟机,最核心的模块是:运行时内存管理、类加载、字节码系统、执行引擎、垃圾收集器等等;

  2. JRE(Java运行时环境):只有JVM,对于普通的Java开发者来说难度太高了,因此Hotspot的开发者还为普通开发者提供了对应的Java SE API和其他开发者需要的类库,这些API、类库和JVM共同构成了Java运行时环境。

  3. Java语言:JVM之上不仅仅有Java语言长盛不衰,还培育出了丰富的语言生态,例如Scala、Groovy、Kotlin、等新生代的语言。

  4. JDK:JVM、JRE,在加上辅助 工具 、Java语言,共同构成了JDK。

2、应用场景

从Java语言的应用场景和生态看,分为如下几点:

  1. 企业级开发(J2EE):SSM框架、Spring Boot、Spring Cloud、JPA、缓存、批量处理、定时任务等等;

  2. 客户端开发(J2ME):安卓开发

  3. 大数据开发:Spark、Hadoop、Hbase、ES等等

3、新特性

在将上面的内容讲完后,面试官对你的知识体系的完整性应该会比较满意,接下来还可以谈下Java各个版本的发展,最好能提到某个版本比较重大的新特性,向面试官证明你不仅掌握了基础,还随时跟进Java语言最新的发展。

  1. Java 1.8:函数式编程、stream、lambda表达式

  2. Java 1.9:模块化

  3. Java 1.11:ZGC

参考资料

  1. Description of Java Conceptual Diagram

   


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

ASP.NET 2.0技术内幕

ASP.NET 2.0技术内幕

埃斯帕斯托 / 施平安 / 清华大学出版社 / 2006-8 / 68.00元

《ASP.NET2.0技术内幕》围绕着ASP.NET 2.0是Web开发的重要分水岭这一主题,采用自顶向下的方式介绍ASP.NET 2.0的最新编程实践,从更广泛的特征到具体的实现和编程细节,充分展示了ASP.NET的最新编程实践。全书共15章,主题涉及HTTP运行库、安全性、缓存、状态管理、控件、数据绑定和数据访问。   《ASP.NET2.0技术内幕》主题丰富,讲解透彻,包含大量实例,是......一起来看看 《ASP.NET 2.0技术内幕》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具