沐鸣怎么当代理?让Java变得更好的五个特性

我无意中发现了Brian Goetz关于Java数据类的这个建议,并立即意识到我也有一些关于如何使Java作为一种语言变得更好的想法。我实际上有很多,但这只是其中最重要的五个。沐鸣怎么当代理?

《白痴政治》(2006)作者:迈克·贾奇

全局变量。在Java中有单例,我们都知道,它只是全局变量。在Java中启用全局变量并摆脱单例不是很好吗?PHP、JavaScript、Ruby和许多其他语言都有,为什么Java没有呢?看看这个代码:

类用户{

私有静态用户实例;

私人用户(){}

公共静态用户getInstance() {

同步(User.INSTANCE) {

如果用户。INSTANCE == null) {

用户。INSTANCE = new User();

}

}

返回User.INSTANCE;

}

公共字符串getName() {

//返回用户名

}

}

然后,要访问它,我们必须使用:

String name = User.getInstance().getName();

这是一个单例。看到它有多啰嗦了吗?我们可以简单地用一个全局变量替换它(global是我建议我们使用的关键字):沐鸣下载

全球用户用户;

然后:

user.getName ();

更少的代码编写,更容易阅读!

全局函数和名称空间

为了将静态方法分组在一起,我们创建了实用程序类,其中我们必须定义私有构造函数来防止它们的实例化。此外,我们还必须记住静态方法所在的具体实用程序类。这只是额外的麻烦。我建议在Java中添加全局函数和可选的“名称空间”来对它们进行分组。看看这个实用工具类:沐鸣平台网站

类TextUtils {

私人TextUtils () {}

公共静态字符串修剪(字符串文本)

if (text == null) {

返回”;

}

返回text.trim ();

}

}

现在看看这个带有名称空间的全局函数:

名称空间TextUtils {

字符串修剪(字符串文本)

if (text == null) {

返回”;

}

返回text.trim ();

}

}

我的观点是,既然我们已经将类用作函数的集合,让我们使它更方便。在某些应用程序中,我们甚至不需要名称空间,只需要全局函数,比如C和c++。

完全访问私有属性和方法

为了从外部访问对象的私有属性或方法,我们必须使用反射API。这不是特别困难,但它确实需要几行代码,这并不容易阅读和理解:

类点{

私人int x;

私人int y;

}

Point Point = new Point();

getclass ().getDeclaredField(“x”);

field.setAccessible(真正的);

int x = (int) field.get(point);

我建议我们允许任何对象访问另一个对象的任何属性和方法:

Point Point = new Point();

int x = point.x;

当然,如果它们是私有的,编译器将发出警告。在编译时,您只需忽略警告并继续。如果您真的关心封装,请注意警告并执行其他操作。但是在大多数情况下程序员会忽略它,因为他们无论如何都会很高兴地使用反射API。

默认为空

让我们使用不完整的参数集合来调用构造函数和方法会很方便。默认情况下,我们不提供的参数将被设置为null。另外,当一个方法必须返回一些东西,但是没有返回语句时,Java应该返回null。这几乎就是它在PHP、Ruby和许多其他语言中的工作方式。我相信这对Java monkey开发人员来说也是一个方便的特性。

当一些参数是可选的时,我们不需要定义这么多的方法。方法重载非常冗长且难于理解。相反,我们应该有一个带有一长串参数的方法。其中一些将由调用方提供,其他的将设置为null。该方法将决定做什么,例如:

void save(File File, String encoding) {

if (encoding == null) {

编码=“utf – 8”;

}

}

然后我们调用save(f)或save(f, “UTF-16”)。这个方法会理解我们的意思。我们还可以让它更方便,就像在Ruby中做的那样,通过名称提供方法参数:

保存(文件:f,编码:“UTF-16”);

此外,当没有要返回的内容时,该方法在默认情况下必须返回null。编写返回null只是浪费代码行,并不能真正提高可读性。看一看:

字符串加载(文件文件){

如果(file.exists ()) {

返回read_the_content ();

}

}

