Java 介绍

2023/11/5 Java基础

# 1、Java发展史

Java的发展史可以分为几个阶段

  • Java的起源和初期发展(1991-1995年)

Java最初是由Sun Microsystems的詹姆斯·高斯林(James Gosling)等人在1991年开发的。最初的目标是为了开发物联网设备,但很快就转变为一种跨平台、可移植的编程语言。1995年,Sun在发布了Java 1.0版本后,开始积极推广Java,并在1996年建立了Java Community Process(JCP),以促进Java的标准化和发展。

  • Java的快速发展和广泛应用(1996-2000年)

由于Java具有跨平台和可移植性的特点,它迅速得到了广泛的应用。1996年,Netscape公司推出了JavaScript,这极大地推动了Java在Web应用开发中的应用。随后,Java在企业级应用开发中也取得了成功,尤其是Java的Web应用开发框架(如Servlet和JSP)的出现,使得Java成为了企业级开发的首选语言。

  • Java的发展和社区贡献(2000-2010年)

在这个阶段,Java的开发和改进主要由Java社区贡献者来推动。2000年,Java 2平台标准版(Java 2 Platform, Standard Edition,简称J2SE)发布,引入了许多新特性和改进。同时,Java的开源实现项目开始兴起,如Apache的开源Java实现项目(Apache Harmony)和Eclipse开发环境。此外,Java的应用领域也拓展到移动设备和嵌入式系统,Sun发布了Java 2平台微版(Java 2 Platform, Micro Edition,简称J2ME)。

  • Oracle收购Sun Microsystems和Java的发展(2010年至今)

在2010年,Oracle收购了Sun Microsystems,成为Java的新所有者。Oracle继续推动Java的发展,推出了Java 7(2011年)和Java 8(2014年)等版本,并在2017年发布了Java 9,引入了一系列新特性和改进,如模块化系统(Java Platform Module System,简称JPMS)。此外,Oracle还推出了Java的云计算平台(Oracle Cloud Platform),致力于将Java应用迁移到云上。

Java各详细版本年份
  • JDK 1.0(1996年1月):最早的Java版本,包括Java编译器、Java虚拟机和Java核心类库。
  • JDK 1.1(1997年2月):增加了内部类、JavaBeans、RMI、JDBC和反射等功能。
  • Java 2(1998年12月):将Java分为标准版(Java SE)、企业版(Java EE)和微型版(Java ME)三个版本。
  • JDK 1.2(1998年12月):引入了Java的重大改进,包括集合框架、Swing GUI库、Java命名和目录系统(JNDI)等。
  • JDK 1.3(2000年5月):增加了Java Sound API、Java Naming and Directory Interface(JNDI)和Java Platform Debugger Architecture(JPDA)等功能。
  • JDK 1.4(2002年2月):引入了重要的改进,如正则表达式支持、NIO(New I/O)库、Java Web Start和增强型Java虚拟机性能。
  • Java SE 5.0(2004年9月):引入了许多重要的新特性,如泛型、注解、枚举、自动装箱/拆箱和可变参数等。
  • Java SE 6(2006年12月):增加了JavaScript引擎(Rhino)、JAXB(Java Architecture for XML Binding)和JDBC 4.0等功能。
  • Java SE 7(2011年7月):引入了重要的新特性,如NIO.2、Fork/Join框架、字符串类型的switch语句和可用性改进。
  • Java SE 8(2014年3月):包含了许多重要的新功能,如Lambda表达式、Stream API、新的时间日期API和并行数组操作等。
  • Java SE 9(2017年9月):引入了模块化系统(Project Jigsaw)、REPL(JShell)、HTTP 2.0和改进的性能等。
  • Java SE 10(2018年3月):增加了局部变量类型推断、增强的Java虚拟机性能和其他小的语言和库改进。
  • Java SE 11(2018年9月):成为Java的新的长期支持(LTS)版本,包括Lambda表达式扩展、局部变量语法改进和HTTP Client API等。
  • Java SE 12(2019年3月):增加了Switch语句的改进、新的垃圾回收器和新的字符串方法等。
  • Java SE 13(2019年9月):包含了一些小的语言和库改进,如增强的文本块处理和动态CDS(Class Data ShaRing)等。
  • Java SE 14(2020年3月):新增了Pattern Matching for instanceof、Records和Switch表达式的改进等功能。
  • Java SE 15(2020年9月):引入了Sealed类、Pattern Matching for instanceof的进一步改进和隐藏的类等功能。

