InfoQ Geekathon 大模型技术应用创新大赛 了解详情
写点什么

IcedTea:首个 100% 兼容、开源的 Java

  • 2008-06-26
  • 本文字数:849 字

    阅读完需:约 3 分钟

本周有报道称 RedHat 发起的 IcedTea 项目(连同 OpenJDK 一起),已经通过了 Java 兼容性测试工具(TCK)的测试,达到了 100% 的兼容,正式成为首个通过 TCK 兼容性测试的完全开源(GPL 协议)的 Java 实现。

本周 IcedTea 项目到达了一个重要的里程碑——包含在 Fedora 9 (x86 及 x86_64)中的最新的 OpenJDK 通过了 TCK 严格的测试。这意味着它提供了所有必需的 Java APIs 并且在行为上与其他 Java SE 6 实现类似——与 Java 平台可移植的目标一致。

大家都认为通过 TCK 测试是一个了不起的成就:

Java TCK 是一个复杂的工具和文档套件,用来验证 Java 实现是否遵从 Java 规范。它包含 80,000 多个测试以及 100 多万行代码。

就像早前在InfoQ 上讨论的那样, IcedTea 项目通过 OpenJDK 成为一个 100% 的基于 GPL 协议的 Java 实现,并且使用 GNU Classpath 项目的相应部分替换掉了余下的 5% 的私有组件代码。

IcedTea 项目由 GNU Classpath 小组创建,同时由于需要使用开源实现替换掉所有的私有代码,因此一些 RedHat 开发者也加入其中。GNU Classpath 将 OpenJDK 中的私有代码替换为 GPL 协议的代码,这使得使用 OpenJDK 构建的 IcedTea 更加适合如 RedHat 的 Fedora Linux 这样的平台。由于 IcedTea 的一部分贡献,Fedora 9 包含了功能完全的 OpenJDK 包。

其他的开源 Java 实现,如 Apache Harmony 尚没有通过 TCK 测试,然而并不是所有的困难都与技术相关。早在 2007 年 4 月,Apache 软件基金会就向Sun 公司发送了一封公开的邮件,希望解决使用TCK 测试Harmony 平台的关键的许可协议问题;许可Harmony 小组以开源的方式合法运行TCK。Sun回复了该公开邮件,他们说还没有决定向Harmony 小组授权,因此他们仍无法运行TCK。

IcedTea 项目没有像 Apache Harmony 那样遭受到相同的协议问题,因为 Sun 已经提供了TCK 许可协议的一个特别版本,面向派生自OpenJDK 的任何Java 实现;这是Apache Harmony 所无法获得的东西。

InfoQ 将继续报道开源 Java 实现相关的新闻。

查看英文原文: IcedTea: The First 100% Compliant Open-Source Java

活动推荐:

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

2008-06-26 20:421633
用户头像

发布了 88 篇内容, 共 254.8 次阅读, 收获喜欢 6 次。

关注

评论

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

构建在Findora上的Forlend,具备隐私特性的借贷协议

威廉META

用第一性原理根治数字化转型雾霾:以规则的确定性应对结果的不确定性

三少爷的见

数字化转型 软件开发技术的第一性原理 签约计划第三季

3 分钟创建 Serverless Job 定时获取新闻热搜!

阿里巴巴云原生

阿里云 Serverless 云原生

【算法岗必看系列】机器学习高频面试题

码农鬼仔

人工智能 机器学习算法 机器学习笔记 机器学习/深度学习 常见面试题

如何可视化编写和编排你的 K8s 任务

阿里巴巴云原生

阿里云 容器 云原生 可视化

什么是操作系统?

Jackpop

头脑风暴:零钱兑换2

HelloWorld杰少

算法 LeetCode 8月月更

网络编程(二)TCP/IP

Albert Edison

网络编程 网络 TCP/IP 8月月更

RocketMQ事务消息

急需上岸的小谢

8月月更

【精通内核】计算机程序的执行原理深度解析

小明Java问道之路

内核 ELF 签约计划第三季 8月月更 方法调用

TDengine 3.0 重磅发布,首届开发者大会圆满结束

TDengine

数据库 tdengine 时序数据库

Kruise Rollout:灵活可插拔的渐进式发布框架

阿里巴巴云原生

阿里云 开源 云原生 OpenKruise

小菜鸟河北联通上岗培训随笔

乌龟哥哥

8月月更

Java参数传递到底是按 值传递 还是 引用传递 ?

史俊锋在搬砖

Java 后端 编程基础 签约计划第三季

IntelliJ IDEA 打开近期工作的项目的对话框的快捷键

HoneyMoose

Redis面试总结

TimeFriends

8月月更

前后端分离跨域问题

青柚1943

CORS 跨域

【精通内核】计算机内存地址原理深度解析

小明Java问道之路

内存 intel 签约计划第三季 8月月更 分段分页

构建在Findora上的Forlend,具备隐私特性的借贷协议

鳄鱼视界

介绍一个python工程师必须掌握的 CentOS 命令,nohup

梦想橡皮擦

Python 爬虫 8月月更

MyBatis(二、基础进阶)

mybatis springmvc 8月月更

云原生(十六)| Kubernetes篇之深入RC、RS、DaemonSet、StatefulSet

Lansonli

云原生 8月月更

Java程序的构造与执行

印哥在西北

编程语言 JVM Java core 8月月更

层次分明井然有条,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang包管理机制(package)EP10

刘悦的技术博客

Go 教程 Go 语言 教程分享 编程语言‘

开源一夏 | 使用 JavaScript 和 CSS 的简单字符计数器

海拥(haiyong.site)

开源 8月月更

RT-Thread记录(五、RT-Thread 临界区保护与FreeRTOS的比较)

矜辰所致

RT-Thread 8月月更 临界区保护

IPv6基础知识

穿过生命散发芬芳

ipv6 8月月更

一篇就够:高性能推理引擎理论与实践(TensorRT)

AIWeker

深度学习 推理引擎 签约计划第三季 TensorRT

[极致用户体验] 我做的《联机五子棋》是如何追求极致用户体验的?(上)

HullQin

CSS JavaScript html 前端 8月月更

Java 中使用 public,private 和 protected 修饰的方法

HoneyMoose

Android进阶(十三)json应用

No Silver Bullet

json android 8月月更

  • 扫码添加小助手
    领取最新资料包
IcedTea:首个100%兼容、开源的Java_Java_R.J. Lorimer_InfoQ精选文章