美国上市公司,专注Java培训21年

Java—大数据技术领域的黑马


诞生于1991年的Java如今已经成为世界范围内应用最为广泛的编程语言之一。在今天的文章中,达内java培训(java.tedu.cn)专家将和大家共同了解Java所拥有的七大关键新特性,展望其如何在未来的超级计算、大数据以及物联网等领域继续发挥核心作用。

Java自1991年诞生于Sun Microsystems公司(现已被甲骨文公司收购)以来,由James Gosling、Mike Sheridan以及Patrick Naughton共同设计而成的Java语言已经成为众多企业级应用程序方案当中的核心组成部分。而在近25年的发展演变之后,Java还能否在我们的未来开发规划当中继续占据一席之地呢?

Java的主要优势在于其作出的WORA:即一次编写(Write Once)、随处运行(Run Anywhere)。简单来讲,这意味着开发团队能够利用Java编写一款应用程序,并将其编译为可执行形式,而后将其运行在任何支持Java的平台之上。这显然能够极大提高编程工作的实际效率,但实现这样的效率也确实需要我们付出一点成本。

此类主要成本之一就是在访问低级机器硬件时,WORA的起效会带来一系列限制条件。通用兼容性需要抽象机制的支持,而抽象机制会给应用性能造成一定影响。正因为Java与硬件之间存在一定差距,因此C++才得以继续充当主要开发语言之一,且往往与Java配合起效。不过这还仅仅是成本的一种表现。其它更为高昂的成本甚至有可能阻碍Java的未来发展。

Java应用程序通常运行在浏览器窗口当中,对浏览器界面的熟知正是很多企业开发人员乐于利用Java创建应用程序的主要原因之一。不过问题在于,Java是通过插件架构接入浏览器并成为其组成部分的,但这一架构目前正逐渐消失。新的微软Edge浏览器不允许使用任何插件。Chrome浏览器目前也对插件作出了诸多限制。其它浏览器似乎也会遵循同样的转变思路。那么这是否意味着Java将因此而逐渐淡出我们的视野?

不,Java并不会就此终结。Java应用程序仍将继续以独立而特别的方式保持运转。大量现有Java代码的存在意味着重视成本问题的开发人员(及开发经理)将在长远的未来继续使用Java。有鉴于此,我们需要了解与Java相关的哪些事实?

软件开发与编程语言本身一直在不断发展。Java当然也投身于这场经年累月的持续演进。下面我们就来一同了解Java的几大相关重点,看看其发展方向会给我们的未来开发带来怎样的影响。

Java已不再局限于浏览器

Java主要作为基于浏览器的应用程序开发语言的历史角色已经发生了转变。在步入Windows 10时代之后,我们将迎来新的Edge浏览器并在这里彻底告别Java——因为这款新型浏览器不再支持插件机制。

现在,向大家分享一点小秘密:如果您出于某种考量而需要继续使用基于浏览器的Java应用,完全没问题。Windows 10当中同时提供IE 11浏览器,这套传统浏览方案乐于迎接包括Java在内的各种插件方案。这虽然也意味着大家仍然需要重视由插件引发的安全问题,但至少我们多了一种选择。

不过面向未来,大家应当制定计划,逐步将自己的Java应用程序转移到桌面平台之上。它们将在这里迎来新的发展空间,而用户们也将逐渐适应在浏览器窗口之外与Java应用顺畅协作。

JavaScript将一直存在

Java与JavaScript是完全不同的两种事物:Java是一款由Sun Microsystems公司开发的编译编程语言,而JavaScript则是由Netscape公司推出的解释型脚本语言。Java应用程序可以运行在浏览器当中(利用插件架构),同时亦可以独立程序形式存在。而JavaScript则必须立足于浏览器窗口之内——单凭自身并不能够独立运行。

着眼于未来,JavaScript仍将在浏览器领导保持至关重要的地位。它能够与HTML 5携手合作,共同为用户提供丰富的交互式浏览器使用体验。如果您是一位拥有丰富JavaScript使用经验的开发人员,那么您的发展前景可谓相当光明。

如果您是一位开发工作经理,那么在规划当中利用HTML 5以及JavaScript进行应用开发也相当明智。二者相结合能够为企业Web以及移动Web应用提供非常理想的支撑,从而应对未来很长一段时间内的实际需求。

Java阵营的各类组件正逐渐汇聚

甲骨文公司正持续开发Java项目,并计划于2016年年内推出Java 9版本。其宏观图景是将Jigsaw项目正式交付给开发人员,并使Java具备更出色的模块化特性。这意味着届时将有多种“接入并起效”架构供我们选择,从而进一步拓展Java的传统编程模式。

开发人员已经为Jigsaw项目制定了一系列发展目标,我们可以将其归结为两大门类:性能与可扩展能力。模块的出现能够对结构进行进一步简化,而总体来讲结构精简就代表着代码规模更小、执行速度更快。轻松将模块纳入及移出整体应用程序的能力会使Java代码得以在不同规模的各类平台之上顺畅运作,从规模巨大的工程技术工作站到小巧的嵌入式物联网处理器皆涵盖于其中。

