NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

为什么说 Java 仍将是未来的主导语言

  • 2020-01-30
  • 本文字数:3057 字

    阅读完需:约 10 分钟

为什么说Java仍将是未来的主导语言

Java 是一门通用型编程语言,由 Sun 微系统公司(后被甲骨文收购)于 1995 年推出。尽管 Java 已经 25 岁了,但仍然“宝刀未老”。


在 Stack Overflow 2019 年流行编程语言调查报告中,Java 位居第 5 位,有 41%的受调开发者认为 Java 仍然是一门受欢迎的编程语言。


使用 Java 的公司

stackshare.io 的数据显示,大概有 9028 家公司在使用 Java,其中包括:


  • 谷歌;

  • Uber;

  • Airbnb;

  • 亚马逊;

  • Pinterest;

  • Slack;

  • Instagram;

  • Netflix;

  • Spotify。

为何 Java 如此流行?


这得益于 Java 的关键特性:


  • 简单性:Java 为开发者和最终用户提供了简单易用的用户体验。与其他面向对象编程语言相比,Java 的设计和生态库具有巨大的优势。

  • 可移植性:Java 可以随时随地运行在任意的硬件上,有很多软硬件都在使用 Java。

  • 资源分配:堆栈分配、垃圾回收和自动内存管理,这些特性让 Java 与其他编程语言区别开来。

  • 分布式:Java 在网络上极具优势,通常可以自由地发送和接收文件。

  • 安全性:Java 的安全编程模型提供了很高的安全性。

Java 会继续流行下去吗?

相比于 ASP.NET、PHP、Python 等编程语言,使用 Java 开发的应用程序更多,从移动应用到 Web 应用,再到运行在可穿戴设备上的应用。

Java 在大数据领域的应用

与 Python 一样,Java 也在大数据领域占据主导地位。各种用于处理大规模数据的框架都是用 Java 开发的。

Apache Hadoop

Hadoop 是一个使用 Java 开发的框架,用于在分布式环境中处理大规模数据集。Hadoop 采用了主副架构模式,其中主节点负责控制整个分布式计算栈。Hadoop 在需要处理和分析大规模数据的公司当中很流行。


使用 Hadoop 的公司包括:IBM、亚马逊、英特尔等。

Apache Spark

Spark 是另一个主要使用 Java 开发的大数据处理框架。Spark 是一个集群计算框架,可以运行在数千台机器(分布式集群)上。Spark 被用在大型的 ETL、预测分析和报表应用程序中。


使用 Spark 的公司包括:Uber、Slack、Hubspot、Shopify 等。

Apache Mahout

Mahout 是一个使用 Java 开发的机器学习库和大数据工具,用于执行机器学习操作,比如分类、聚类和推荐。


使用 Mahout 的公司包括:Adobe、Facebook、LinkedIn、Foursquare、Twitter、雅虎等等。

Java JFreechart

JFreechart 是一个流行的开源大数据工具,用于可视化数据,可以用它制作各种图表,比如饼图、柱状图、线图、散点图、盒状图、直方图等等。

Deeplearning4j

Deeplearning4j 是一个深度学习 Java 库,用于构建各种类型的神经网络。Deeplearning4j 可以与 Spark 集成,运行在 GPU 上。


使用 Deeplearning4j 的公司包括:JPMorgan Chase、Wells Fargo、Interactive Brokers 等等。

Apache Storm

Storm 是一个开源的分布式实时计算框架,用于处理实时数据流。一个 Storm 节点可以在秒级处理数百万个作业。


Storm 在真实世界中的案例:


  • Twitter:Storm 为 Twitter 的很多系统提供了支持,例如实时分析、搜索、收益优化等。

  • Groupon:Storm 为 Groupon 的实时集成系统提供支持,在低延迟和高吞吐的情况下实现数据的分析、清理、规范化和处理大量不同的数据点。

  • Weather:weather.com 的 Weather Channel 使用 Storm 来收集和持久化天气数据。

Java 在物联网(IOT)领域的应用



甲骨文公司表示,灵活性和流行度是 IOT 程序员选择 Java 的主要原因。


Java 提供了大量的 API 库,可以很容易被应用到嵌入式应用程序中,所以 Java 适合用来进行 IOT 编程。相比其他编程语言,比如 C 语言,Java 在切换平台时更加顺畅,不容易出错。从 Java 被用在 PDA 设备和早期的手机上,它就已经成为嵌入式设备的一部分。Java 在可穿戴设备、电视、移动设备和其他电子设备上应用,这让它成为 IOT 编程的不二之选。

Android 应用程序

Java 借助 Android 应用程序组件统治了移动应用市场,通过谷歌应用商店安装的移动应用超过了 73%。超过 45 万个移动应用是用 Java 开发的,包括 YouTube、Tiktok 等等。


Java 在金融服务领域的应用

聊天机器人