从这段代码可以明显看出,如果文件存在,该方法将加载并返回其内容。如果不是,它将返回null,这对于调用者来说是一个很好的指示,表明有什么地方不对,并且文件的内容不可用。

getter和setter

我认为很明显我们需要这个特性:每个私有属性都必须自动有一个setter和一个getter。应该没有必要创建它们,Java将提供开箱即用的功能,就像Kotlin和Ruby所做的那样。

为什么有沐鸣首页效的DevOps更需要机动性而不是速度

围绕有效的DevOps的大肆宣传使其听起来像是方法论提供的真正价值来自于更快的部署时间。但Cognitect公司的企业架构师迈克尔•尼加德(Michael Nygard)认为,这忽略了围绕可操作性的真正好处。他说:“我们谈论了很多关于速度的东西,但没有太多关于加速度的东西,沐鸣首页加速度指的是根据需要移动得更快或更慢的能力。”

企业可以根据变化的条件加快或放慢发展速度,这比竞争更具可操作性。云计算使得基础设施可以任意使用,代码存储库使得代码可以任意使用。尼加德打趣道:“也许连球队都需要一次性的。”这与让人们变得可有可无不同,后者会打击士气

有效的DevOps意味着敏捷

真正的可操作性来自于让团队更容易地分解和快速启动项目。这是有效的DevOps。个人的价值来自于完成和启动项目的团队过程,而不是某个人在特定项目中的角色。Nygard指出,一些部队可以在几小时内解散并建立一个新的营地,而其他部队则需要几天的时间。沐鸣平台注册登录这种差异来自于在成千上万个小决定之间的合作经验,比如如何以正确的顺序移动卡车,或者在哪里放置厕所。这意味着围绕版本控制和在企业中构建管道等问题开发一种共享的理解。

团队成员还需要善于直觉,知道其他人可能会做出什么样的决定来应对不断变化的情况。军队里的一个小单位指挥官对其他指挥官如何做决定有很好的想法。这是在有效的DevOps团队中所缺乏的,这些团队根据功能和地理位置进行分散。“节奏是一种突现的属性,它来自于你的组织的某些特征,必须在每个层次上进行构建,”Nygard说。沐鸣平台首页

DevOps的缺沐鸣怎么当代理?陷会导致安全缺陷检测

今年我们采访了Manicode security公司的Jim Manco。这是紧接在Oracle OpenWorld 2017之前,其中Manico发布了一个关于Java SE 9安全的JavaOne会话。

JDK的最新版本中有很多新工具和新技术,可以帮助减少开发人员可能遇到的Java安全bug。当然,仅仅在Java 9规范中拥有JEP-273(基于drbg的SecureRandom实现)、JEP-290(过滤传入的序列化数据)和新的无限制JCE (Java加密扩展)这样的技术是不够的。为了尽量减少进入生产环境的Java安全缺陷,重要的是让开发人员知道这些不同的安全控制做什么以及如何使用它们。沐鸣怎么当代理?

和Jim Manico谈安全问题

下面是面试记录TheServerSide卡梅隆麦肯齐和Manico先生之间的各种Java安全主题的解决,包括Java模块化将如何影响如何解决安全漏洞,DevOps自动化工具的缺点当Java安全性错误出现时,当然,新的见解对各种Java安全控制在Java SE 9。

Cameron McKenzie:说到企业Java安全,哪些是你所关心的事情,哪些是用Java进行企业软件开发的人应该关心的事情?

Jim Manico:我真正关心的是Java的风险,Java正在受到攻击。对很多开发人员来说,老实说,这是非常深奥的东西。因此,它不一定是Java最激动人心或最吸引人的特性,但我敢说它是必要的东西。例如,有一个新的JSR解决了序列化问题,并尝试允许在Java应用程序的多个层上直接过滤精确的类。这不是什么激动人心的事,对吧?但是有一个安全的Java应用程序是必要的,至少它为您提供了一种解决已知Java风险的方法。但是,你知道,这并不性感;但它是很重要的。沐鸣代理:

避免Java安全漏洞