Java将成为物联网的温床

在刚刚诞生之时,Java原本是作为我们如今称为物联网装置上应用程序的编程语言存在。该语言的早期开发者们希望针对互联网电视机打造一款编程语言。不过问题在于,1991年时的嵌入式处理器根本无法同时支持Java框架及其应用程序。时至今日,情况已经发生了彻底转变。

Java Platform,Micro Edition(简称JPME)为甲骨文公司针对嵌入式及移动平台所打造的解决方案,同时面向电视机以及媒体中心等特殊平台。在物联网领域当中,“一次编写,随处起效”原则的存在带来了显著的成本节约效果。更加值得一提的是,企业能够借此引导开发人员打造出商用Java编程成果,并将其分配至物联网任务当中。

将上述能力汇总起来,Java语言将成为成功的企业级物联网发展战略当中不可或缺的重要一环。

Java向移动领域进发

让Java在物联网领域得以大显示身手的Java Platform,Micro Edition同时也能够在移动应用程序开发工作中扮演重要角色。必须强调的是,Java在iOS领域面临着巨大的竞争压力。苹果公司的Swift语言已经成为希望让自己的应用成果顺利进入App Store货架的开发者们的首选编程环境。不过如果大家的主要目标市场为Android,那么Java仍然是一款极为强大的开发工具,同时也能为我们带来理想的跨平台能力。

Java能够支撑超级计算机设备

当我们思考适用于高性能计算(简称HPC)的编程语言时,首先想到的几乎不可能是Java。但实际情况是,世界上相当一部分高性能计算项目都在利用Java负责背后的流体分析(或者天文观测)任务。Java的基础架构看起来并不适用于高性能计算,但它所具备的多种特性却足以保证其在高性能应用程序当中占据一席之地。

Java当中的一大关键性高性能计算能力在于其原生支持多线程执行机制。另一大要点则在于,Java允许开发人员轻松编写出网络应用程序。虽然Java难于使用多核心处理器的弊端在一定程度上抵消了上述优势,不过出于某些特殊高性能计算目标的科学项目仍然乐于将Java作为其中的重要组成部分。

没错,Java不太可能在高性能计算领域彻底取代C++,但其肯定要比早已老朽不堪的FORTRAN更具活力。如果您的编程团队中包含多位刚刚毕业且熟知Java开发知识的新人,那么它绝对是您不可错过的首选编程语言。

Java,大数据技术领域的一匹黑马

等等,Java能够在大数据领域有所建树?没错,真是这样,因为它能够以现代高性能计算(简称HPC)体系为核心,将多数强大的大数据组件结合在一起。就在去年,IBM公司展示了一套实验性项目,其中的一套Hadoop实例就运行在利用Tesla图形处理单元(即GPU)构建的系统当中。这是一套极为强大的组合,能够轻松完成大多数极为复杂的数据集分析任务。

GPU已经成为目前大多数速度最快的超级计算设备所不可或缺的处理器选项。而Java的“一次编写,随处起效”架构意味着技术团队能够在工作站上开发自己的软件,而后将其移植到这些强劲的系统当中。当这些系统运行有Hadoop等大数据数据库管理工具时,其结果绝对令人印象深刻。

以上就是达内java培训(java.tedu.cn)专家为大家介绍的java如何在未来的超级计算、大数据以及物联网等领域继续发挥核心作用。希望大家掌握好java语言,在未来的大数据领域有所建树,如果你想了解更多java大数据知识,可以关注微信公众号“达内java大数据培训”留言给我们。


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • Java高级工程师岗位要求
    Java高级工程师岗位要求
    Java高级工程师岗位要求,Java高级工程师是企业中非常关键的技术岗位,主要负责软件的设计、开发、测试和维护工作。具体岗位要求可能因企业的规模、行业、产品和技术栈的不同而有所差异,但通常包括以下几个方面: 详情>>

    2024-03-05

  • 面试Java开发工程师一般问什么问题?
    面试Java开发工程师一般问什么问题?
    面试Java开发工程师一般问什么问题?面试Java开发工程师时,面试官通常会从多个角度评估应聘者的技能和经验,包括基础知识、编程能力、项目经验、问题解决能力、沟通能力以及对Java技术的理解。以下是一些常见的面试问题: 详情>>

    2024-02-29

  • 如何用Java开发游戏?
    如何用Java开发游戏?
    如何用Java开发游戏?使用Java开发游戏可以分为几个步骤,下面是一些基础的指导: 详情>>

    2024-02-29

  • Java编程的工作怎么样?
    Java编程的工作怎么样?
    Java编程的工作怎么样?Java编程的工作在软件开发领域是非常广泛和需求的。以下是关于Java编程工作的一些信息: 详情>>

    2024-02-23

  • Java开班时间

    收起