文章提交注意事项:
请在发布文章时用HTML代码加上至少一条新闻来源的链接;原创性消息,可加入相关信息(如涉及公司的网址)的链接。有任何问题,邮件至:he.fang#zhiding.cn
ken:feigaobox@gmail.com
注意:收到邮件乱码的用户请修改客户端的默认字体编码,从"简体中文(GB2312)"修改为"Unicode(UTF-8)"。

Solidot 公告
投 票
热门评论
- unity 到底有什么好 (1 points, 一般) by Craynic 在 2022年07月05日11时17分 星期二 评论到 Ubuntu Unity 桌面复活
- 这不科学 (1 points, 一般) by qq33357486 在 2022年07月04日20时22分 星期一 评论到 Ubuntu Unity 桌面复活
- 吃便便 (1 points, 一般) by Craynic 在 2022年07月04日12时34分 星期一 评论到 现代城市居民失去了半数肠道微生物群
- 来自 ctOS 部门 (1 points, 一般) by lot 在 2022年07月01日21时15分 星期五 评论到 新算法提前一周预测未来犯罪准确率 90%
- 找原因 (1 points, 一般) by lrobot 在 2022年07月01日20时03分 星期五 评论到 通用无人驾驶出租车挤在一起堵塞了旧金山的交通
- 感谢 neovim 的出现,否则 vim 还在 v7.999.9999 上墨迹 (1 points, 一般) by cupen 在 2022年07月01日00时40分 星期五 评论到 Vim 9.0 发布
- 果然是高速飞行 (1 points, 一般) by liangl_dong 在 2022年06月30日10时23分 星期四 评论到 研究人员发布开源软硬件自主四旋翼无人机
- 山东省济南市槐荫区人民法院 (1 points, 一般) by solidot1656463655 在 2022年06月29日08时48分 星期三 评论到 阿里巴巴性侵案客户被判 18 个月
- “明日黄花”这个词 (1 points, 一般) by Reinhardt 在 2022年06月27日16时26分 星期一 评论到 今天的程序太臃肿了
- 没用 (1 points, 一般) by jerry 在 2022年06月24日14时44分 星期五 评论到 7-zip 支持 Windows Mark-of-the-Web 安全功能