因为可移植性、可维护性、调试、可视化等诸多方面的因素,Java 成了开发聊天机器人最好的工具。


IBM Watson Conversation Service、api.ai、pandorabots 都使用了 Java。

欺诈检测和管理

银行和金融公司使用 AI 工具进行金融欺诈和信用卡欺诈检测。Java 被用来开发这些 AI 工具,而 AI 工具为欺诈检测和风险管理带来了可不预知的见解、模式和预测模型。在开发 AI 工具时,Java 的安全性提供了额外的好处,因为它可以帮助 AI 系统更好地做出判断。


一些主要的银行和金融机构在欺诈检测系统中使用了 Spark。

交易系统

根据甲骨文网站对 Java 的描述,Java 为快速开发、测试和部署提供了一个平台,是开发电子交易系统的一个很好的选择。超过 80%的电子交易系统是用 Java 开发的,包括大部分 FIX 引擎。


Java 虚拟机提供的动态运行时编译优化在很多情况下比编译型语言(如 C++)具有更好的性能。官方 JVM 和 JRockit Real Time(JRRT)虚拟机提供了很低的延迟,让交易系统运行得更顺畅。


Enlyft 网站的数据显示,有 500 多家公司在使用 JRRT,其中 7%用在金融服务(比如交易系统)领域。

移动钱包

基于 AI 和 Java 算法开发的移动钱包,可以帮助用户在花钱时做出更智能的决策。

Java 在 Web 应用程序中的应用

w3tech 网站的数据显示,3.7%的网站使用 Java 作为服务器端编程语言。



使用 Java 开发的主要网站:


  • Aliexpress.com

  • Tianya.cn

  • Linkedin.com

  • Booking.com

  • Caijing.com.cn

  • China.com.cn

  • Amazonaws.com

  • Rednet.cn

  • Onlinesbi.com

  • Salesforce.com


用于 Web 开发的流行框架:


  • Spring MVC:最古老但也是最好的 Web 开发框架。它灵活多变,提供了很高的安全性。它的代码干净简洁,有一个强大的社区在提供支持。

  • Google Web Toolkit:完善的文档和支持,易学易用,可用于开发高度响应的应用程序。

  • JavaServer Faces:由甲骨文提供支持,提供了完善的文档、丰富的开发库。

  • Hibernate:高质量、可修改、可配置、非常方便、速度快,提供了多种数据库驱动,具有非常好的可伸缩性。

  • Struts:是 Web 应用程序的基础,减少了开发和测试时间,简化了测试工作。

  • Selenium:很多公司使用 Selenium 进行测试自动化和质量控制。一些主要的公司和机构(如 MIT、Hubspot、Intuit 等)在使用 Selenium。

科学应用和高端技术

Nasa World Wind

World Wind 是 Nasa 使用 Java 开发的一款工具,可以从卫星角度放大世界的任何一个地方。


World Wind 利用了 Landsat 卫星图像和航天飞机雷达侦测到的地形数据,用户可以以 3D 的视觉体验“游览”地球。

Sun SPOT

Sun SPOT 完全使用 Java 开发,是一个小型、无线、由电池提供动力的试验性平台,用于开发原先需要使用特定嵌入式系统的项目。

JPC(模拟器)

JPC 是一个完全使用 Java 开发的 x86 模拟器,可以运行在任何支持 Java 虚拟机的平台上。它让用户可以更好地控制软件的运行环境,不管他们使用了怎样的硬件或操作系统。JPC 的多层安全性为运行非安全软件提供了最安全的解决方案,是电脑病毒归档、保护机器免受恶意软件攻击或运行非稳定软件的理想选择。

嵌入式软件系统

据甲骨文网站透露,100%的蓝光播放器和 1 亿 2 千 5 百万台电视机设备使用了嵌入式 Java。

Java 在其他方面的应用

Java 还被广泛应用在其他方面。很多基于云的应用程序提供了 PaaS 服务,比如 Heroku、Google App Engine。Java(AWT、Swing 和 JavaFX)也被广泛应用于开发桌面 GUI 应用程序。Java 是企业软件(包括网络应用程序和 Web 服务)的主要开发语言,甲骨文宣称 Java 正运行在 97%的企业计算机上。


延伸阅读:


https://www.xamnation.com/why-java-will-remain-a-dominant-language-of-the-future/


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2020-01-30 11:5211667
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 494.5 次阅读, 收获喜欢 1968 次。

关注

评论 5 条评论

发布
用户头像
作为.net c#开发来说我会从另一个角度看,java能做的c#几乎都能做(大数据好像木有),看刚才的排行java 41% c#31% 其它各大排行TIOBE PYPL都类似,说明.net平台本身足够优秀。再看国内java与c#的生态 10个java开发:1个.net开发,其中很大原因是国内对.net误解,所以c#潜力巨大。新人学java或其它平台转java机会很渺茫,不信问问你身边java应聘时的岗位竞争有多大
2020-02-01 20:06
回复
用户头像
除了生态一无是处
2020-01-31 13:52
回复
以下内容引用自Oracle官网对于java的介绍:
从笔记本电脑到数据中心,从游戏控制台到科学超级计算机,从手机到互联网,Java 无处不在!
97% 的企业桌面运行 Java