Cameron McKenzie:通常情况下,企业Java开发人员只关注满足业务需求,并不真正关心他们正在编写的代码的一些安全含义。对于开发人员日常编写的一些代码,他们应该考虑哪些安全问题,以避免Java安全bug进入代码?

吉姆·马尼科:有时候,数字在金融处理中的应用比人们想象的要复杂得多。其他的问题包括,当你使用老式的Java技术时你想要提供某些类型的控制,比如转义,来阻止跨站点脚本,这不是核心语言的一部分。在J2EE中有一些部分,有一些框架提供了它,但它不是语言的核心。我认为开发人员应该更容易地使用这个控件。

还有所有加密api的问题。我认为一些最好的加密api并不在Java的核心中。他们在不同的地方,比如谷歌项目。谷歌Tink是一个新项目。它是一种加密API,使Java开发人员更容易地与底层加密API进行交互。我希望看到更多这样的api更接近核心。让我重新表述一下。这些api越接近核心语言,开发者就越有可能使用它们,对吧?

我们都是Java安全工程师

卡梅隆·麦肯齐:现在我解释一下你的意思,如果我说错了请纠正我。但在我参加的前几次会议中,我记得你说过,你觉得现在的软件开发人员和DevOps人员实际上应该把自己看作是安全工程师。你那样说是什么意思?沐鸣平台网站

吉姆·马尼科:你知道,世界在改变。所以我质疑大多数开发人员,不管他们是否相信,不管他们是否认为,甚至不管他们是否这样做,他们现在都是安全工程师。因为他们编写的代码是在保护组织免受数据丢失、财务损失、声誉损害、隐私侵犯、法规遵从和罚款的第一线。因此,这些开发人员和他们编写的代码是所有这些问题和更多问题的前线。他们是安全工程师。所以这是一个他们是否要这样做的问题。如果你用类似笔测试和让一些安全团队运行工具来打败一个开发人员,你知道,特别是在成熟的早期,训练开发人员攻击他们的代码真的会帮助改变事情。

Java SE 沐鸣总代9对操作和开发团队的影响

在JavaOne之前,TheServerSide与ZeroTurnaround的Simon Maple讨论了关于Java SE 9和更大的Java生态系统的所有事情。谈话中漏掉了几篇有趣的文章,所以我们认为完整地发表采访是值得的。沐鸣总代

Cameron McKenzie:现在在Java世界里有很多事情在发生。当涉及到Java和Java SE 9时,您认为最重要的主题是什么?

Simon Maple:让我们从Java中发生的事情开始。现在在Java中有很多有趣的事情发生。Java正在被推到Eclipse, Java SE将首先被open JDK驱动,Java SE发布的频率现在是每六个月一次;有一些非常非常有趣的事情正在发生。

如果你看一下Java SE 9,你会发现JDK有一些有趣的事情在发生。很明显,它被推迟了一年,所以它已经酝酿了三年。但是JDK 9交付的东西之一是模块系统。对我来说,这是一些开发人员不会过多参与的事情。真正想要模块化的人将会使用OSGi或类似的东西。人们会想,“是的。好吧,这是个不错的主意,”不一定非要咬紧牙关得到它。所以我不确定人们是否会接受模块化。

就Java的未来而言,它确实有很大的好处,我们如何能够减少Java的足迹,我们如何能够开发像HTTP/2这样的模块等等。所以它提供了很多承诺,但还没有达到。我认为行业和生态系统需要很长时间才能真正接受模块。因为很明显,所有的框架,库,工具,访问的供应商和类似的东西,沐鸣登陆地址他们需要时间来支持其他应用程序开发人员可以使用这些框架和工具,以及他们的平均开发。我们相信Java 9的采用将会和以前的版本一样广泛。

谁受益于Java模块化?

Cameron McKenzie:今年在JavaOne, Jigsaw项目和模块化是一个很大的主题。但是谁从模块化中获益最大呢?这是只有工具供应商才会真正开始使用的东西,还是普通的企业软件开发人员可以在他们开发的代码中开始使用和利用的东西?

