Java 起源

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: Java 是由美国 Sun Microsystems 公司(现为 Oracle 公司子公司)的詹姆斯·高斯林(James Gosling)等人于1995年开发的一门编程语言。当时,Sun 公司希望开发一种支持跨平台、具有移植性的语言,可以适用于各种计算机硬件和操作系统。于是,詹姆斯·高斯林领导的研发团队开发了 Java 语言,它既可以在 Windows、Linux 和 MacOS 等桌面操作系统上运行,也可以在服务器端和嵌入式系统上运行,具备非常好的跨平台能力,并且易于开发和维护。

Java 起源

一,介绍

Java 是由美国 Sun Microsystems 公司(现为 Oracle 公司子公司)的詹姆斯·高斯林(James Gosling)等人于1995年开发的一门编程语言。

当时,Sun 公司希望开发一种支持跨平台、具有移植性的语言,可以适用于各种计算机硬件和操作系统。于是,詹姆斯·高斯林领导的研发团队开发了 Java 语言,它既可以在 Windows、Linux 和 MacOS 等桌面操作系统上运行,也可以在服务器端和嵌入式系统上运行,具备非常好的跨平台能力,并且易于开发和维护。

Java 最初被称为 Oak(橡树),这是因为在 Sun 公司研发 Java 语言的时候,他们正好看到了窗外的一棵橡树,于是就决定以 Oak 作为 Java 的代号。但是后来发现 Oak 是另一家计算机公司已注册的商标,因此 Sun 公司只好将其改名为 Java。

Java 语言从诞生之初就备受瞩目,它采用了面向对象、垃圾回收等先进的编程思想和技术,在业界广泛应用,成为了当时最流行的编程语言之一。随着互联网的快速发展,Java 语言也逐渐成为了 Web 开发和服务器端开发的主流技术,例如 Java Servlet、JSP、Struts、Spring 等框架和技术逐渐成熟,使得 Java 在企业级应用开发中发挥了重要作用。而今天,Java 仍然是全球最广泛使用的编程语言之一,其应用范围涵盖了各个领域,例如移动应用程序、游戏、嵌入式设备、大数据处理、机器学习等各种应用场景。

二,Java 发展史

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

  1. Java 1.0(1996年):Java 1.0 是最早发布的 Java 版本,引入了基本的语言特性和类库,包括面向对象编程、垃圾回收机制等。

  2. Java 2(1998年):Java 2(也称为 Java 1.2)是一个重要的版本,引入了许多新特性和改进,如内部类、反射、集合框架、Swing 图形界面库等。

  3. Java 5(2004年):Java 5(也称为 Java 1.5)是一个里程碑版本,引入了许多重要的语言特性,如泛型、自动装箱/拆箱、枚举、可变参数等。此外,还引入了重要的库改进,如并发库 (java.util.concurrent) 和增强的 for-each 循环。

  4. Java 6(2006年):Java 6 引入了一些小的改进和优化,如脚本语言支持、JDBC 4.0(Java 数据库连接)等。此版本在性能、稳定性和安全性上有所提升。

  5. Java 7(2011年):Java 7 引入了一些新特性,如字符串对象在 switch 语句中的支持、try-with-resources 语句、钻石操作符(菱形操作符)等。此外,还有一些库的改进,如 Fork/Join 框架、NIO.2(新的 I/O API)、ConcurrentLinkedDeque 等。

  6. Java 8(2014年):Java 8 是一个重要版本,引入了函数式编程的特性,包括Lambda 表达式和函数式接口。此外,还引入了新的日期和时间 API、Stream API(流式操作集合数据)等。

  7. Java 9(2017年):Java 9 引入了模块化系统,通过模块化可以更好地组织和管理代码。此外,还包括一些小的语言和库改进,如 REPL(交互式编程环境)、新的 HTTP 客户端 API、改进的 Javadoc 等。

  8. Java 10(2018年):Java 10 引入了局部变量类型推断,通过 var 关键字可以在声明变量时省略类型。此外,还包括一些小的改进和优化。

  9. Java 11(2018年):Java 11 是 Oracle 公司推出的首个长期支持(LTS)版本,它在性能、安全性和稳定性方面进行了许多改进。此外,还移除了一些过时的 API,引入了新的 HTTP 客户端、嵌套的访问控制、Unix 域套接字等功能。

从 Java 11 开始,Oracle 公司决定每六个月发布一个新的 Java 主版本,这意味着用户可以更快地获得新特性和改进。同时,每三年发布的一个主版本将成为长期支持(LTS)版本,提供更长时间的支持和更新。

Java 的发展一直在不断演进,不仅语言本身有所改进,还有许多重要的库和框架的发展,使得 Java 在各个领域都有广泛的应用。

三,Java 所普及的领域

Java 是一种广泛应用于各个领域的编程语言,以下是 Java 常见的领域:

  1. 企业级应用开发:由于 Java 具有良好的跨平台性和可移植性,因此被广泛应用于企业级应用开发,如电子商务、ERP、CRM 等。

  2. 移动开发:Java 也是移动应用程序开发的主要编程语言之一。Android 平台采用 Java 作为其主要开发语言。

  3. Web 开发:Java 在 Web 开发领域具有强大的地位,Java 技术可用于构建 Web 应用程序,其中包括 Java Server Pages (JSP)、Servlets、Spring 框架等。

  4. 大数据处理:Java 技术也在大数据处理领域得到了广泛应用,包括 Apache Hadoop 生态系统、Apache Spark 等。

  5. 游戏开发:Java 技术还可用于游戏开发,其中一些游戏框架如 LibGDX、jMonkeyEngine 等,都是采用 Java 编写的。

  6. 人工智能和机器学习:Java 技术还广泛应用于人工智能和机器学习领域,尤其在开发大规模机器学习应用程序时特别有帮助。

