9月7日-8日,相约 2023 腾讯全球数字生态大会!聚焦产业未来发展新趋势! 了解详情
写点什么

Java 1.0 已经 25 岁了,你使用的第一个 Java 版本是什么?| 欢迎评论

  • 2021-01-29
  • 本文字数:1959 字

    阅读完需:约 6 分钟

Java 1.0已经25岁了,你使用的第一个Java版本是什么?| 欢迎评论

1996 年 1 月 23 日,Sun 微系统公司发布了一份新闻稿,宣布 Java 1.0 正式可用:


加州帕洛阿尔托,1996 年 1 月 23 日,JavaSoft(Sun 微系统公司新成立的运营公司)宣布,Java 1.0 编程环境现在可以从http://java.sun.com上下载


JavaSoft 新任命的总裁 Alan Baratz 说:“Java 一次编写、到处运行的能力和它的易访问性已经为软件和互联网社区所接受,成为开发复杂网络应用程序的事实上的标准。开发人员现在可以马上就下载 Java 1.0,并开始构建下一个杀手级应用程序。”


JavaSoft Java 语言和应用程序总经理 Ruth Hennigar 说:“为了发布这个强大的 1.0 版本而不断改进 Java 对我们的团队来说是一个伟大的成就。自从 3 月份发布了第一个 alpha 版本以来,我们已经收到了很多开发者的反馈,并且改进了功能和可靠性。这个版本包含了开发者希望我们加入的组件——用于运行和测试 Applet 的 Java Applet 查看器、Java 编译器、一个原型调试器和 Java 虚拟机。我们还加入了图形、音频、动画和网络类库。”


Sun 公司在1995年发布了Java的alpha版本,包含了用在 Netscape Navigator 和 Mosaic 上的一些技术,但 1.0 版本的发布(紧接着是 1.0.1 和 1.0.2)标志着一段持续至今的旅程的开始。Oracle 公司在去年庆祝Java alpha版发布25周年


互联网的崛起为 Java 的普及提供了条件,而编译器和库的免费提供对于当时的工具生态圈来说是一个巨大的变化。像 gcc 这样的开源项目比 Java 编译器早出现了 10 多年,大多数操作系统可用的用于构建交互式图形软件的工具都只有商业版。Applet 在开发完以后可以发布到互联网上,然后在各种不同的操作系统上运行,这在当时是独一无二的。


Sun 微系统公司在最初的新闻稿中提到,Java 1.0 可在 Solaris、Windows 95 和 Windows NT 上运行,并承诺在次年年底发布 macOS 版本。在 Apple 和 NeXT 合并一起开发 macOS 时,操作系统上默认安装了 Java,Objective-C 运行时与 Java 进行了桥接,提供了 JavaWebObjects——Objective-C WebObjects 到 Java 的移植(即使是现在,在苹果某些网站的 WebObjects 应用程序中仍然可以看到 Java 遗留的 WebObjects)。IBM 承诺为 OS/2 和 Windows 3.1 提供移植,从那以后,IBM 就一直是 Java 的被许可方。


尽管 Java 经过多年的发展,但 JVM 的核心部分仍然十分稳定——用 Java 1.0 编译的应用程序仍然可以在现代 JVM 上运行。字节码格式(在很大程度上)保持不变,随着时间的推移,只引入了很少的字节码(例如 invokedynamic)和额外的属性类型(module-info)。其他一些,比如泛型,是在 Java 1.2 中以向后兼容的方式引入的,不需要做任何修改,这样它们就也可以在旧 JVM 上运行。


遗憾的是,JVM 存在安全漏洞,为了保证安全,需要频繁更新浏览器的 JVM。随着其他浏览器插件类型的流行(比如 Flash——现在已经跟它说再见了),Java 从浏览器端走到了服务器端。在服务器端,Java 的 J2EE 平台(现在是 JakartaEE)开始流行起来。浏览器技术仍然是恶意软件的温床,只不过这次被攻击的是执行 JavaScript 的 JIT。JavaScript 这个名字是因为 Java 早期为浏览器发布的版本而出现的,但除此之外与 Java 并无关联。


Java 很少会跌出编程语言排行榜顶部的位置,经常与 C 语言分列前两位。安卓的 Dalvik 虚拟机应用程序使用的是 Java,可见下一个十年 Java 仍然会与我们同在。类 C 语言语法的延续和对行尾分号的坚持可能看起来有些过时,但在当时对于 C 语言开发人员来说这是一门很容易过渡的语言。与 1996 年编译的 C 语言程序不同,Java 应用程序到现在仍然可以运行——而且速度要快得多,这要归功于 32 位和 64 位 JVM 以及高级垃圾收集器(如 Shenandoah 和 ZGC)的发展。


Java 在嵌入式领域的成功——毕竟,它最初是作为一种机顶盒编程语言而诞生的——并不那么明显。虽然 Java 出现在蓝光播放设备中,JavaCard 出现在 SIM 和 PIN 芯片中,但它可能并没有在物联网世界掀起一场革命。不过,嵌入式 Java 仍然是有利可图的,这也是 Oracle 收购 Sun 微系统公司的原因之一。


