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

不仅如此, PYPL Index(一个基于谷歌搜索中教程搜索频度对语言进行评估的站点)的数据显示, Java 以 23.9% 的搜索量遥遥领先。

以下是一些乐橙谷认为 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。

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 是少数允许你实现以上想法的技术。 ”

Java + Stormpath

也许有一些对 Java 批评的声音,而且有些观点也是合理的,但是瑕不掩瑜,比如:它提供杰出的开发、性能分析工具;JVM;海量的库等等等等。在 Stormpath 中,我们从诞生之初,后台就完全由 Java 实现,最近我们又升级到了 Spring Boot。Java 万岁!!

本文由华宇互联旗下领先教育品牌乐橙谷提供。

JAVA要死了吗?不!我来告诉你为什么!的更多相关文章

  1. JAVA还没死的原因

    尽管 TIOBE 指数显示,Java 是一门正在衰落的语言,但它仍然稳居榜首.从 2016 年到 2017 年间,这个数字可能会大幅下降,但最近下降速度有所放缓:在 2018 年 10 月到 2019 ...

  2. 我们为什么要学习Java

    有人说Java已死,学Java还有前途吗? 这怎么可能呢? “Java已死”的论断从12年开始就反复有人提,但是直到今天,Java仍然活着,2015年还荣登TIOBE指数的编程语言奖,成为年度冠军.如 ...

  3. Programming for thread in Java

    Programming for thread in Java Override Annotation package java.lang; import java.lang.annotation.El ...

  4. Java是什么?我们为什么要学习Java?

    Dear All: 首先请允许我为大家介绍下什么是Java?,我们为什么要学Java? 1.Java名字的由来 : Java名字的由来,实际上是一个有趣的故事,我们所见到的Java标志,总是一杯热咖啡 ...

  5. JAVA GUI THREAD---***

    针对用户界面的多线程 GUI下面的多线程方式 1.与GUI类分离方式 分离方式,在创建线程类实例时需要代入GUI句柄,通过GUI句柄操作GUI,也就是说线程类和GUI类都要有对方的实例,以便相互操作. ...

  6. Java匹马行天下之Java帝国的崛起(大结局)

    Java匹马行天下之Java帝国的崛起大结局 前言: [博客*缘] 网络真情伴, 博客友谊连. 笑中藏泪暖中寒. 回想那些悲喜, 苦涩也缠绵. 往事难回首, 新篇染旧言. 世间多少梦能全. 感谢相牵, ...

  7. Java多线程编程(七)线程状态、线程组与异常处理

    一.线程的状态 线程对象在不同的运行时期有不同的状态,状态信息就存在于State枚举类中. 调用与线程有关的方法后,会进入不同的线程状态,这些状态之间某些是可双向切换的,比如WAITING和RUNNI ...

  8. 7.Java帝国的诞生

    1972年,C诞生,而Java是1995年诞生的.它贴近硬件,有汇编语言的特性,运行极快,效率极高.早期,用在操作系统.编译器.数据库.网络系统等.但它有两把沉重的枷锁一直在程序员身上,那就是指针和内 ...

  9. python和java哪个更值得学?Python会超越Java吗?

    Java快死了吗?当然不是.但是Python的普及率每年都在增长.每个都有自己的优点和缺点,并且两者都是值得了解的. 根据IT编程趋势,就工作数量,现有Java开发人员的数量以及IT中的总体使用情况而 ...

随机推荐

  1. java JVM

    1.ClassLoader(类加载器) 1.加载:查找并加载类的二进制数据 2.连接 —验证:确保被加载的类的正确性(防止不是通过java命令生成的class文件被加载) —准备:为类的静态变量分配内 ...

  2. flex页面刷新实现

    页面刷新:navigateToURL(new URLRequest("javascript:location.reload();"),"_self"); 关闭浏 ...

  3. javascript页面加载完执行事件

    <script type="text/javascript" language="JavaScript"> //: 判断网页是否加载完成 docum ...

  4. js控制select下拉列表数据绑定

    JS代码部分:  <script type="text/javascript"> $(document).ready(function () { $("sel ...

  5. sql转db,后台坑货

    打开 创建一个db文件然后点击文件--新建---Sqlite 导入空db成功后点击左侧栏 点击表 点击右上角+号把sql文件的语句复制粘贴到 然后点击运行,运行完成后保存ok

  6. 不管你以后写不写JS,都应该学会这种思考方式

    昨天在网上看到了一篇文章说程序员写不过35这种说法,但事实上,确实并不能每个人都像我一样,在写JS中找到乐趣,就乐意写这东西直到50岁眼瞎为止. 那肯定有人要问,也许我不仅写JS写不到35,可能我连3 ...

  7. form input file 图片上传360IE兼容问题

    <form action="" class="form-box" class="form_box" enctype="mul ...

  8. ant打包webservice jar

    <project name="helloworldservice" basedir="." default="deploy"> ...

  9. python简易爬虫来实现自动图片下载

    菜鸟新人刚刚入住博客园,先发个之前写的简易爬虫的实现吧,水平有限请轻喷. 估计利用python实现爬虫的程序网上已经有太多了,不过新人用来练手学习python确实是个不错的选择.本人借鉴网上的部分实现 ...

  10. select标签让文字垂直居中问题

    直接在select样式中添加:padding:npx 0; n的大小视select标签的高度而定.一般为8px左右.