概述
概述
概述
Java 是一种面向对象的编程语言(Java 底层是 C++ 语言实现的),由 Sun Microsystems 公司于 1995 年推出。它是一种通用的、高级的、并发性强的、安全的、可移植的、解释性的、编译性的、动态的、跨平台的编程语言。Sun Microsystems 公司于2010年1月被甲骨文(Oracle)公司以 74 亿美元的价格收购。甲骨文公司成为了 Java 语言的主要维护者和开发者之一。甲骨文公司官网地址:http://www.oracle.com
Java 之父
Java 之父指的是詹姆斯·高斯林(James Gosling),在 20 世纪 80 年代末和 90 年代初,与 Sun Microsystems 公司的一些工程师一起开发了 Java 语言。出生于加拿大,1983 年获得了卡尔加里大学的计算机科学博士学位。之后,他加入了 Sun Microsystems 公司,开始从事编程语言方面的研究工作。在 Sun 公司,他领导了一支团队,致力于开发一种新的编程语言,这就是后来的 Java 语言
Java 名字来历与 Logo
在 1990 年代初,SUN 公司的研发团队正在开发一种新的软件平台,该平台可以在各种不同的计算机系统上运行,并且能够处理各种多媒体文件。这种平台最初被称为“Oak”,以纪念 SUN 公司的首席科学家 James Gosling 喜欢的一棵橡树。然而,在 1995 年,SUN 公司发现该名称已经被一家电视机制造商使用了,因此他们需要一个新的名称。SUN 公司的营销团队进行了一系列的市场调研,他们最终选择了 Java 这个名字。Java 这个名字来源于印度尼西亚的爪哇岛,因为该岛是印度尼西亚咖啡的主产区。SUN 公司的营销团队认为这个名字可以带来一些独特的品牌价值,并且可以与咖啡文化相关联,因此他们决定将这个名字用于新的软件平台
发展史
1995年:Java 语言诞生,由 Sun Microsystems 的 James Gosling 等人开发
1996年:发布 Java 1.0版本
1998年:发布 Java 2(也称为 Java SE)版本,引入了重要的新特性,如 Swing 图形界面工具包、JavaBeans 组件技术等
2004年:发布 Java SE 5.0 版本,引入了自动装箱/拆箱、泛型、枚举、注解等重要特性
2006年:Sun Microsystems 发布 Java SE 6 版本,引入了更多的新特性,如 JDBC 4.0、JAX-WS 2.0 等
2010年:Oracle公司收购了 Sun Microsystems,成为 Java 语言的主要维护者
2011年:发布 Java SE 7 版本,引入了重要的新特性,如 Switch 语句的字符串支持、NIO 2.0 等
2014年:发布 Java SE 8 版本,引入了 Lambda 表达式、Stream API、新的日期/时间API等重要特性(长期支持的版本)
2017年:发布 Java SE 9 版本,引入了模块化系统、REPL 工具等新特性
2018年:发布 Java SE 10 版本,引入了局部变量类型推断、G1 垃圾收集器等新特性。以后每 6 个月发布一个新版本。11、12、...21...
2018年:发布 Java SE 11 版本,成为长期支持版本,移除了一些过时的 API,引入了新的 HTTP Client API 等新特性(长期支持的版本)
2021年:发布 Java SE 17 版本,增加了 Sealed 类、Pattern Matching for switch、Records 等功能(长期支持的版本)
2023年:发布 Java SE 21 版本,该版本也是长期支持的版本
特点
简单易学:Java 语言的语法和 C 语言很相似,但是它去掉了 C 中的复杂的指针和多重继承等特性,使得 Java 语言更加简单易学
面向对象:Java 语言是一种纯面向对象的编程语言,它支持对象的封装、继承和多态等面向对象的特性
平台无关性(跨平台性:一次编译到处运行):Java 语言的程序可以在不同的操作系统和硬件平台上运行,这是因为 Java 程序被编译成字节码,而不是机器码,字节码可以在任何支持 Java 虚拟机的平台上运行。实现原理:不同的操作系统上安装属于自己的 Java 虚拟机,而 Java 虚拟机屏蔽了各个操作系统之间的差异,从而做到跨平台
安全性:Java 语言具有很高的安全性,它提供了一系列的安全措施来保护程序不受恶意攻击和病毒侵害
高性能:Java 语言具有很高的性能,它采用了一系列优化措施来提高程序的执行速度和内存使用效率
多线程支持:Java 语言具有很好的多线程支持,它提供了一系列的线程控制机制,使得程序可以更好地利用计算机的多核处理能力
自动垃圾回收机制:Java 语言采用的是垃圾回收机制(Garbage Collection,简称 GC),也就是自动内存管理机制。在传统的编程语言中,开发者需要手动分配和释放内存,容易出现内存泄漏和悬挂指针等问题。而 Java 语言采用的垃圾回收机制可以自动分配和释放内存,避免了这些问题
三大分支
Java SE
Java SE(Java Standard Edition)是 Java 的标准版,它包含了 Java 语言的核心部分,包括基础类库、虚拟机和开发工具等。Java SE 主要用于开发桌面应用程序、控制台程序和小型服务器端应用程序等
Java EE
Java EE(Java Enterprise Edition)是 Java 的企业版,它是在 Java SE 的基础上扩展而来,主要用于开发大型企业级应用程序,如电子商务系统、ERP 系统和 CRM 系统等。Java EE 包含了许多企业级技术,如 Servlet、JSP、EJB、JMS、JTA 等
Java ME
Java ME(Java Micro Edition)是 Java 的微型版,它主要用于嵌入式设备和移动设备上的应用程序开发,如手机、平板电脑、数码相机、路由器等。Java ME 的特点是体积小、速度快、资源占用少,可以在较小的内存和处理能力的设备上运行