也许 Java 真正宝贵的遗产不仅仅是将面向对象引入到浏览器中,而是 JVM 本身。正如 Java(以及 JavaScript)所展示的那样,如果你拥有一种运行时与处理器无关的语言(JVM 字节码、JavaScript 源码、WASM),那么执行或翻译引擎就可以执行该代码,而无需考虑平台问题。这比其他任何东西都更有助于硬件的发展——从 32 位到 64 位,从 PowerPC 到 ARM 再到 RISC-V——而且仍然不需要开发者修改任何编译后的代码。


现在不只是 Java 在使用 JVM,其他编程语言也在使用 JVM,如受 Java 启发的派生语言 Kotlin 和 Scala,还有其他非 Java 编程语言,如 JRuby 和 Jython。Oracle 的 Truffle 和 GraalVM 项目展示了如何基于 Java 构建 JVM,并优化那些无法利用这些运行时的语言。随着 Java 语言的发展,引入了轻量级的线程和记录类,这些变化将推动 JVM 向前发展,在未来支持更多运行时。


Java 和 JVM 可能已经到了中年,但它们还有几十年的使用和改进空间。


你使用的第一个 Java 版本是什么?请在下面的评论中告诉我们。


原文链接

Java 1.0 Turns 25

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2021-01-29 16:023108

评论

发布
暂无评论
发现更多内容

华为云大数据BI,企业数字化运营得力助手

爱尚科技

重磅!XTransfer荣登InfoQ【十大开发者最向往的高价值技术团队】榜单

XTransfer技术

一文讲清「敏捷路线图」| Liga译文

LigaAI

Scrum 产品经理 敏捷开发 软件开发 12 月 PK 榜

这个API管理工具不登录不下载就能用!

不想敲代码

API 接口管理 协同办公 协同软件

时序数据库 TDengine 签约新奥新智

TDengine

数据库 tdengine 时序数据库

DTT年度收官圆桌π,华为云8位技术专家的年末盘点

华为云开发者联盟

云计算 后端 华为云 12 月 PK 榜

使用 SQL 实现同比环比分析

搞大屏的小北

数据可视化 同比环比 展示同比环比 BI大屏同比环比

确保网路畅通,华为云CDN加速服务大有可为

路过的憨憨

Liga妙谈 | 找准「话事人」,高效甄别和响应用户反馈

LigaAI

产品经理 敏捷开发 PO 产品负责人 12 月 PK 榜

零信任与 K8s 环境实践

HummerCloud

k8s 零信任 kubernetes 运维

据+AI赋能教育智能化转型,华为云技术优势明显!

爱尚科技

为有状态应用而生,云原生本地存储Carina正式进入CNCF沙箱

BoCloud博云

云原生 本地存储 Carina

跳板攻击原理及如何追踪定位攻击者主机(下)

郑州埃文科技

IP地址 跳板攻击 攻击溯源

智能制造 | AIRIOT智慧工厂管理解决方案

AIRIOT

物联网 智慧工厂 物联网系统搭建

NFTScan 与 Cwallet 团队达成战略合作伙伴,由 NFTScan 为其提供 NFT API 数据服务

NFT Research

NFT 数据基础设施

有了华为云大数据BI,企业数字化转型该如何做?

爱尚科技

如何正确使用网格设置制作卡片类型展示页面

Towify

捷报频传 | Bonree ONE获2022科技赋能金融业场景金融建设突出贡献奖

博睿数据

可观测性 智能运维 博睿数据 ONE平台 荣誉奖项

1024·致敬 | 迟到的小温暖,感谢不平凡的你们

XTransfer技术

理解iOS端的WebView同层组件

珲少

等保四级适用于哪些领域?一年一次吗?

行云管家

等保 等级保护 等保四级

行云管家荣膺STIF第三届国际科创节 “2022年度数字化创新典范奖”

行云管家

信息安全 数字化 国际科创节

Mysql索引覆盖

京东科技开发者

MySQL 数据库 sql 搜索引擎 优化

聚焦电商场景数字化转型升级,华为云大数据解决方案高效赋能

爱尚科技

云网络运维必备神器:全链路故障诊断与分析

华为云开发者联盟

云计算 后端 华为云 12 月 PK 榜

Apache APISIX 3.1.0 版本正式发布

API7.ai 技术团队

开源 api 网关 APISIX apache 社区

接口自动化测试不想写代码?这款工具强烈推荐

不想敲代码

自动化测试 API 自动化测试平台

着眼全局提升决策质量,华为云大数据BI让企业看见未来

爱尚科技

如何在等待页面制作加载动画

Towify

工业数据分析为什么要用FusionInsight MRS IoTDB?

华为云开发者联盟

大数据 后端 华为云 工业数据 12 月 PK 榜

ROMA Connect: 5大联接能力+4大集成能力,推进企业数字化转型

华为云开发者联盟

云计算 后端 数字化 华为云 12 月 PK 榜

  • 扫码添加小助手
    领取最新资料包
Java 1.0已经25岁了,你使用的第一个Java版本是什么?| 欢迎评论_编程语言_Alex Blewitt_InfoQ精选文章