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

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1996年1月23日,Sun微系统公司发布了一份"},{"type":"link","attrs":{"href":"https:\/\/web.archive.org\/web\/20070310235103\/http:\/\/www.sun.com\/smi\/Press\/sunflash\/1996-01\/sunflash.960123.10561.xml","title":null,"type":null},"content":[{"type":"text","text":"新闻稿"}]},{"type":"text","text":",宣布Java 1.0正式可用:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"加州帕洛阿尔托,1996年1月23日,JavaSoft(Sun微系统公司新成立的运营公司)宣布,Java 1.0编程环境现在可以从"},{"type":"link","attrs":{"href":"http:\/\/java.sun.com上下载","title":null,"type":null},"content":[{"type":"text","text":"http:\/\/java.sun.com上下载"}]},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":"br"}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JavaSoft新任命的总裁Alan Baratz说:“Java一次编写、到处运行的能力和它的易访问性已经为软件和互联网社区所接受,成为开发复杂网络应用程序的事实上的标准。开发人员现在可以马上就下载Java 1.0,并开始构建下一个杀手级应用程序。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":"br"}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"JavaSoft Java语言和应用程序总经理Ruth Hennigar说:“为了发布这个强大的1.0版本而不断改进Java对我们的团队来说是一个伟大的成就。自从3月份发布了第一个alpha版本以来,我们已经收到了很多开发者的反馈,并且改进了功能和可靠性。这个版本包含了开发者希望我们加入的组件——用于运行和测试Applet的Java Applet查看器、Java编译器、一个原型调试器和Java虚拟机。我们还加入了图形、音频、动画和网络类库。”"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Sun公司在"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.com\/news\/2020\/05\/java-at-25\/","title":null,"type":null},"content":[{"type":"text","text":"1995年发布了Java的alpha版本"}]},{"type":"text","text":",包含了用在Netscape Navigator和Mosaic上的一些技术,但1.0版本的发布(紧接着是1.0.1和1.0.2)标志着一段持续至今的旅程的开始。Oracle公司在去年"},{"type":"link","attrs":{"href":"https:\/\/www.oracle.com\/news\/connect\/25-years-of-java-technology-community-family.html","title":null,"type":null},"content":[{"type":"text","text":"庆祝Java alpha版发布25周年"}]},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"互联网的崛起为Java的普及提供了条件,而编译器和库的免费提供对于当时的工具生态圈来说是一个巨大的变化。像gcc这样的开源项目比Java编译器早出现了10多年,大多数操作系统可用的用于构建交互式图形软件的工具都只有商业版。Applet在开发完以后可以发布到互联网上,然后在各种不同的操作系统上运行,这在当时是独一无二的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"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的被许可方。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"尽管Java经过多年的发展,但JVM的核心部分仍然十分稳定——用Java 1.0编译的应用程序仍然可以在现代JVM上运行。字节码格式(在很大程度上)保持不变,随着时间的推移,只引入了很少的字节码(例如invokedynamic)和额外的属性类型(module-info)。其他一些,比如泛型,是在Java 1.2中以向后兼容的方式引入的,不需要做任何修改,这样它们就也可以在旧JVM上运行。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"遗憾的是,JVM存在安全漏洞,为了保证安全,需要频繁更新浏览器的JVM。随着其他浏览器插件类型的流行(比如Flash——现在已经跟它说再见了),Java从浏览器端走到了服务器端。在服务器端,Java的J2EE平台(现在是JakartaEE)开始流行起来。浏览器技术仍然是恶意软件的温床,只不过这次被攻击的是执行JavaScript的JIT。JavaScript这个名字是因为Java早期为浏览器发布的版本而出现的,但除此之外与Java并无关联。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Java很少会跌出编程语言排行榜顶部的位置,经常与C语言分列前两位。安卓的Dalvik虚拟机应用程序使用的是Java,可见下一个十年Java仍然会与我们同在。类C语言语法的延续和对行尾分号的坚持可能看起来有些过时,但在当时对于C语言开发人员来说这是一门很容易过渡的语言。与1996年编译的C语言程序不同,Java应用程序到现在仍然可以运行——而且速度要快得多,这要归功于32位和64位JVM以及高级垃圾收集器(如Shenandoah和ZGC)的发展。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Java在嵌入式领域的成功——毕竟,它最初是作为一种机顶盒编程语言而诞生的——并不那么明显。虽然Java出现在蓝光播放设备中,JavaCard出现在SIM和PIN芯片中,但它可能并没有在物联网世界掀起一场革命。不过,嵌入式Java仍然是有利可图的,这也是Oracle收购Sun微系统公司的原因之一。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"也许Java真正宝贵的遗产不仅仅是将面向对象引入到浏览器中,而是JVM本身。正如Java(以及JavaScript)所展示的那样,如果你拥有一种运行时与处理器无关的语言(JVM字节码、JavaScript源码、WASM),那么执行或翻译引擎就可以执行该代码,而无需考虑平台问题。这比其他任何东西都更有助于硬件的发展——从32位到64位,从PowerPC到ARM再到RISC-V——而且仍然不需要开发者修改任何编译后的代码。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"现在不只是Java在使用JVM,其他编程语言也在使用JVM,如受Java启发的派生语言Kotlin和Scala,还有其他非Java编程语言,如JRuby和Jython。Oracle的Truffle和GraalVM项目展示了如何基于Java构建JVM,并优化那些无法利用这些运行时的语言。随着Java语言的发展,引入了轻量级的线程和记录类,这些变化将推动JVM向前发展,在未来支持更多运行时。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Java和JVM可能已经到了中年,但它们还有几十年的使用和改进空间。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你使用的第一个Java版本是什么?请在下面的评论中告诉我们。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"原文链接"},{"type":"text","text":":"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.infoq.com\/news\/2021\/01\/java-turns-25\/","title":null,"type":null},"content":[{"type":"text","text":"Java 1.0 Turns 25"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章