西蒙·梅普:我认为它实际上对很多人都有好处,但并不是对所有人都有好处。但是全面来说,如果它能帮助许多不同的部门,比如运营、开发或业务,那么当它能帮助每个人时,它可能是一个不错的选择。让我们一次解决一个问题。如果你看看开发团队,他们很大程度上受益于它,如果你有一个大型分布式团队有不同的开发人员编写应用程序的不同组件,在一个大型的应用程序,它实际上是一个伟大的方式,以确保其他团队在api中使用组件使用它们作为你希望他们使用它。这给了你更大的能力去修改你的代码知道你不会破坏任何使用你代码的人。因为有了模块化,你可以有效地说,“这些是我想要公开的api,所有我想隐藏的东西。”杏耀注册平台官网

所以从开发人员的角度来看,这是非常有益的。作为开发人员,您还可以更快地交付更新,因为对于不使用模块化的典型Java应用程序,一次只升级一个模块是不可能的。

让我们以Java为例?在过去的大型发布中,我们看到了很多很多的东西,而它们被推出一年、六个月、两年的原因,很大程度上是因为我们一直在等待不同的特性。Java 8因为lambdas而延迟,Java 9因为Jigsaw而延迟。事实上,Java 8在很大程度上也因为后来被取消的Jigsaw而延迟了。所以,Java的其他好处,你无法掌握。这是因为你一直在等待一个大的下降。如果您正在考虑更模块化的东西,那么实际上您可以升级一些模块,而不需要立即升级整个应用程序。

所以从操作和开发的角度来看,实际上从业务的角度来看,在修复bug的速度方面,在功能规划等方面,你的反应要快得多。所以从这个角度来看,它对企业来说非常非常强大,它可以将你的功能推向市场。这完全是从商业的角度来看的。

你的英特尔沐鸣注册开户芯片的管理引擎中是否有隐藏的威胁?

几年前,英特尔邀请我参加一个媒体午宴,谈论他们的新芯片有多棒。他们的新芯片速度更快,耗电更少,卖得很火。食物很好,新机器比去年的型号更小,电池续航时间更长。几乎是在同时,我听到他们的一位产品经理在描述一种隐藏在企业计算机中的秘密操作系统,称为管理引擎(Management Engine, ME)。他们称之为特征,而我所能看到的只是一个隐藏的威胁。沐鸣注册开户

他们说它只能在“企业电脑”上运行,我记得我晚上睡得稍微好一点,当时我还以为这个小怪物不会在我的消费者笔记本电脑里运行。我刚刚发现他们有一种新的测试这种隐藏的威胁,可以确定你的电脑是否感染了这种不治之症。是的,我有。你可能也拥有它,以及大多数云服务器,以保持数万亿美元的企业应用程序的安全。

他们还发布了一种所谓的“治愈”症状的方法,目前只有联想才有。但它并不是抗生素根除感染的方法。这更像是那些每年5万美元的鸡尾酒,它能控制艾滋病,但却让艾滋病携带者有向他人传播艾滋病的风险。最根本的问题是,到目前为止,英特尔还没有透露这种隐藏的威胁是如何运作的,也没有透露它是否真的可以被根除。他们只是修补了一些漏洞,到目前为止,这些漏洞可能对云应用程序没有太大的危险,因为必须有人在物理上插入一个USB驱动器来破坏它们。

所有系统都是脆弱的

换句话说,根本问题不在于有人发现了漏洞并修补了它。问题在于,英特尔依赖于一个非常有缺陷的理论,即运行在几乎所有企业和云服务器上的东西都受到保护,因为除了英特尔以外,没有人知道它是如何工作的。在美国和以色列搞清楚如何利用Stuxnet病毒摧毁伊朗的核项目,沐鸣注册平台或许还有伊朗的一座核电站之前,公用事业行业也一直依赖这一理论。但一旦共享了这种攻击,世界上所有的电力基础设施都很容易受到Stuxnet后代的攻击。

我相信英特尔最伟大的头脑们在识别和减轻他们当时所能想到的每一个漏洞方面做得很好。开发SSL的人也是如此,而安全行业中最狡猾的人都没有意识到隐藏的威胁,直到代码公开两年之后。