总之,Java 是一门非常通用的编程语言,广泛应用于各种领域,包括企业级应用、移动应用、Web 开发、大数据处理、游戏开发、人工智能和机器学习等。

四,用Java开发的游戏有哪些

Java 在游戏开发领域也有一些知名的游戏,以下是其中一些例子:

  1. Minecraft(我的世界):Minecraft 是一款全球知名的沙盒建造游戏,由瑞典开发者 Markus Persson 使用 Java 编写。这款游戏在全球范围内都享有极高的人气和影响力。

  2. RuneScape(传奇):RuneScape 是一款长寿的 MMORPG(大型多人在线角色扮演游戏),由英国的 Jagex 公司开发。游戏使用 Java 技术,并在全球拥有大量的玩家。

  3. Spiral Knights(螺旋骑士):Spiral Knights 是一款由美国的 Three Rings Design 公司开发的动作冒险游戏,游戏采用 Java 技术编写。

  4. Puzzle Pirates(盗贼神谭):Puzzle Pirates 是一款由 Three Rings Design 公司开发的在线海盗游戏,采用 Java 技术开发。

  5. Minecraft: Dungeons(我的世界:地牢):这是 Minecraft 系列的衍生作品,是一款探险类游戏,由 Mojang Studios 开发,同样采用 Java 技术。

  6. Wurm Online(沃姆在线):Wurm Online 是一款由瑞典的 Code Club AB 公司开发的沙盒类游戏,采用 Java 技术。

这只是一小部分使用 Java 开发的知名游戏示例,Java 在游戏开发领域还有许多其他优秀的作品。这些游戏证明了 Java 在实现复杂逻辑、图形渲染和网络通信方面的强大能力。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
自然语言处理 Java 程序员
编程小趣文:Python与Java名字的起源由来
编程小趣文:Python与Java名字的起源由来
119 1
|
Java C#
Java名称的历史起源
Java名称的历史起源
87 0
|
11天前
|
监控 安全 Java
在 Java 中使用线程池监控以及动态调整线程池时需要注意什么?
【10月更文挑战第22天】在进行线程池的监控和动态调整时,要综合考虑多方面的因素,谨慎操作,以确保线程池能够高效、稳定地运行,满足业务的需求。
88 38
|
8天前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?
|
12天前
|
Java 调度
[Java]线程生命周期与线程通信
本文详细探讨了线程生命周期与线程通信。文章首先分析了线程的五个基本状态及其转换过程,结合JDK1.8版本的特点进行了深入讲解。接着,通过多个实例介绍了线程通信的几种实现方式,包括使用`volatile`关键字、`Object`类的`wait()`和`notify()`方法、`CountDownLatch`、`ReentrantLock`结合`Condition`以及`LockSupport`等工具。全文旨在帮助读者理解线程管理的核心概念和技术细节。
29 1
[Java]线程生命周期与线程通信
|
2天前
|
存储 设计模式 分布式计算
Java中的多线程编程:并发与并行的深度解析####
在当今软件开发领域,多线程编程已成为提升应用性能、响应速度及资源利用率的关键手段之一。本文将深入探讨Java平台上的多线程机制,从基础概念到高级应用,全面解析并发与并行编程的核心理念、实现方式及其在实际项目中的应用策略。不同于常规摘要的简洁概述,本文旨在通过详尽的技术剖析,为读者构建一个系统化的多线程知识框架,辅以生动实例,让抽象概念具体化,复杂问题简单化。 ####
|
3天前
|
Java 开发者
在Java多线程编程的世界里,Lock接口正逐渐成为高手们的首选,取代了传统的synchronized关键字
在Java多线程编程的世界里,Lock接口正逐渐成为高手们的首选,取代了传统的synchronized关键字
19 4
|
3天前
|
消息中间件 供应链 Java
掌握Java多线程编程的艺术
【10月更文挑战第29天】 在当今软件开发领域,多线程编程已成为提升应用性能和响应速度的关键手段之一。本文旨在深入探讨Java多线程编程的核心技术、常见问题以及最佳实践,通过实际案例分析,帮助读者理解并掌握如何在Java应用中高效地使用多线程。不同于常规的技术总结,本文将结合作者多年的实践经验,以故事化的方式讲述多线程编程的魅力与挑战,旨在为读者提供一种全新的学习视角。
24 3
|
10天前
|
安全 Java
在 Java 中使用实现 Runnable 接口的方式创建线程
【10月更文挑战第22天】通过以上内容的介绍,相信你已经对在 Java 中如何使用实现 Runnable 接口的方式创建线程有了更深入的了解。在实际应用中,需要根据具体的需求和场景,合理选择线程创建方式,并注意线程安全、同步、通信等相关问题,以确保程序的正确性和稳定性。
|
4天前
|
安全 Java 调度
Java中的多线程编程入门
【10月更文挑战第29天】在Java的世界中,多线程就像是一场精心编排的交响乐。每个线程都是乐团中的一个乐手,他们各自演奏着自己的部分,却又和谐地共同完成整场演出。本文将带你走进Java多线程的世界,让你从零基础到能够编写基本的多线程程序。
17 1