拼图项目:延期的后果

Mark Reinhold先生于2012年7月宣布 ,他们计划从Java 8撤回Jigsaw项目 ,因为Jigsaw计划于2013年9月(从现在开始一年)推迟其发布。 这个日期是众所周知的,因为Oracle已决定实施Java的两年路线图计划,因此2013年9月实际上是Java 7发布之后的两年。
根据拼图的网站…
“该项目的目标是为Java SE平台设计和实现一个标准模块系统,并将该系统应用于平台本身和JDK。 该项目的最初目标是设计和实现一个模块系统,其重点仅在于模块化JDK的目标,并将该系统应用于JDK本身。 对Java平台真正标准模块系统的需求不断增长,促使项目范围扩大,以产生一个模块系统,该模块系统最终将成为Java SE平台的JCP批准部分,并满足ME和EE平台的需求。 。”
他们还说:
“竖锯最初是为Java 7设计的,但后来推迟到Java8。”
现在他们想将其推迟到Java 9中:-(有关更多决策的更多详细信息,请参见Reinhold博客上的“问答”。您可以阅读并关注那里的讨论。这是我的看法:
没有Jigsaw,我相信将Java无处不在非常困难。 没有Jigsaw,在智能手机和平板电脑时代,多平台的想法就仅限于服务器。 拼图可能是“火车上的迟来”,但它使Java迟到了整个平台生态系统
观察市场,我们可以看到开发正变得依赖于平台(iOS,Android等)。只有Java可以克服这种趋势,因为它具有在多平台实现方面的丰富经验,现在是时候了! 否则,在3或4年内,设备上将没有Java,而开发社区将拥有足够的知识来使用它。 因此,Java基本上将是服务器端技术。
我的预测背后的原因如下:移动设备的资源有限,模块化的JVM将允许考虑每个设备的约束来创建定制的JVM。 我让那些设备制造商大吃一惊:“我不会在我的产品中分发可能对用户体验产生负面影响的产品”。 这就是苹果公司(至少是公众的一种说法)避免为iOS浏览器分发Flash插件的论点。 可能正因为如此,Adobe最终放弃了在移动设备上使用Flash。 模块化JVM将简化与许多设备播放器的许多Oracle协商。 苹果将​​Java作为iPad和iPhone应用程序的语言包含进来是合理的。 谷歌最终将JVM嵌入到Android中,以利用新的Java语言功能更快地发展,而只忙于将JVM扩展到特定Android功能的模块。 甚至有可能使诺基亚免于破产:D
您可能想知道Apple和Google是否会采用JVM作为标准的运行时平台。 您听说过机会成本吗? 它指出,我们当前的选择和活动实际上正在阻碍其他可能的选择和活动。 棘手的部分是选择成本最低或利润最高的机会。 话虽如此,我们可以看到考虑Java不是一种选择的情况,因为在那些公司做出决定时Java不是模块化的。 如果Java是模块化的并且苹果采用了Java,那么iOS平台的应用程序至少是Android的三倍。 谷歌的战略是“ Java”追赶苹果。 只有Java才能允许Google在这么短的时间内做到这一点。 因此,忽略Java并非那么简单。
现在,甲骨文与谷歌对决:当然,推动Java向前发展的努力应该在经济上可行,而要使用Java,谷歌必须花一些钱。 不幸的是,Oracle和Google使用不同的货币。 甲骨文考虑许可问题,而谷歌考虑广告问题。 这些货币不兼容,很难转换,因为虽然许可证是成本,但广告是利润。 因此,甲骨文永远不会达成增加谷歌成本的协议,但是有可能达成降低谷歌利润的协议。 换句话说,为了使Java适用于Android,Oracle可以从通过Java应用程序销售的广告中获得Google一定比例的利润。 Google与Yahoo,AOL等许多公司进行了这种交易。 为什么不使用Oracle?
如果Oracle没有提供JDK团队在Java 8中实现Jigsaw所需的全部资源,那么Oracle很快将完全退出普及游戏。 如果不将JDK分为可管理和高效的部分,Oracle将没有理由说服业界相信Java是长远之计。
在决定放弃拼图之前,我请甲骨文考虑一下后果! 他们必须忽略固定发布路线图,并接受任务的难度。 只要Jigsaw即将推出Java 8,我们就可以对Java 7感到满意(无论如何它并未得到广泛采用)。这个固定的发布周期实际上可以在Java 8之后出现。
我想错了,对甲骨文正式宣布在下一个JavaOne中对Apple和Android设备上的JavaFX的绝对支持感到惊讶;-)但是,我认为可能性很小:-(
参考: Hildeberto博客博客中来自JCG合作伙伴 Hildeberto Mendonca 的延期项目拼图的后果 。

翻译自: https://www.javacodegeeks.com/2012/09/project-jigsaw-consequences-of-deferring.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Navicat下Oracle数据泵的使用简单例子

如何使用Navicat等数据库开发工具进行高效开发将是未来工作的重点。Navicat一来美观而来够操作够傻瓜,使用得当其强大功能与PL SQL不相上下。今天学习就是如何在Navicat中使用数据泵进行数据导入导出。 数据泵使用前事项:想使用数据泵必须以sys或system等…

前端自动化之nvm安装

nvm ——node环境版本控制工具。 1.解压安装包 2.打开setting文件,修改文件内容 root: D:\node\nvm path: D:\node\nodejs arch: 64 proxy: root:当前nvm所在的路径 path:将root路径的nvm改为nodejs arch:64位系统 3.配置环境变量…

mysql 主从复制介绍_MySQL 主从复制介绍

一、MySQL 主从复制简介(1) MySQL 主从复制通过逻辑的 binlog 日志复制到要同步的服务器本地,然后由本地的线程读取日志里面的 SQL 语句,重新应用到 MySQL 数据库中(2) 在复制过程中,一台服务器充当主服务器,接收来自用户的内容更…

JavaFX教程–基础

JavaFX似乎正在RIA领域获得发展。 有了正确的工具和开发支持,它肯定会在下一个最佳技术“物”上付出巨大的代价。 我没有在这里写任何JavaFX评论,因为有很多技术评论可能对它进行了广泛的评论,但是,我将编写一个简单的教程&#x…

java swing 案例详解_《Java Swing图形界面开发与案例详解》PDF_IT教程网

资源名称:《Java Swing图形界面开发与案例详解》PDF内容简介:《Java Swing图形界面开发与案例详解》全书共20章,其中第1~2章主要介绍有关Swing的基础知识,包括Swing的基本概述、如何使用IDE开发Swing程序;第…

Python—day3

1、字符串在C里边就是字符数组 Python里边一切事物都是对象,对象则是类创建的 2、set集合 set是一个无序且不能重复的元素集合 #!/usr/bin/env python# encoding: utf-8#set对象不能有重复s1 set()s1.add(alex)print(s1)s1.add(alex)print(s1)s1.add(shidong)print…

iOS - The file “XXX.app” couldn’t be opened because you don’t have permission to view it.

当引入第三方的框架的时候 容易产生以下问题: The file “XXX.app” couldn’t be opened because you don’t have permission to view it. 如图: 造成的原因: info文件中的字段Executable file 与 build settings栏中的Packaging中的Produc…

使JFrame透明

首先创建一个带有滑块的框架,该滑块将用于设置透明度量。 import javax.swing.JFrame; import javax.swing.JSlider;public class TransparentFrame extends JFrame {public TransparentFrame() {setTitle(Transparent Frame);setSize(400,400);setDefaultCloseOper…

第一次作业之成员介绍

Lab205的新鲜血液 很理所当然的,实验室的4枚“小鲜肉”在现代软工的课程上组成了一个team,作为一个负责的team长,我当然要放上组员们的自述啦!(为什么不是他述,╭(╯^╰)╮,谁让我是个傲娇的组长…

java自定义分页标签_自定义分页标签--仿javaeye分页效果

效果如图:1、JSP规范1.1版本后增加了自定义标签库。实现自定义标签的步骤(1)开发自定义标签处理类。(2)建立*.tld文件。(3)在web.xml中增加自定义标签的定义。(4)在jsp中使用自定义标签。2、自定义标签类(1)继承javax.servlet.jsp.tagext.TagSupport(2)标签类属性&a…

201521123052《Java程序设计》第5周学习总结

1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点。 1.2 可选:使用常规方法总结其他上课内容。 学习了更多markdown的知识 参考资料: 百度脑图 XMind 2. 书面作业 作业参考文件下载 1.代码阅读:Child压缩包内源代码package parent;publi…

telnet测试端口是否正常打开

点击计算机的开始菜单--》运行 ,输入CMD命令,然后确定。打开cmd命令行。 输入telnet测试端口命令: telnet IP 端口 或者 telnet 域名 端口 回车 如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败 端口…

Java instead of 用法_我又不是你的谁--java instanceof操作符用法揭秘

背景故事《曾经最美》是朱铭捷演唱的一首歌曲,由陈佳明填词,叶良俊谱曲,是电视剧《水晶之恋》的主题曲。歌曲时长4分28秒。 歌曲歌词:看不穿你的眼睛藏有多少悲和喜像冰雪细腻又如此透明仿佛片刻就要老去整个城市的孤寂不止一个你…

3.26

http://codeforces.com/gym/101196/attachments A题 B题 题意:一群人玩桌上足球(>4人),分成黑白两队,每队有进攻和防守两名玩家,如果有一方失败则失败方的防守坐到等候席的结尾、进攻被流放到防守区再上来一个人作为进攻方。而…

CentOS6.5安装MySQL5.7详细教程

CentOS6.5安装MySQL5.7详细教程 注:文中所写的安装过程均在CentOS6.5 x86下通过测试 主要参考博文: https://segmentfault.com/a/1190000003049498 http://www.th7.cn/db/mysql/201601/175073.shtml 1.检测系统是否已经安装过mysql或其依赖,若…

番石榴秒表

番石榴的秒表是番石榴第10版的另一个新番石榴类(作为Optional ,这是另一篇近期文章的主题)。 顾名思义,这个简单的类提供了一种方便地测量两个代码点之间经过的时间的方法。 与使用System.currentTimeMillis(&#xff…

盒模型的属性丶display显示丶浮动

一丶盒模型的属性(重要) 1.padding padding是标准文档流,父子之间调整位置 <!DOCTYPE html><html><head><meta charset"UTF-8"><title>padding</title><style>*{padding: 0;margin: 0;}.box{width: 200px;height: 200px;b…

CSS 小结笔记之滑动门技术

所谓的滑动门技术&#xff0c;就是指盒子背景能够自动拉伸以适应不同长度的文本。即当文字增多时&#xff0c;背景看起来也会变长。 大多数应用于导航栏之中&#xff0c;如微信导航栏: 具体实现方法如下&#xff1a; 1、首先每一块文本内容是由a标签与span标签组成 <a hr…

使用API​​身份验证的Spring Security

背景 尽管有许多博客文章详细介绍了如何使用Spring Security&#xff0c;但是当问题域位于标准LDAP或数据库身份验证之外时&#xff0c;我仍然经常发现配置挑战。 在本文中&#xff0c;我将介绍一些针对Spring Security的简单自定义&#xff0c;使其能够与基于REST的API调用一起…

java nlpir_4-NLPIR汉语分词系统-JAVA

好吧&#xff0c;之前用的是旧版的&#xff0c;现在出了个新版的&#xff0c;优先选择用新版的哈。从官网下载相应的开发包&#xff0c;然后主要需要找到这几个东西添加到项目工程里面&#xff0c;1.Data文件夹 2.NLPIR_JNI.DLL 3.NLPIR.jar 4.nlpir.properties添加完那些东西后…