Java小史:Java简介和现状

简介: 简单介绍下Java的前世今生和现状

1.Java介绍

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的编程语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,太阳计算机系统(Sun公司)放弃了该项计划。随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,舍弃了容易引起错误的指针,以引用取代;移除了C++中的运算符重载和多重继承特性,用接口取代;增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全、与系统无关可移植、高性能、多线程和动态的语言”  

Java不同于一般的编译语言或解释型语言。它首先将源代码编译成字节码,再依赖各种不同平台上的虚拟机来解释执行字节码,从而具有“一次编译,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的运行速度有了大幅提升。  

与传统类型不同,Sun公司在推出Java时就将其作为开放的技术。全球的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司后来推出了与之竞争的.NET平台以及模仿Java的C#语言。后来Sun公司被甲骨文公司并购,Java也随之成为甲骨文公司的产品。

现时,移动操作系统Android大部分的代码采用Java编程语言编程。

2.Java当前排名

2022年8月份TIOB排行榜

image.png

2002-2022年TIOB语言趋势榜

image.png

3.版本历史

image.png

New Relic公司《2022 年Java生态系统状况报告》 JDK版本使用情况

image.png

Java 1=JDK1.1(1997)Oak(橡树)

Java 2=JDK1.2(1998)Playground(操场) 加入了集合类,发布了Java平台的三个版本:J2SE(桌面), J2EE(服务器端),J2ME(移动端)

Java 3=JDK1.3(2000)Kestrel(红隼)

Java 4=JDK1.4(2002)Merlin(隼)

Java 5=JDK1.5(2004)Tiger(老虎) foreach迭代方式、可变参数、枚举、自动拆装箱、泛型、注解

Java 6=JDK1.6(2006)Mustang(野马)

2006年,Hadoop出现,java被用在大数据领域 2009年,oracle收购sun公司

Java 7=JDK1.7(2011)Dolphin(海豚)

Java 8=JDK1.8(2014)LTS(长期支持) Lambda表达式、Stream集合处理、函数式编程 Java 9=JDK1.9(2017)

Java 10=JDK 10(2018.3月)

2018年,Android系统发布,java被用在移动端

Java 11=JDK 11(2018.9月)LTS(长期支持)

Java 12=JDK 12(2019.3月)

Java 13=JDK 13(2019.9月)

Java 14=JDK 14  (2020.3月)

Java 15=JDK 15 (2020.9月)

Java 16=JDK 16(2021.3)

Java 17 LTS(2021.9长期支持)

Java 18= JDK 18 (2022.3)

相关文章
|
2月前
|
算法 Java PHP
「译文」Java 垃圾收集参考手册(一):垃圾收集简介
「译文」Java 垃圾收集参考手册(一):垃圾收集简介
|
6月前
|
Java 编译器
“高级Java注解的简介及应用“
“高级Java注解的简介及应用“
31 0
|
6天前
|
并行计算 Java 编译器
Java Lambda表达式简介
Java Lambda表达式简介
12 0
|
1月前
|
存储 Java uml
Java-UML类图简介
Java-UML类图简介
18 0
|
6月前
|
存储 网络协议 Java
LDAP简介及Java、客户端连接
LDAP简介及Java、客户端连接
125 0
|
2月前
|
Java API
Java中的Lambda表达式简介及应用
【2月更文挑战第6天】本文将介绍Java中的Lambda表达式,探讨其基本概念、语法特点和应用场景。通过实际示例演示Lambda表达式在Java编程中的灵活运用,帮助读者更好地理解和应用这一强大的特性。
|
3月前
|
缓存 安全 算法
Java并发简介(什么是并发)
Java并发简介(什么是并发)
|
8月前
java202304java学习笔记第五十二天员工管理-文件上传-简介2
java202304java学习笔记第五十二天员工管理-文件上传-简介2
23 0
|
8月前
|
Java
Java-单例模式简介
Java-单例模式 在Java类的设计中,有时希望一个类在任何时候只能有一个实例,这时可以将该类设计为单例模式,要将一个类设计为单例模式,类的构造方法的访问修饰符应声明为private,然后在类中定义一个static方法,在该方法中创建类的对象。
|
4月前
|
Java 数据处理
[Java 基础] Java 流操作简介
[Java 基础] Java 流操作简介