过去几年的一个关键发展是DevSecOps,沐鸣开户它假定所有代码都有漏洞。只是没有人知道在部署时如何利用它们。因此,当需要一个新的补丁时,必须有一种机制来快速、自动地查找和更新这些系统。当DevSecOps依赖于联想、戴尔和惠普等第三方来调整其特定配置的更新时,它就会崩溃。

沐鸣:给科技界女性的四条明智建议

在采访科技界女性的过程中,我最喜欢做的一件事就是倾听她们所有有用的建议和见解。这些女性中有许多人在科技界呆了几十年,在职业生涯中不断攀升,在专业领域进行创新,创办了新的企业,沐鸣:为下一代女性创造了更多的机会。以下是一些引起共鸣的收获。

技巧1:你可以在任何地方从事科技工作

TJC咨询公司的负责人塔尼斯·康奈尔(Tanis Cornell)向年轻女性和青少年提供了这样的见解:“你不必非要成为一名工程师才能在科技领域找到工作。”我在自己的职业生涯中发现,我喜欢吸收技术概念,把握优点和缺点,并很快地变得相当熟练。她在沟通方面的教育背景,最终很好地融入了科技行业。在科技行业,能够用商业决策者能够理解的语言表达复杂的想法,是一项非常宝贵的技能。沐鸣测速登录地址

珍沃克斯(Jen Voecks)是婚礼策划公司Praulia的现任首席执行长,她发现,作为一个全新的初创公司老板,投身科技行业给她带来了优势。“我一步一步地熟悉了门道,从前端到后端。”她说。“有一段时间,我陷入了学习曲线,身兼数职,试图在经营企业的同时开发产品。当我进入“开发人员大脑”模式时,我意识到这就像一个有很多部分的拼图,事情变得容易多了。但我也学会了欣赏开发人员所做的事情,以及如何与开发人员和工程师沟通。现在,她有足够的经验来做出明智的决定,聘用专家来处理她的技术需求的各个方面,并能够将自己的努力集中在战略增长上。她的建议是:“坚持下去。与我交谈过的大多数女性都遇到了障碍。我们应该团结一致,共同努力。我们是强大的。”

技巧2:冷静而清晰地沟通

Intuit公司执行副总裁兼ProConnect集团总经理CeCe Morken高度评价了平台与核心服务高级副总裁Raji Arasu。“她是一个优秀的领导者,她领导了很多人,”她说。“她总是很冷静,从不改变自己的举止。Raji接受信息,即使在高风险的情况下也能优雅地处理信息。Morken还指出,Arasu使用一种人人都能理解的语言,以一种有意义的方式将软件架构师的概念翻译给商业领袖。沐鸣网址

喜利得软件业务部门经理夏琳•施温特(Charlene Schwindt)也认为,能够针对特定受众进行定制化沟通,对于成功至关重要。她解释说:“你真的需要能够转变你的沟通风格,并根据你的听众的理解程度进行调整。”“当我与开发人员交谈时,我可能是高度技术性的。有了客户支持,我可以在更高的层次上进行讨论。商业领袖希望对话以结果为导向,但如果有人提问,我可能会深入探讨更多细节。”

当然,作为一个自信的沟通者并不总是意味着你必须在所有事情上都是正确的。事实上,随着你的成长,你完全可以转向。Oracle数据库专家、McNeely技术解决方案的所有者Mary McNeely分享了这条明智的建议。“不要害怕改变你的想法。为了前进,你必须做出决定。但是一旦你有了更多的信息和时间去思考,任何事情都可以改变。你可能会得出不同的结论。重新考虑你的决定、观点和观点是可以的。当你真的改变主意时,记得让人们知道!

开发者们,沐鸣代理:从iPhone的电池故障中吸取教训吧