Java经历了多个阶段的发展,从初期的物联网设备开发平台到如今广泛应用于Web开发、企业级应用和移动设备等领域。Java通过其跨平台和可移植性的特点,以及不断的改进和创新,成为了一种高度流行和常用的编程语言。

# 2、版本

Java有许多不同的版本,以下是较为常见的一些版本

  • Java SE(Java Standard Edition):标准版,为开发桌面应用程序和Java应用程序提供基础。
  • Java EE(Java Enterprise Edition):企业版,为开发企业级应用程序提供扩展和增强的功能。
  • Java ME(Java Micro Edition):微型版,用于嵌入式设备、移动设备和传感器等资源受限的平台。
  • Java Card:用于开发安全的智能卡应用程序的版本。

其他一些版本或变体

  • Oracle JDK(Java Development Kit):由Oracle公司提供的官方版本,常用于开发Java应用程序。
  • OpenJDK:开源的Java SE参考实现,由全球开发人员社区维护和发展。
  • AdoptOpenJDK:基于OpenJDK的另一个开源版本,由AdoptOpenJDK社区维护并提供免费的Java SE二进制文件。
  • Zulu:由Azul Systems提供的免费和商业版本的OpenJDK。
  • Amazon Corretto:由亚马逊公司提供的免费的OpenJDK分发版本,可用于开发和部署Java应用程序。

截至2023,Java各版本使用分布,来源:GraalVM (opens new window)

截至目前企业常用的版本为Java 8Java 11Java 17这三个长期支持版(LTS 版)。

常说的Java 8,其实是等于JDK8版本,两个意思都是一样的。

  • Java 8(2014年3月):是Java语言的第一个LTS版本,也是Java语言的第一个被广泛使用的版本,更让许多开发者使用至今。Java 8具备了java开发者足够的功能,生态也比较完善,不用担心使用的包,没有足够的支持,而且不用担心会被Oracle罚款。
  • 为什么升级到Java 11 ? 性能提升、特性和改进、支持最新的技术和框架、长期支持版本、行业趋势。
  • Java 17 是2021年9月发布的最新版本,其中包含了很多新特性和改进,这些新特性和改进将进一步提高 Java 语言的性能和可用性。
  • 截至2023,JDK 21已经于2023年9月19日正式发布。JDK 21 将是一个长期支持版(LTS 版)。

# 3、应用场景

Java被广泛应用于各个领域

  • 企业级应用程序(Enterprise Applications)

Java EE(现在的 Jakarta EE)是开发大型、分布式企业级应用程序的首选平台,如电子商务系统、银行系统、供应链管理系统等。

  • Android 应用程序(Android Applications)

Java 是编写 Android 应用程序的主要语言,数以百万计的移动应用程序都是用 Java 编写的。

  • Web 应用程序(Web Applications)

Java 在 Web 开发中扮演着重要角色,使用 Java 技术栈(如 Spring、Servlet、JSP 等)和框架(如 Spring Boot)可以开发强大的 Web 应用程序,如电子商务网站、社交媒体平台、博客等。

  • 多媒体应用程序(Multimedia Applications)

Java 提供了丰富的库和工具,用于开发多媒体应用程序,如图像处理应用、音频和视频播放器等。

  • 游戏开发(Game Development)

Java 以其跨平台性和图形处理能力,在游戏开发领域有一席之地。一些游戏引擎,如 LibGDX 和 jMonkeyEngine,使用 Java 进行游戏开发。

  • 桌面应用程序(Desktop Applications)

JavaFX 和 Swing 是用于开发跨平台桌面应用程序的关键技术,如图像处理软件、集成开发环境(IDE)等。

  • 大数据处理(Big Data Processing)

Java 在大数据领域广泛应用,用于编写大数据处理框架(如 Apache Hadoop、Apache Spark)和数据分析应用程序。

  • 物联网应用程序(Internet of Things Applications)

Java 可以用于开发物联网设备和应用程序,控制和监测传感器、设备等,实现智能家居、工业自动化等。

  • 科学和数值计算 (Scientific and Numerical Computing)

Java 提供了广泛的科学计算库,用于科学模拟和数值计算,如 Apache Commons Math、JAMA 等。

  • 金融技术(FinTech)应用程序

Java 在金融领域非常常见,被用于开发交易系统、风险管理系统、金融分析工具等。

Java 的多平台性、面向对象的特性、丰富的库和框架使其成为各种应用程序开发的首选语言之一。