JAVA要死了吗♬♪♩♭♪の?

我们看到“Java 死了吗♬♪♩♭♪の?” 这个问题,年年都被抛出来,然而至今为止,从所有的第三方统计来看,Java 不仅活的很好,还在保持增长★☆♀◆◇♧♡♂♀♠♣♥❤☜。虽然不断有新的语言面世,TIOBE 仍将 Java 评选为 2015 年度最热门语言,目前显示它相比 2014 年,用户增加了5%,高于其他所有编程语言★☆♀◆◇♧♡♂♀♠♣♥❤☜。

不仅如此,PYPL Index(一个基于谷歌搜索中教程搜索频度对语言进行评估的站点)的数据显示, Java 以 23.9% 的搜索量遥遥领先★☆♀◆◇♧♡♂♀♠♣♥❤☜。

虽然有很多阶段性因素令 Java 在过去 2 年迎来复兴( android 开发的爆发,Java 8 的发布,Spring 社区的发展,尤其是 Spring Boot),但是市场的主导地位只可能来源于优秀的产品★☆♀◆◇♧♡♂♀♠♣♥❤☜。以下是一些我们认为 Java 不会很快衰落原因★☆♀◆◇♧♡♂♀♠♣♥❤☜。

JVM 和 Java 生态

Java 虚拟机(JVM)将代码编译为字节码,并在 JVM 中解释执行★☆♀◆◇♧♡♂♀♠♣♥❤☜。由于 JVM 运行在特定的硬件和系统平台之上,这使得 Java 得以在任何设备上运行,无论是 Windows 设备★☆♀◆◇、Mac,或是某个不为人知的 Linux版本★☆♀◆◇♧♡♂♀♠♣♥❤☜。

JVM 的最大优势是它增强了兼容性和稳定性★☆♀◆◇♧♡♂♀♠♣♥❤☜。因为你的应用运行在虚拟机而非直接运行在实体机上,你只用编写一次某个程序,就可以确保在所有的 Java 虚拟机实现上,都可以很好的运行★☆♀◆◇♧♡♂♀♠♣♥❤☜。这一原则是 Java 的核心理念的基础:“一次编写,处处运行★☆♀◆◇♧♡♂♀♠♣♥❤☜。” 该技术使得 Java 应用对底层环境的变化具备很好的弹性★☆♀◆◇♧♡♂♀♠♣♥❤☜。

安全性 & 交互能力

Android 环境是研究 Java 原生安全性和通用性很好的素材★☆♀◆◇♧♡♂♀♠♣♥❤☜。Android 占据全球移动市场89% 份额,基于 Java 运行★☆♀◆◇♧♡♂♀♠♣♥❤☜。由于 Java 允许操作系统运行在虚拟机中,因此不需要为每台设备分别编译,这就提高了系统的稳定性和易用性★☆♀◆◇♧♡♂♀♠♣♥❤☜。

Android 完美的展示出了 Java 的另一个优势, 它与其他基于 JVM 的程序语言之间的交互能力,比如 Scala, Groovy, Clojure, JRuby 等等★☆♀◆◇♧♡♂♀♠♣♥❤☜。当你用“更加动态”的语言构建你的应用,依然需要使用 Java 以获得强大的功能♧♡♂♀♠♣♥❤☜!

巨大的 Android 市场,依然不可避免的存在漏洞利用的风险★☆♀◆◇♧♡♂♀♠♣♥❤☜。 Android + Java 允许用户运行低可信的应用,所有应用都运行在虚拟机中可以减小这种风险★☆♀◆◇♧♡♂♀♠♣♥❤☜。换言之,如果 APP 要利用系统内核漏洞,唯一的途径是利用 VM 实现的缺陷,好在 VM 被设计的足够紧凑,并且通过定义良好的安全接口保护系统安全★☆♀◆◇♧♡♂♀♠♣♥❤☜。

Java在大规模产品中的应用

Amazon, Google, eBay 以及其他很多大型电子商务品牌,都使用Java作为他们的业务后台★☆♀◆◇♧♡♂♀♠♣♥❤☜。它们选择 Java,是由于 Java 久经考验,并且有良好的扩展性★☆♀◆◇♧♡♂♀♠♣♥❤☜。任何语言★☆♀◆◇、任何后台都可以或多或少的管理一些用户,但是 Java 能可靠的应对至少 2 亿用户★☆♀◆◇♧♡♂♀♠♣♥❤☜。我们来看一些突出的例子★☆♀◆◇♧♡♂♀♠♣♥❤☜。

Hadoop

Apache Hadoop 是一个运行在大型硬件集群上的 Java 框架应用★☆♀◆◇♧♡♂♀♠♣♥❤☜。 在设计之初,它便具有高吞吐能力,应用于处理或者操作海量数据集合的应用场景★☆♀◆◇♧♡♂♀♠♣♥❤☜。 如今, Hadoop 被很多像 Facebook, Amazon, IBM, Joost, 以及 Yahoo 这样的大型公司应用于数据处理★☆♀◆◇、分析★☆♀◆◇、报表等方面★☆♀◆◇♧♡♂♀♠♣♥❤☜。