甲骨文逆转了 2018 年对 JDK 产品使用收费的决定,宣布 JDK 17 对商业使用免费。根据新的 Oracle No-Fee Terms and Conditions (NFTC)许可证,Oracle JDK v17 及未来的版本在新许可证下对商业和产品使用免费,只要不收费,重新发行 JDK 也是允许的。甲骨文在今年 9 月发布了 Java 17,这是一个长期支持版本,将一直支持到 2029 年 9 月,但免费的安全更新将只支持三年,之后在产品中继续使用 Oracle JDK 将需要商业许可证。甲骨文此举被认为是吸引切换到 OpenJDK 的客户。
美国最高法院裁决(PDF)拷贝 Java API 是合理使用,结束了长达 11 年的 API 侵权诉讼。Google 使用 Java 开发了 Android 操作系统,甲骨文在收购 Sun 之后获得了 Java 的所有权,它在 2010 年指控 Google 侵犯了 Java API 的版权。API 是一种标准函数调用,允许第三方构建与已有平台如 Java 兼容的软件。使用 API 被软件行业广泛视为是合理使用,如果无法使用 API,那么这将动摇软件行业的基础。最高法院的裁决重点不是 API 是否受版权保护,而是使用 API 是否是合理使用,它并没有推翻联邦巡回法院做出的 API 受版权保护的裁决。
Lonor 写道 "Java 16 已于 2021 年 3 月 16 日正式发布。其新特性主要包括:提升向量计算性能的 Vector API(孵化),JDK 中 C++ 源码开始使用 C++ 14 的新特性,并发处理线程栈的 ZGC,优化 HotSpot 对元空间的处理以更快地回收内存,引入 Foreign Linker API 提供对本地代码静态类型的纯 Java 访问,堆外内存访问 API(第三次孵化),instanceof 模式匹配,密封类(Sealed Class 第二次预览),Records 类型也终于正式毕业等。JDK 源码的 VCS 已经从 Mercurial 迁移到了流行的 Git,OpenJDK 代码现托管于 GitHub。和最近的几个版本一样,它依旧是短期支持版本。下一个长期支持版本(LTS)将会是今年 9 月发布的 JDK 17。"
1996 年 1 月 23 日,Sun Microsystems 宣布发布 Java 1.0。Sun 在 1995 年发布了 Java 的 alpha 版本,但 1.0 版本的发布标志着一段延续至今的旅程的开始。新兴的互联网将 Java 语言推向了大众,编译器和软件库的免费提供对当时也产生了巨大的冲击。GCC 这样的开源项目已经存在了十年,但绝大多数操作系统只有商业工具能构建交互式图形软件。Java 程序能编写和发布到互联网上,能在不同操作系统上运行这一事实在当时是独一无二的。
Lonor 写道 "JDK 15 已于 2020 年 9 月 15 日发布。其新特性主要包括:使用 Edwards-Curve 数字签名算法(EdDSA)实现加密签名,限制超类的使用的 Sealed Classes(预览),Hidden Class,Records 语法(预览),堆外内存访问 API(第二次孵化),instanceof 类型模式匹配(第二次预览),重新实现了旧版 DatagramSocket API,两个低延迟垃圾回收器 Shenandoah 和 Z 现可用于生产,Text Blocks 语法也成为正式功能。除此之外,新版 JDK 默认禁用了偏向锁,淘汰了过时的 Nashorn JavaScript 引擎,并建议弃用 RMI 激活机制(会被将来的版本会移除)。和最近的几个版本一样,它依旧是短期支持版本。下一个长期支持版本(LTS)将会是 2021 年 9 月发布的 JDK 17。"
甲骨文发布了 Java Development Kit (JDK) 14。从 2017 年的 Java 9 开始,Java 的发布频率改为每半年一次,去年 9 月发布 Java 13,现在发布 Java 14。Java 是目前最流行的编程语言之一,它“一次编写,到处运行”的跨平台特性是目前其它编程语言所无法比拟的优势。Java 14 的主要新特性包括:Foreign-Memory Access API 增强(JEP 370),来自 Project Amber 的改进,Pattern Matching (JEP 305),Records 预览 (JEP 359)。在 2020 年 9 月发布 Java 15 前 Java 14 将会获得至少半年的安全更新。
甲骨文两年前宣布向开源基金会 Eclipse Foundation 捐赠 Java Platform Enterprise Edition (Java EE),并在基金会的董事会获得了一个席位。但它拒绝让出 Java 商标,双方的磋商以失败告终。在协商期间,甲骨文向 Eclipse 提出了一系列它无法接受的要求,包括基金会发行的产品必须只能捆绑由甲骨文认证的 Java 运行时,这意味着 Eclipse 基金会的产品将不再是供应商中立,基金会的免税状态将可能不再有效,这对基金会而言将是财务上的灾难,有可能导致基金会关闭。除此之外,EF 基金会还被要求不能修改旧的代码,要修改的话就要重命名,包括项目名称和软件包的名称。这意味着现有的应用程序无法在没有重构和重新编辑的情况下运行在更新后的平台上。这又是一个灾难,Java 著名的 WORA (Write Once Run Anywhere)原则将不再有效,这在现实中不可能发生。没有软件供应商仅仅为了更换名称而花费时间和金钱去重编译所有客户的版本。甲骨文还利用它在董事会的席位去干预决策。Java EE 事实上被甲骨文杀死了。
Python 作者 Guido van Rossum、Java 作者 James Gosling、Turbo Pascal 和 TypeScript 作者 Anders Hejlsberg,以及 Perl 作者 Larry Wall 本月早些时候齐聚一堂,讨论了(YouTube)编程语言设计的过去和未来。Guido van Rossum 说,设计一种语言类似 JK罗琳写《哈利波特》,罗琳在布局上是天才,她在第一本书中提到的某些细节在第六和第七本中成了情节重点。在设计语言时,我们也需要关注某些细节,比如关键词和编码风格,无论我们决定什么我们都必须保持,在未来找到使用这些细节的新方法,就像罗琳一样。James Gosling 被问到 Java 遵守的设计原则时表示,Java 并不是某种个人热情洋溢的项目,而是一个原型,一开始想要比 C 语言做的更好,然后失控了,项目的其它部分变成了某种背景,只留下了 Java。Larry Wall 想要创造出类似自然语言的语言,他解释说,与其将人放置到大学里决定他们走向何处,我们通过观察人们想走的路,然后在这些地方铺设捷径。Perl 的基本原则是为一切事情都提供 API,目的是成为出色的文本处理语言,同时也成为一种胶水语言。
HackerRank 公布了 2019 年的年度开发者报告,调查了 100 多个国家的 7.1 万名程序员。每个行业都需要软件开发者,因此竞争非常激烈。HackerRank 主要是询问了开发者掌握哪些编程语言,又想要学习哪种编程语言。结果显示,73% 的程序员回答掌握了 JavaScript,而 2017 年的比例是 66%,JavaScript 超过 Java 成为今年最为人熟知的编程语言。JavaScript 主要用于前端,而 Java 主要用于后端。程序员们最想学习的语言是 Go、Kotlin,Python 以及 TypeScript。程序员最了解的框架是 AngularJS,Spring 和 React。
亚马逊开始向客户提供免费、生产就绪的 OpenJDK 版本 Amazon Corretto。亚马逊的开源技术专家 Arun Gupta 在官方博客上称,Java 是 AWS 客户中间最流行的编程语言之一,而许多客户都担心为了长期支持他们使用的 Java 版本他们可能必须付费,而亚马逊将确保 Java 免费并提供长期支持。Arun Gupta 称亚马逊将提供 Corretto 8 和 Corretto 11,分别针对 OpenJDK 8 和 OpenJDK 11,Corretto 8 将一直支持到 2023 年 6 月,之后客户将需要升级到 Corretto 11 以获得免费支持。亚马逊将会与 OpenJDK 社区加强合作。目前 Corretto 8 还是预览版本,预计到 2019 年 Q1 发布正式版(GA)。
甲骨文计划砍掉 Java 序列化功能。Java 序列化又称 Java 对象序列化,用于将对象编码成字节流,这项功能一直是安全方面的大麻烦。甲骨文的 Java 首席架构师 Mark Reinhold 称 1997 年引入序列化是一大错误,他估计三分之一甚至一半的 Java 漏洞与序列化有关。作为 Project Amber 的一部分,移除序列化是一个长期目标。甲骨文计划用一个小型序列化框架来替换当前使用的序列化技术。新的框架能以更安全的方式实现记录的序列化。但 Reinhold 还不能确定 Java 的哪一个版本将具有记录功能。
甲骨文向开源基金会 Eclipse Foundation 赠送了 Java Platform Enterprise Edition (Java EE),但它不想让对方使用 Java 这个名字。所以社区就新的名字进行了投票表决,提供了两个名字选项,Jakarta EE 和 Enterprise Profile。结果显示,有约 7000 人进行了投票,超过 64% 选择了 Jakarta EE, Enterprise Profile 的得票率为 35.6%。在 Eclipse Foundation 接手后,其它 Java 项目的名称也改了名字,Glassfish 改为 Eclipse Glassfish,Java Community Process 改为 Eclipse EE.next Working Group, Oracle development management 改为 Eclipse Enterprise for Java Project Management Committee。
弗吉尼亚理工大学的研究人员分析了流行编程问答社区 Stack Overflow 上的帖子,发现许多程序员缺乏网络安全方面的训练,给出答案时似乎并不真正理解与代码相关的安全问题。研究人员还发现,有时候得到最多好评的答案包含了不安全的建议,会在软件中引入漏洞。而别人给出的更正确的答案却经常因为低声誉而得不到重视。他们的论文《Secure Coding Practices in Java: Challenges and Vulnerabilities》(PDF)发表在预印本网站上。
IBM 向 Eclipse 基金会捐赠了它开发的 JDK/JVM 实现 J9,重命名为 Eclipse OpenJ9。J9 是一个高性能可伸缩 Java 虚拟机,是许多 IBM 企业级软件产品的核心,OpenJ9 可作为 Hotspot 的替代 Java 虚拟机用于 OpenJDK,比如需要高性能的企业级运行时环境。在捐赠之后,IBM 承诺会继续投资到这个项目上,以确保其企业级产品能继续利用最新的硬件技术。