为什么Java在25年后如此年轻:设计师的观点

Java拥有25年的编程生命,并且仍然与开发人员息息相关。即使到现在,全球将近69%的开发人员社区仍在使用Java进行编码。

Java拥有25年的编程生命,并且仍然与开发人员息息相关。即使到现在,全球将近69%的开发人员社区仍在使用Java进行编码。甲骨文最近发布了Java 15,其中包含大量功能,例如密封类,隐藏类,爱德华曲线数字签名算法(EdDSA),文本块等。这使Java 15成为25岁的年轻人,而不是25岁的编程语言。

Java的历史与演变

当1990年代初期有数十种非常稳定的编程语言(例如FORTRAN,COBOL,Pascal,C ++和Visual Basic)时,许多平台(例如Windows,Mac,Unix,Linux和Mobile平台)都要求在程序开发和开发中采用统一的方法。架构设计。詹姆斯·高斯林(James Gosling)和他的朋友们在詹姆斯办公室附近的一棵橡树下讨论了这些方面,他们觉得应该开发一种新的编程语言来解决这些差距。在开发一种名为Oak 的新语言的基础方面,他们非常特别。后来该语言被命名为Green(该团队被命名为Green team),后来又被命名为Java(基于他们最喜欢的印度尼西亚Java Coffee)。

詹姆斯·高斯林(James Gosling)于1995年推出Java,在此期间,还有其他语言C,C ++,VC ++,Visual Basic,Python都有自己的市场和开发人员,部署。Java提出了WORA(一次编写即可在任何地方运行)概念,简单性,面向对象编程,并消除了C ++的所有痛点。最重要的是,带有Applet支持的Web编程以及Enrich UI设计(抽象窗口工具包)。

由于它的简单性,它吸引了更多的开发人员,并在1998-2001年间成为所有开发人员在国际公司(美国,英国)工作的“通行证”。但是,在2001年的同一时间,Dotcom大量减少了工作,为Java增加了新的开发人员。但是,在以后的阶段,在RMI之上使用JSP,Servlet和中间层体系结构EJB提出Web编程中的其他功能,会带来更多关于JAVA的企业应用程序空间的想法。Java还引入了移动编程以进入移动应用程序,因此引入了J2ME。结果,Java提出了J2SE,J2ME和J2EE。

但是,它们都使用CORE-JAVA作为基本语言。Java还与IBM和Java声音库进行了合作。Java Media Framework与Java运行时结合在一起,将来通过语音使用IBM进行语音合成对于媒体和教育领域的人们来说是另一个了不起的里程碑。随着时间的流逝,Java增加了开发人员的数量JUG同时被引入。Java Bug跟踪和Bug报告很棒。

由于功能简单,功能强大,随后几年进行了更多部署,因此增长非常可观,它从Market Java中淘汰了C ++,VC ++和Visual Basic,在开发人员社区中已经领先了将近5-6年。它甚至将python语言搁置一旁,并带来了诸如JavaScript Web编程(CSS + HTML之上的动态支持)之类的功能。Java具有大量的转换功能,并且可以与新引入的语言GO,RUBY,SCALA等竞争,并且也可以占领自己的市场。

Java基础块

Green团队在Java编程语言的最初概念化过程中计划的基础方面使得Java编程语言的奠基石是:

构建一种简单的,面向对象的语言,这对于C ++程序员来说将是容易的。
使它与平台无关并且与架构无关。
具有许多内存内功能的高性能以及通过命令行参数进行的性能调整。
使它成为多线程的,动态的和解释的。
包括安全性和强大的功能。

有了这些基础知识就足够了,而且功能强大,Java仍然不会损害任何这些功能,因此很快就采用了现代编程语言中的新变化,例如Lambda表达式,Switch表达式和密封类等。因此,许多新的编程框架(包括Hadoop和许多大数据框架),云功能将Java用作本机工具。这就是Java在25年后仍与Scala,Go和Python等新时代编程语言进行斗争的原因。

从Sun Microsystems过渡到Oracle Inc.

Sun Microsystem已被Oracle收购,因此,他们从2010年开始管理Java。甲骨文已经将Java从版本控制的运动从1-2年提高到了一次6个月。发生了巨大的变化,增加了新功能。Java 8是吸引开发者重新占领市场空间的非凡版本之一。即使oracle引入了JAVA 14,仍然是所有开发人员,但仍使用更稳定的J2SE 1.8版本保留了部署。
在Oracle接管Java之后,就以Sun的J2SE(OpenJDK)和Oracle的J2EE openness(J2EE JAKARTA Eclipse社区基础项目)的名义考虑了OpenSource的思想过程并开始了开放性支持。

Java已在所有领域中广泛使用,无论是制造业,零售业,银行业还是电信业,Java语言都是强制性的,每个开发人员都应了解Java。因此,它在全球范围内的行业中创造了更多的机会。在2006-2013年期间,Oracle遇到了困难。但是,在oracle接管Java之后,这种速度或开发/部署已被彻底消除。Sun Microsystems召开了Java ONE会议,每次发布都会在全球范围内进行技术讨论,将与更多的技术读者讨论和辩论Java的整个新特性(功能,期货JSR)。

正如我们所讨论的,Java在微控制器和微空间项目中都有一定的空间。Java带来的重点和变革之一是Java嵌入式系统功能,该功能可以使用Internet远程管理设备和设备。我认为这是最近几天引入物联网(IoT)的基础,但在2006-2010年的时间框架中,人们一直以Java的方式来思考。

Oracle带来的第一个重大变化是以两种形式发布Java:

Java的开放平台,称为OpenJDK。
用于企业用途的商业平台,称为Oracle Java。

基于Java平台的框架

作为Java的介绍,可以自由查看世界上更多的语言,例如GO,Python,Ruby,PERL等,以及它们的市场空间。Java已用于客户端层或两层应用程序(Applet,JavaScript),服务器层(JSP,Servlet),中间层(EJB)和N层(EMAIL,JNDI,JDBC等)。它还有助于Sun和Oracle在Java增长期间增加他们的开发人员和贡献者。Java已在Spring,Hibernate等第三方框架中得到了广泛使用,并启用了跨数据库和动态/运行时依赖项注入功能。

除此之外,作为下一代编程语言的转换,单片世界已更改为微服务世界,以在业务和市场中带来更多的稳定性,可伸缩性和敏捷性。Java已在所有基于SpringBoot的微服务容器中使用,并再次获得一组顶级编码器,经过验证的部署等。我忘了提及另一种所谓的多语言支持功能,其中Java支持UNICODE以启用跨语言(国际)支持。在更多的用例,解决方案和部署中,Java已在大数据,AIML空间中得到了极大的使用。Java还将其转换调整为基于云的平台部署,从而使更多开发人员也能够通过满足热门市场需求来为Java做出贡献并开展工作。

Java被广泛使用并集成到各个领域,技术和工具集中,从而提高了Java从空间,卫星研究到制造,教育,银行,金融,移动,云等的利用率。Java已成功与以下第三方集成工具和技术。Java具有AI,ML和Cloud等更广泛的集成,并且性能稳定,持续不断地提高。在过去的25年中,Java被各种语言(例如Python,C ++,Scala,GO,Erlang等)所忽视。Java仍然是社区成员数量排名第一且具有大量用例的稳定部署的Java。

从Hibernate到Struts,Java与其他第三方框架的集成,直到现在,SpringBoot微服务框架也在全球范围内被采用和部署。关于响应式编程语言的最新变化,响应式Java变得更加流行,并提出了更多的选择。这些集成将Java的性能和稳定性作为Java成功功能的关键部分,使Java进入了下一个编程领域。甲骨文还宣布了其发行版中的许多新更改。而不是每两年发布一次Java,而是每6个月发布一次。此外,还添加了一个新网站,以查看即将进行的项目的功能或到目前为止完成的任务。凭借25年的Java历程成功里程碑,好像有一些重要的里程碑,好像JDK8拥有大量部署之类的东西。关于此功能,开发人员可能希望通过JVM处理大量并发用例的速度和性能有所提高,并且具有更高的容错能力。

Java平台最近面临的障碍

当Sun拥有Java时,还有其他Java运行时环境,特别是IBM引入的IBM Java(它也具有一些有趣的功能)已经完成了Java的增强。突然,Sun Microsystem提起了诉讼,要求Microsoft垄断IE浏览器,并使用JRE违反Sun Microsystems许可要求。Sun在与Microsoft的诉讼中胜诉,最近Oracle在Google的移动android平台上与Google达成协议。

快速了解最新的Java 15版本

Oracle Java版本基于JDK企业建议书(JEP)和Java规范请求(JSR),而EdDSA是JEP 339的一种实现。它是采用约126位加密算法的独立于平台的加密签名。这可以用于具有更高安全性的数据传输处理,以传输加密的数据。

Java 15中引入的密封类是JEP 360的实现,它限制了哪些类可以扩展或实现密封类。例如:

public abstract sealed class Shape
permits Circle, Rectangle, Square {…}

使Shape成为密封类,并且仅允许“ permits”类实现/扩展。这样可以安全地访问类层次结构,并控制接口的可重用性。

隐藏类基于JEP 371的实现,它通过允许在运行时使用Reflection API生成类来限制类的使用,并使该类对外部环境不可发现。因此,无法通过代理动态生成隐藏类,并且可以安全地访问它们。

ZGC或Z Garbage Collector基于JEP377。在Java 1.8的较早版本中,G1 GC是自我管理垃圾收集的突破性介绍,并大大提高了性能。后来在Java 11中引入了ZGC,具有各种功能以提高性能,而在Java 15中则进行了进一步的改进,例如取消注释未使用的内存,多线程堆,并发类卸载等。

从JEP 378引入的文本块可创建多行字符串文字,以自动转义序列的形式存储,并以预测的方式格式化字符串,并改善了字符串文字的内存使用率。这样可以有效地将XML,JSON和HTML数据作为字符串文字存储在Java代码中。

外部存储器访问API是JEP 383的实现,它允许程序有效地访问已分配的Java堆之外的外部存储器。它最初在Java 14中作为预览引入,现在改进版本作为Java 15的一部分发布。该API允许通过添加诸如的代码来快速分配本机内存段MemorySegment.allocateNative(100)。

结论

官方发行说明说,官方第一个Java于1996年1月首次发行,使Java完成了其25年的历程,如上面的时间表所示。我们认为,与Java相比,从台式机,移动设备,企业开发到现代云和大数据开发领域,计算机历史上没有其他编程语言可以经受得住。许多人说,像GoLang,Python,Javascript框架这样的新编程结构将使Java很快消失,但是Java15中引入了许多功能,这似乎强烈地表明Java仍然是开发人员社区的“遥不可及”的选择。

参考:《2020最新Java基础精讲视频教程和学习路线!》
原文链接:https://blog.csdn.net/weixin_...

你可能感兴趣的:(为什么Java在25年后如此年轻:设计师的观点)