苹果公司(Apple inc .)正在强迫所有老款iPhone和iPad用户购买新设备,方法是在用户使用时间变长时切断他们的电池。一些国家认为这是一种令人讨厌的强制淘汰,因此要求苹果高管做出解释。随着苹果公司发现其商业行为受到前所未有的严格审查,集体诉讼被提起。苹果一直是激情和焦虑的避雷针,毫无疑问,在过去的一些时候,苹果的商业行为应该受到公众的严厉批评。但当涉及到iPhone电池遗留问题的争议时,该公司遭受的反弹和公众嘲笑是没有根据的。但是,这是开发人员需要记住的一个重要情况。沐鸣代理:

新款iPhone手机的电池更新是一个非常棒的功能。这个功能不仅在手机上有,在台式机和笔记本电脑上也有。在台式机上,它被简单地称为“省电”。正是这一功能使你的电脑降低了功耗,增加了电池在一次充电时的续航时间。Windows有,Linux有,Mac OS也有。甚至Android手机也有。

它会使你的电脑变慢吗?是的它会。它提供的功能是否比不使用电源模式时要少?的确是的。但在电池快没电的情况下,这是一个强大的功能。

那么,这个新的iPhone电池“故障”与Linux和Windows桌面用户已经享受的相应电池有什么不同呢?沐鸣平台网站

我知道你在想什么:桌面上的省电模式是可选的,它可以开启和关闭,它只是让一次充电持续的时间更长,而不是考虑我的电池寿命。只有在极少数情况下,我才会用到它。省电模式就是这样。然而,如果你想让你的电池在多次充电后持续更长的时间——这难道不是一个很棒的功能吗?它只是这个设计模型的一个扩展。

假设你有一块电池,可以持续使用两年,充500次电。电池有不同的续航里程,但让我们假设它们在这次讨论中都是一样的。

如果你使用的是安卓手机从未使用过省电模式,那么两年后,你的手机电池就会耗尽。你现在得去买个新手机了。

如果你有一部iPhone,而且从未使用过省电模式,而且苹果没有为电池编写特殊保护代码,那么两年后,你的手机和电池也会报废,你现在必须更换电池。

现在,让我们以苹果公司开发的特殊节能模式为例。随着电池使用寿命接近2年,苹果公司将其设置为特殊的省电模式,这样电池/手机的使用寿命将超过2年。现在你有了一个更好更耐用的手机,减少了任何计划报废。怎么会是坏事呢?这真的不是iPhone的电池故障。

这在某种程度上是一件坏事,而且只有一种方式——表现。这就是苹果选择在这里所做的交易。我们可以放弃一些接近两年时间跨度的速度,让手机的寿命更长。速度变慢是件坏事吗?手机的续航时间真的更长吗?

这完全取决于你的观点。延长电池寿命以牺牲电池快用完时的性能为代价,还是保持电池寿命并提前升级——你会选择哪一种?我认为这决定了你对苹果的看法。

在这个多语沐鸣注册言的世界中需要清晰的软件开发治理

由语言无关的软件容器组成的新体系结构使多语言编程成为一种新的现实。但是,如果不存在明确的软件开发治理策略来描述什么时候、在哪里以及为什么可以使用某些编程语言,而其他语言则不能,沐鸣注册那么就会出现这种新发现的自由混乱。

当提倡讨论各种事情组织应该做的准备走向现代中间件服务器像亚马逊和OpenShift,增加使用serverless系统和所有的头痛,DevOps收养一个往往被忽视的话题是软件开发治理。组织应该解决如何管理这些新的软件开发堆栈和部署目标,而不是讨论技术采用或如何持续部署。

RedHat的产品经理Rich Sharples说:“如果你看看所有的云平台,比如开放共享云计算、亚马逊、谷歌、Azure、OpenShift,它们都是通晓多种语言的平台。”“它们支持多种语言。这对于那些想要将最佳应用程序集合在一起的组织来说是非常好的,其中每个应用程序都是用最适合应用程序目的的语言构建的。但是,从长期来看,最好的环境可能非常难以管理,特别是当用一种已经失宠的语言编写的应用程序需要修复、增强或一般维护时更是如此。沐鸣总代平台
灵活的软件开发治理

