想要自己教会自己java,从小白成长到架构师。实现硬实力就业!
因为Java是全球排名第一的编程语言,Java工程师也是市场需求最大的软件工程师,选择Java,就是选择了高薪。
为什么Java应用最广泛?
从互联网到企业平台,Java是应用最广泛的编程语言,原因在于:
-
Java是基于JVM虚拟机的跨平台语言,一次编写,到处运行;
-
Java程序易于编写,而且有内置垃圾收集,不必考虑内存管理;
-
Java虚拟机拥有工业级的稳定性和高度优化的性能,且经过了长时期的考验;
-
Java拥有最广泛的开源社区支持,各种高质量组件随时可用。
Java语言常年霸占着三大市场:
-
互联网和企业应用,这是Java EE的长期优势和市场地位;
-
大数据平台,主要有Hadoop、Spark、Flink等,他们都是Java或Scala(一种运行于JVM的编程语言)开发的;
-
Android移动平台。
这意味着Java拥有最广泛的就业市场。
java快速入门
主要内容是快速掌握Java程序的基础知识,了解并使用变量和各种数据类型,介绍基本的程序流程控制语句。
java历史
最早由SUN公司(被Oracle收购)姆斯·高斯林(Java之父)开发的一种编程语言。随着互联网高速发展,Java逐渐成为最重要的网络编程语言。
Java介于编译型语言和解释型语言之间。C、C++,代码直接便器成机器码执行,但不同平台(x86、ARM等)CPU指令集不同,需编译每一种平台对应机器码。
解释型语言如Python、Ruby,可以由解释器直接加载源代码然后运行,代价是效率太低。
Java是将代码编译成一种“字节码”,类似于抽象的CPU指令。对于开发者,不同平台虚拟机负责加载字节码并执行,实现“一次编写,到处运行”。对于虚拟机,从实践的角度看,JVM的兼容性做的非常好,版本的Java字节码完全可以正常运行在高版本的JVM上。
Java的三个不同版本:
- Java SE: Standard Edition
- Java EE: Enterprise EditionSIS
- Java ME: Micro Edition
三者之间的关系?
Java SE是标准版,包含标准JVM和标准库
Java EE是企业版,Java SE的基础上加了大量的API和库,方便开发Web应用、数据库、消息服务 ,虚拟机是和Java SE完全一样的。
Java ME 是针对嵌入式设备的“瘦身版”,标准库无法在Java ME上使用,Java ME的虚拟机也是“瘦身版"。
Java SE是整个Java平台的核心,而Java EE是进一步学习Web应用所必须的。
推荐的Java学习路线图?
-
首先要学习Java SE,掌握Java语言本身、Java核心开发技术以及Java标准库的使用;
-
如果继续学习Java EE,那么Spring框架、数据库开发、分布式架构就是需要学习的;
-
如果要学习大数据开发,那么Hadoop、Spark、Flink这些大数据平台就是需要学习的,他们都基于Java或Scala开发;
-
如果想要学习移动开发,那么就深入Android平台,掌握Android App开发。
Java版本
时间 | 版本 |
---|---|
1995 | 1.0 |
1998 | 1.2 |
2000 | 1.3 |
2002 | 1.4 |
2004 | 1.5 / 5.0 |
2005 | 1.6 / 6.0 |
2011 | 1.7 / 7.0 |
2014 | 1.8 / 8.0 |
2017/9 | 1.9 / 9.0 |
2018/3 | 10 |
2018/9 | 11 |
2019/3 | 12 |
2019/9 | 13 |
2020/3 | 14 |
2020/9 | 15 |
2021/3 | 16 |
2021/9 | 17 |
2022/3 | 18 |
2022/9 | 19 |
2023/3 | 20 |
2023/9 | 21 |
名词解释
初学者学Java,经常听到JDK、JRE这些名词,它们到底是啥?
- JDK:Java Development Kit
- JRE:Java Runtime Environment
JRE运行Java字节码虚拟机,要编译Java字节码,需要JDK,JDK包含JRE,提供编译器、调试器等开发工具。
二者关系:
JSR、JCP是什么?
- JSR规范:Java Specification Request
- JCP组织:Java Community Process
所以JSR是一系列的规范,从JVM的内存模型到Web程序接口,全部都标准化了。而负责审核JSR的组织就是JCP。
一个JSR规范发布时,同时发布一个“参考实现”,以及一个“兼容性测试套件":
- Rl: Reference Implementation
- TCK: Technology Compatibility Kit
RI只是一个“能跑”的正确代码,不追求速度。