美国有 89% 的桌面(或计算机)运行 Java
全球有 900 万 Java 开发人员
排名第一的部署平台
有 30 亿部移动电话运行 Java(android)
100% 的蓝光盘播放器附带了 Java
有 50 亿张 Java 卡在使用
1.25 亿台 TV 设备运行 Java
前 5 个原始设备制造商均提供了 Java ME
以下内容引用自维基百科:
Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全、系统无关、可移植、高性能、多线程和动态(var)的语言。
so?
展开
2020-02-01 17:49
回复
用户头像
25岁,正值青春壮年啊
2020-01-31 12:18
回复
用户头像
asp.net啥时候 变成一门语言了
2020-01-30 21:11
回复
没有更多了
发现更多内容

软件测试 | 测试开发 | 测试人生 | 三十而立终圆大厂梦,测试开发开启新征程

测吧(北京)科技有限公司

软件测试 测试 测试开发

NFT拍卖交易系统开发NFT商城

薇電13242772558

NFT

瓴羊智能客服,基于钉钉重磅推出一体化的智能服务解决方案

瓴羊企业智能服务

性能测试实战 | 修改 JMeter 源码,定制化聚合压测报告

霍格沃兹测试开发学社

干货|app自动化测试之Appium 原理 与 JsonWP 协议分析

霍格沃兹测试开发学社

软件测试 | 测试开发 | Jenkins job 机制该如何使用?

测吧(北京)科技有限公司

测试 测试工程师

干货|app自动化测试之Andriod WebView如何测试

霍格沃兹测试开发学社

干货|app自动化测试之模拟器控制

霍格沃兹测试开发学社

干货|移动端App自动化之触屏操作自动化

霍格沃兹测试开发学社

技术分享 | Spring Boot 集成 Swagger

霍格沃兹测试开发学社

软件测试中的『草莓酱定律』

BY林子

敏捷测试 草莓酱定律 温伯格

软件测试 | 测试开发 | 测试人生 | 97年双非学历的小哥哥,2线城市涨薪100%,我酸了......

测吧(北京)科技有限公司

软件测试 测试

The main application of radio technology in aerospace field/IPQ4019 IPQ4029 ,802.11AC 2x2 2.4G&5G

wallys-wifi6

IPQ4019 ipq4029

干货|app自动化测试之设备交互API详解

霍格沃兹测试开发学社

快速上手 Pytest + Requests + Allure2 测试框架实战技能

霍格沃兹测试开发学社

技术分享 | Spring Boot 异常处理

霍格沃兹测试开发学社

Python图像处理丨带你认识图像量化处理及局部马赛克特效

华为云开发者联盟

人工智能 企业号九月金秋榜

干货|app自动化测试之Appium问题分析及定位

霍格沃兹测试开发学社

IDaaS 系统ArkID一账通内置插件:图形验证码认证因素的配置流程

龙归科技

单点登录 Idaas

软件测试 | 测试开发 | Jenkins 持续集成体系介绍

测吧(北京)科技有限公司

软件测试 测试

干货|app自动化测试之Appium 源码修改定制分析

霍格沃兹测试开发学社

干货|app自动化测试之Capability 使用进阶

霍格沃兹测试开发学社

技术分享 | 测试平台开发-前端开发之Vue.js 框架

霍格沃兹测试开发学社

AI 时代的视频云转码移动端化——更快、更好、更低、更广

ZEGO即构

AI 音视频开发 视频云转码

干货|app自动化测试之Appium 源码分析

霍格沃兹测试开发学社

干货|接口测试必备技能-常见接口协议解析

霍格沃兹测试开发学社

软件测试 | 测试开发 | 测试人生 | 双非院校、入职某知名电商公司薪资翻倍还有股票奖励,这个90后小姐姐也太飒了吧?

测吧(北京)科技有限公司

测试 面试题 软件测试面试题

软件测试 | 测试开发 | 测试人生 | 双非学历,从外包到某大厂只用了1年时间,在2线城市年薪近30万,我柠檬了......

测吧(北京)科技有限公司

软件测试 | 测试开发 | 从跨专业手工测试转岗外包,再到 Python 测试开发,跳槽涨薪 85%!

测吧(北京)科技有限公司

软件测试 测试

干货|app自动化之如何参数化用例

霍格沃兹测试开发学社

云原生数据库极致弹性体验 - Amazon Aurora Serverless v2

亚马逊云科技 (Amazon Web Services)

数据库 云原生

为什么说Java仍将是未来的主导语言_语言 & 开发_Rishav Kaundal_InfoQ精选文章