软件开发治理如何解决poloyglot编程商店可能遇到的问题?一种方法是让组织只会一种语言,并使用一种经过高度验证的、功能强大的编程语言,如Java。“Java显然是在传统的、长期存在的服务器模型中运行大型、复杂的事务应用程序的最佳语言,”Sharples说。“这是企业构建这类应用程序的积极标准。”

但是,正是僵化和僵化的统治模式导致了殖民地的反抗和建立国家联盟。虽然将Java作为基本标准是一个良好的开端,但软件开发治理模型还应该允许在满足某些可扩展的条件时使用其他语言。例如,如果了解到应用程序可能对并行性或列表处理速度有特殊要求,组织可能会指定Scala作为首选语言。类似地,对于需要支持最新Java版本的移动应用程序的开发,Kotlin可能会得到一致同意。沐鸣登录平台

可以理解的是,Java可能并不总是适合所有情况的正确语言,特别是在容器和微服务占主导地位的新领域。当Java在一个小栈上构建更小的微服务时,它必须证明自己。它必须在没有服务器的环境中证明自己,那里的环境更加密集和受限。它可以和像GO这样的超轻量级语言相媲美。”
包含多语言混乱

让一组程序员选择最好的编码语言,你会发现这是一个很好的开始争论的方法。为了确保开发团队的和谐,软件开发治理策略需要被很好地定义,以便程序员知道哪些语言是允许的,以及在哪些条件下可以使用替代语言。设置清晰的指导方针可以避免在用不同语言编写每个程序时可能出现的混乱。此外,在软件开发治理模型中明确的期望可以确保当开发人员的编程选项仅限于组织所标准化的那些选项时,他们的自尊心不会受到伤害。

在这个poloyglot编程、DevOps采用和无服务器系统的新时代,潜在的混乱对IT部门的健康是一个真正的威胁。拥有大量不同语言可供选择的软件开发人员对开发微服务并将其部署到语言无关的、基于容器的体系结构中感到兴奋,这是可以理解的。但是为了IT部门的长期健康发展,软件开发治理模型不应该对它们所允许的语言是不可知的。

重新引入Jakarta EE: 沐鸣怎么当代理?Eclipse将Java EE带回其根源

Eclipse基金会选择Jakarta EE作为该技术的新名称,该技术以前称为Java EE。

去年9月,Eclipse基金会宣布,Oracle将把Java平台Enterprise Edition (Java EE)交付给Eclipse,以促进全行业的协作和技术进步。从那时起,Eclipse就建立了顶级的Eclipse Enterprise for Java (EE4J)项目,以在Eclipse Foundation中监督企业Java的未来。对于这个项目来说,沐鸣代理EE4J是一个可靠的、甚至有点酷的名称,但它从来没有打算取代Java EE品牌。

甲骨文Java商标

但是,品牌的新名称——或者顶级项目的新名称——不能是Java EE,甚至不能从Java开始。Eclipse基金会的执行董事Mike Milinkovich在2017年9月的一篇博客文章中写道,Oracle的商标使用指南要求他们是在名称开始时唯一可以使用Java的实体,因此“用于Java”一词从一开始就是一个要求。沐鸣总代

经过一系列的商标审查,以确保一个合适的名字通过法律和商标搜索,Eclipse想出了几个可能的名字。Jakarta EE获得了64.4%的Java社区选票,而Enterprise Profile获得了35.4%的选票。

“我个人非常高兴社区选择了Jakarta EE,”Milinkovich说,高兴是因为Jakarta EE是一个简单的名字,具有未来技术的潜力,是对过去的肯定。“这只是整个迁移过程中的一小步,但社区的反应普遍是积极的。”

替代方案,包括企业概况,被认为太枯燥,“企业”这个词被许多人认为是指古板和难以接近的年轻开发人员。

“考虑到社区的目标和Oracle提出的反对意见,Jakarta EE的名字是一个合理的妥协,”xqiz的首席执行官Cameron Purdy说。它是一家隐形模式初创公司,曾担任甲骨文公司(Oracle)开发副总裁。

Apache Jakarta项目

其他Java思想领袖说,新名称实际上可能更适合于企业Java,它来自于一个旧的Apache Software Foundation项目。