Hadoop 的创始人 Doug Cutting 曾说过:“ Java 在开发者的生产率和运行效率之间取得很好的权衡★☆♀◆◇♧♡♂♀♠♣♥❤☜。开发者可以使用广泛存在的高质量类库,切身受益于这种简洁★☆♀◆◇、功能强大★☆♀◆◇、类型安全的语言★☆♀◆◇♧♡♂♀♠♣♥❤☜。“ 换言之: 没有 Hadoop 就不存在大数据,没有 Java 就没有 Hadoop★☆♀◆◇♧♡♂♀♠♣♥❤☜。

Twitter

Twitter 最近为 Java 和 Oracle 团队,赢得一场令人瞩目的胜利★☆♀◆◇♧♡♂♀♠♣♥❤☜。Twitter 原本基于 Ruby on Rails 开发, 伴随着 Twitter 的快速流行, Twitter 的经历非常清楚的暴露了 RoR 在扩展性方面的缺陷★☆♀◆◇♧♡♂♀♠♣♥❤☜。”失败的鲸鱼“(Twitter 的网络不堪重负时的提示)出现的越来越频繁,直到 Twitter 于 2012 年开始向 Java 迁移才有所改善★☆♀◆◇♧♡♂♀♠♣♥❤☜。今天,Twitter 基于 Java + Scala 运行,那条 ”失败的鲸鱼“ 便绝迹了★☆♀◆◇♧♡♂♀♠♣♥❤☜。

Minecraft

Minecraft 是一款异常成功的游戏★☆♀◆◇♧♡♂♀♠♣♥❤☜。早在 2014 年被出售给微软之前,该游戏就早已为其开发者挣了数百万美元★☆♀◆◇♧♡♂♀♠♣♥❤☜。而 Minecraft 就运行在 Java 上★☆♀◆◇♧♡♂♀♠♣♥❤☜。在广阔的 Java 社区的帮助下,Minecrafe 被传播给成千上万的潜在建模爱好者★☆♀◆◇♧♡♂♀♠♣♥❤☜。同时,Minecraft 也将 Java 介绍给新一代的开发者★☆♀◆◇♧♡♂♀♠♣♥❤☜。只要简单的 Google 一下 “在 Minecraft 中建模”,你会得到超过 65 万条记录,其中很多是面向 12 岁以下群体的编程教学资源★☆♀◆◇♧♡♂♀♠♣♥❤☜。

Java 的未来

去年,Oracle 宣布 Java 9 即将到来,定于 2016 年 9 月发布★☆♀◆◇♧♡♂♀♠♣♥❤☜。这次升级主要是将语言中众多的功能拆分为较小的组件,希望通过这一变化,使 Java 更快★☆♀◆◇、更易用★☆♀◆◇♧♡♂♀♠♣♥❤☜。Oracle 的整体投资(经常受到批评)最终还是保证 Java 可以继续支持众多依赖它的企业,同时保持着对开发新趋势的响应★☆♀◆◇♧♡♂♀♠♣♥❤☜。

Java 和 物联网

“我确信 Java 的未来在物联网★☆♀◆◇♧♡♂♀♠♣♥❤☜。我很希望 Oracle 及其伙伴们,会将注意力集中到为 Java 提供彻底的端到端的存储解决方案上:从终端设备开始,穿过网关,直至企业后端★☆♀◆◇♧♡♂♀♠♣♥❤☜。构造这样一个故事,并且将其运作成功,这将有助于巩固 Java 未来 20 年里的地位★☆♀◆◇♧♡♂♀♠♣♥❤☜。这不仅仅对整个产业蕴含着巨大的机会,而且我认为 Java 可以在这方面做得很好★☆♀◆◇♧♡♂♀♠♣♥❤☜。”Mike Milinkovich (Eclipse 基金会执行董事)如此说道★☆♀◆◇♧♡♂♀♠♣♥❤☜。

Oracle 对此表示赞同,前研发副总裁 Georges Saab 说:“ Java 是物联网时代最佳的技术★☆♀◆◇♧♡♂♀♠♣♥❤☜。物联网遇到的很多挑战,都是20世纪90年代 Java 在桌面和客户端领域面对过的★☆♀◆◇♧♡♂♀♠♣♥❤☜。你已经有了大量不同的硬件系统★☆♀◆◇♧♡♂♀♠♣♥❤☜。你希望开发者们可以看清系统的细枝末节,深入理解它,并逐步向它迁移★☆♀◆◇♧♡♂♀♠♣♥❤☜。Java 是少数允许你实现以上想法的技术★☆♀◆◇♧♡♂♀♠♣♥❤☜。 ”


来源:知乎 

作者:三个翅膀 

上一篇: 菅义伟长子涉“政商勾结” 涉事官员增至11人

下一篇: 我这么努力,为什么没学好java

分享到: 更多