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)

相关文章
|
4月前
|
Oracle 安全 Java
Java语言简介及发展
Java语言简介及发展
|
5月前
|
Java 编译器 测试技术
Java基础16-Java注解简介和最佳实践(二)
Java基础16-Java注解简介和最佳实践(二)
46 4
|
6月前
|
SQL Java 程序员
Java 8中的Stream API:简介与实用案例
【5月更文挑战第23天】本文将深入探讨Java 8中的Stream API,这是一种能够极大提升Java程序员生产力的新特性。我们将从基础概念开始,然后通过一些实用的案例来展示如何使用Stream API进行数据处理和操作。无论你是Java的初学者还是经验丰富的开发者,本文都将为你提供有价值的信息。
|
5月前
|
前端开发 Java 关系型数据库
JavaWeb开发简介
JavaWeb开发简介
55 0
|
5月前
|
Java 调度
Java并发基础-线程简介(状态、常用方法)
Java并发基础-线程简介(状态、常用方法)
38 0
|
3月前
|
并行计算 Java 程序员
Java中的Lambda表达式和函数式编程简介
【8月更文挑战第1天】Lambda表达式,在Java 8中引入,为Java程序员提供了一种简洁、灵活的编写代码的方式。本文将通过实例介绍Lambda表达式及其在函数式编程中的应用,并展示如何利用这些特性简化代码和提高开发效率。
29 2
|
4月前
|
设计模式 测试技术 Python
《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)
【7月更文挑战第10天】Page Object Model (POM)是Selenium自动化测试中的设计模式,用于提高代码的可读性和维护性。POM将每个页面表示为一个类,封装元素定位和交互操作,使得测试脚本与页面元素分离。当页面元素改变时,只需更新对应页面类,减少了脚本的重复工作和维护复杂度,有利于团队协作。POM通过创建页面对象,管理页面元素集合,将业务逻辑与元素定位解耦合,增强了代码的复用性。示例展示了不使用POM时,脚本直接混杂了元素定位和业务逻辑,而POM则能解决这一问题。
62 6
|
5月前
|
安全 Java 开发者
Java基础16-Java注解简介和最佳实践(一)
Java基础16-Java注解简介和最佳实践(一)
57 5
|
5月前
|
IDE Java 项目管理
Java入门——Intellij IDEA简介、使用IDEA开发程序、IDEA常用快捷键、IDEA其他操作
Java入门——Intellij IDEA简介、使用IDEA开发程序、IDEA常用快捷键、IDEA其他操作
80 3
|
5月前
|
jenkins Java 测试技术
Java中Jenkins的应用简介
Java中Jenkins的应用简介
56 0