Jakarta EE是以Apache Jakarta命名的,Apache Jakarta创建于1999年,2011年退役。“那大概是Java EE发挥作用的时候,”Atomist的首席执行官、Spring框架的创建者Rod Johnson说。“Java EE品牌现在已经厌倦了,所以虽然新名称的认知度会降低,但它也可能避免一些负面联想。”沐鸣总代理

伦敦Java社区的联合创始人和jClarity公司的首席执行官Martijn Verburg说,“这也是对‘JEE’缩写形式的一个推动,并利用了雅加达在Java生态系统中的声誉。”jClarity是一家位于伦敦的软件供应商,帮助开发人员用机器学习解决Java性能问题。

CloudBees首席执行官、JBoss前首席技术官Sacha Labourey说,Java EE的重新命名似乎符合Java正在进行的传奇。该产品最初的名称是“EJBoss: Enterprise Java Beans Open Source Server”,但在Sun Microsystems的律师就“EJB”的使用发出停止通知函后,JBoss的创始人兼首席执行官马克·弗勒里务实地去掉了E。

Labourey回忆说,Java社区已经不得不“学习如何与它的商标和社区过程[Java社区过程(JCP)]共舞,那么我们还能期待什么呢?”他指出,由于Java商标问题,JavaPolis会议不得不改名为Devoxx。他说:“如果我们没有在Java商标册上再增加一章,我们会非常失望。”

沐鸣平台为什么新的Java 10特性列表这么小

是我自己的问题,还是Java 10的发布让所有人都感到意外?

考虑到Java 10的3月份发行版早就计划好了,沐鸣平台但是考虑到Oracle在按时推出全增量Java发行版方面的不稳定历史,没有人真正期望它。但在JavaOne 2017年,甲骨文并承诺6个月的JDK版本的节奏,因为Java 9日发布2017年9月下旬,一只需要数10个月知道新的Java特性将在2018年3月如果Oracle会坚持他们的新实施的时间表。

Java 10有什么新特性?

在他们的新闻稿中,Oracle吹嘘说“这是Oracle新的6个月Java创新周期中的第一个版本”。他们甚至对Java 10的新特性以及附带的Java 10特性列表进行了一些吹嘘,尽管这个列表不是特别长。最值得注意的Java 10新特性包括:

本地变量的类型推断

由于G1垃圾收集的并行化,Java 10性能增强

一个类数据共享(CDS)特性,有可能改善JDK的启动时间

实验性的基于x64的Linux系统的即时编译器功能。沐鸣注册平台

为开发人员提供的新的Java 10特性

开发人员将发现本地变量类型推断,以及在他们的应用程序中使用长时间保留的、但迄今未使用的关键字var的能力,作为一个很好的节省时间的方法,但是从开发人员的角度来看,这是新Java 10特性列表中唯一值得注意的部分。变量类型推断不太可能让组织竞相安装Java 10并更新他们系统的JAVA_HOME环境变量。但这是开发人员应该习惯的场景,因为更频繁的发布和更少的特性现在已经成为新的常态。

Java 10特性的一个小列表

“由于Java 9推出了一个新的模块系统,我们可以更快地提供更小的特性,”Java冠军Simon Maple谈到Java平台的新体系结构的好处时说。“所以这对Java来说是有意义的,现在‘它是模块化的,利用这种模块化并说’好的,现在我们将推出不同模块的不同部分,当他们准备好了。因此,每六个月,准备推出的产品就会推出。这就解释了为什么Java 10特性列表不是很长。发行版将不再被那些还没有完成的大功能所阻碍。相反,发布将每六个月进行一次,而不管预期的特性是否准备好了。如果它准备好了,它将被嵌入到构建中。如果不是,那么发行版就没有它。Java的模块化使这成为可能,所以等待一个新版本两三年的日子已经结束了,因为不完整的、昂贵的项目不会阻止发布列车完成所有的常规停靠。沐鸣5网站

Java 10发布的最大收获与语言无关,而是与Oracle展示他们对6个月发布周期的承诺有关,这是Java社区应该感到高兴的收获。