阅读更多

7顶
1踩

行业应用

转载新闻 Java在现实生活中都用在哪些项目?

2014-12-30 11:36 by 正式编辑 cao345657340 评论(5) 有13215人浏览
如果你是一个初学者,刚刚开始学习Java,你可能会想Java用在什么地方。你可能会想,除了《我的世界》这款游戏外其他游戏很少用Java开发,桌面工具如Adobe Acrobat、Microsoft Office也没有用Java开发,甚至操作系统Linux、Windows也没用。那么人们到底会在什么地方用到Java呢?

Java到底有没有现实世界的应用?好吧,其实并不是只有你一个人对这个问题感到困惑。很多程序员在开始Java之前或者在毕业时选择Java作为编程语言时也问过相同的问题。顺便说一下,你可以通过在你计算机上安装Java获得Java在哪些地方使用的相关线索。Oracle声称超三十亿的设备上运行着Java,那是一个巨大的数字,不是吗?大多数公司用一种或者其他方式使用Java。很多服务器端使用Java来处理每天数十百万的请求,高频率的交易应用同样也使用Java,例如LMAX交易程序,这套程序基于他们开创性的线程间通讯库——Disruptor。在这篇文章中,我们将会看到一些更精确的例子。什么种类的项目使用Java开发?在哪些领域内Java是占统治地位的?现实生活中Java到底用在什么地方?

现实生活中的Java应用

在现实生活中,很多地方都用到了Java,从商业上的电子商务网站到安卓App,从科学应用到经济应用,如电子交易系统,从游戏如《我的世界》到桌面应用,如Eclipse、Netbeans、Interllij,从开源类库到J2ME应用。让我们更详细地看一下它们。



1)安卓应用

如果你想弄清楚Java用在什么地方,你离这个目标不是太远。打开你的安卓手机和任何一款App,它们是使用Java语言、基于Google Android API(和JDK类似)开发的。数年的安卓支持已经有了很大提高,并且很多Java程序员已经成为了安卓app开发者。顺便提一下,像我们之前在how Android app works这篇文章中说到的那样,安卓使用不同的java虚拟机、不同的包,但是代码仍是用Java写的。

2)金融业服务器的应用

在金融服务中Java有很重要的应用。很多全球投资银行像高盛、花旗、巴克莱、标准渣打银行等其他银行使用Java来开发前台和后台电子交易系统,提供解决方案和确认系统以及数据处理项目等等。Java大多数用在开发服务器端的应用,几乎不用来开发前端,前端是从一个服务器接受数据,然后处理它并把它发送给其他进程。Java Swing对交易员来说在开发胖客户端的GUI方面还是很受欢迎的,但是现在C#很快地在这个领域获得了市场占有率,Java Swing在这方面被挤压喘不过气来。

3)Java Web应用

Java在电子商务和Web应用领域也是有很多的应用。现在有很多使用Spring MVC、Structs2.0和类似框架开发的RESTful风格的服务。甚至件一个简单的依赖Servlet、JSP和Structs开发的web应用在各种各样的政府项目中很受欢迎。政府的很多部门如卫生局、保险部门、国防部等部门都有他们使用Java开发的web应用。

4)软件工具

很多有用的软件和开发工具是用Java开发的,例如Eclipse、InetelliJ、Netbeans IDE。我认为大多数使用的桌面应用也是用Java开发的。所以有一段时间,Swing在开发胖客户端方面非常流行,尤其是在金融行业和投资银行。现在,Java FX正逐渐受到欢迎,但是仍不能成为Swing的替代品,而C#在金融领域内已经几乎代替了Swing。

5)交易应用

第三方应用交易应用,作为更大的金融服务业的一部分也使用Java开发。流行的交易应用像Murex也是用Java开发的,很多银行都使用它们来连接前后端。

6)J2ME应用

虽然iOS和Android的出现几乎抹杀了J2ME的市场,但是在低终端Nokia和使用J2ME的三星手机方面还是有很大的市场。有一段时间,安卓上可用的游戏、软件几乎全都是用MIDP、CLDC ,他们是J2ME平台的一部分。J2ME在一些产品如蓝光光碟、机顶盒等等。WhatsApp很受欢迎的一个原因是因为对所有Nokia手机的J2ME平台来说是可用的。

7)嵌入式领域

在嵌入式领域,Java也是有很大应用的。它展示了平台是多么的强大,你仅需130Kb就能使用Java技术(在智能卡或者传感器上)。起初,Java是为嵌入式设备而设计的。实际上,这是Java最初“一次编写,到处运行”初衷的一个部分,现在看起来获得了成功。

8)大数据技术

Hadoop和其他大数据技术以这样或那样的方式使用着Java,例如Apache依赖Java的HBse和Accumulo(开源)以及ElasticSearch。但是Java在该领域并不占统治地位,因为有其他技术如MongoDB是用C++开发的。如果Hadoop或者ElasticSearch发展壮大的话,Java在这个发展的领域有可能获得主要的占有率

9)高频率的交易领域

Java平台在现代JIT技术的帮助下,它的性能特性已经有了很大提升,传送性能已经到了C++水平。由于这个原因,Java在开发高性能系统方面还是很受欢迎的,因为性能与机器语言相比稍差一些,但是你可以安全地折衷——轻便、可维护带来更快地速度。对一个缺乏经验的C++程序员来说,只能使应用变得更慢和不可靠。

10)科学应用

现在,对于科学应用来说Java经常作为一个默认的选择,包括自然语言处理。这种现象的主要原因是Java更安全、轻便、易维护,并且与C++和其他语言相比有更好的高级并发工具。

在九十年代,Java由于Applet在因特网领域占有重要地位,但是几年后,由于Applet沙箱模式的各种安全问题,Applet失去了风头。现在,桌面Java和Applet几乎灭亡。Java作为软件开发公司默认的开发语言,在金融服务行业、投资银行和电子商务web应用领域获得了很大应用,任何学习Java的人员都会为自己赢得光明的未来。Java 8更加强了一个信念——在未来的几年,Java在软件开发领域继续占有重要地位。

原文链接: javarevisited
  • 大小: 46.3 KB
来自: ImportNew
7
1
评论 共 5 条 请登录后发表评论
5 楼 me胡唯 2018-03-01 09:06
不明觉厉!
4 楼 java007008 2015-01-02 20:52
huannen 写道
yixiandave 写道
string2020 写道
把java说成了万能的了

大部分语言都是万能的,只是占有的市场份额多少的区别以及开发难度的区别

就是啊,现在主流的那些,哪种语言不是万能的

哪些是主流?你懂哪个?
3 楼 huannen 2015-01-02 10:15
yixiandave 写道
string2020 写道
把java说成了万能的了

大部分语言都是万能的,只是占有的市场份额多少的区别以及开发难度的区别

就是啊,现在主流的那些,哪种语言不是万能的
2 楼 yixiandave 2014-12-31 13:09
string2020 写道
把java说成了万能的了

大部分语言都是万能的,只是占有的市场份额多少的区别以及开发难度的区别
1 楼 string2020 2014-12-30 21:12
把java说成了万能的了

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Java在现实世界中都运用在哪里

    如果你是一个起步者或者只是刚刚开始学习Java,你或许会疑虑,Java到底是在哪里被运用的呢?除了Minecraft(我的世界)这款游戏以外,你没有见过用Java编写的游戏,桌面工具Adobe Acrobat,微软的office办公软件,...

  • 10万字208道Java经典面试题总结(附答案)

    JDK(Java Development Kit),Java开发工具包 JRE(Java Runtime Environment),Java运行环境 JDK中包含JRE,JDK中有一个名为jre的目录,里面包含两个文件夹bin和lib,bin就是JVM,lib就是JVM工作所需要的类库。...

  • Java 有哪些不好的设计?

    刚学 Java 的时候,我觉得面向对象编程(OOP)真牛逼,用面向对象方式写出来的代码是最好的代码。但是随着项目越做越多,代码越写越多,我发现 OOP 不是万能的,盲目的迷信追求 OOP 会有代价。 今天这篇文章我不是说...

  • JAVA项目面试常谈问题以及个人开场介绍模板

    JAVA 人力面试常谈问题 汇总(98个) 1. 请你自我介绍一下 回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的...

  • Java入门级基础教学(史上最详细的整合)

    Java面向对象(史上最详细的整合)

  • 你为什么学不好Java?系统学习Java的七大因素

    随着传统行业的没落,越来越多的人准备进军互联网行业,如何学好Java成功就业的问题在网上越来越热,在知乎上面看了好多介绍学习方法的文章和一些优秀答主的高赞回答。多数创作都是围绕着学习什么技术比较专业性的...

  • 赢在面试之Java基础篇(1)

    1、解释Java面向对象的特征: 抽象、封装、继承、多态。 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。 抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。...

  • java项目中的多线程_java程序中的多线程(转)

    下面的这个简单的 Java 程序完成四项不相关的任务。这样的程序有单个控制线程,控制在这四个任务之间线性地移动。此外,因为所需的资源 ― 打印机、磁盘、数据库和显示屏 -- 由于硬件和软件的限制都有内在的潜伏时间...

  • 学习思维:怎样才能学好 Java 设计模式?

    在工作中,你可能常常会发现,很多人将 Java 设计模式、大学里学的高等数学和编译原理等,视为脱离实际工作的知识。 但不管是面试还是实际工作中,你是不是又经常听到大牛前辈们给你 “洗脑”,说设计模式很重要?...

  • 你要的Java基础笔记在这里

    java基础 目录 java基础 类的关系之继承 类和类的关系 修饰符 Static静态修饰符 设计模式 抽象类与接口 ...集合都在java.util包里面 ArrayList Vector LinkedList HashSet TreeSet Map ...

  • mysql中都支持哪些编码_学习编码的6种方法将使您在任何角色中都更有效率

    mysql中都支持哪些编码This article was sponsored by Flatiron School a coding bootcamp with courses in NYC and Online. Visit FlatironSchool....

  • 乐字节十个项目课,这应该是市面上最值得推荐的 Java 练手项目!!!

    1.JavaEE初级项目-乐字节云R记 ...本系统采用 B/S 架构,使用 BootStrap + Jsp + Servlet + MySQL+ Tomcat 开发,使用 Maven 构建,采用 Junit 单元测试、Log4j 搭建日志、使用 POI 导入导出报表,操作 DB

  • 如何系统自学Java成功就业?

    随着传统行业的没落,越来越多的人准备进军互联网行业,如何学好Java成功就业的问题在网上越来越热,在知乎上面看了好多介绍学习方法的文章和一些优秀答主的高赞回答。多数创作都是围绕着学习什么技术比较专业性的...

  • 这八十一道java高级框架面试题你能答出多少题?

    1.什么是Maven?Maven使用项目对象模型(POM)的...由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发布时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。Maven的出现,解决了开发过程中的jar包升级及依

  • Java练手项目2:基于Java的坦克大战游戏(学习Java必备!!!)

    为了分解人们的压力,休养那变得疲顿的头脑和劳累的身心,特设计了坦克大战小游戏,游戏操作非常容易,只要将手指放在键盘上敲击相关的游戏键就可以玩,在玩游戏的过程中能够体验现实生活中没有的快乐,既有利于身心...

  • 自然语言处理在现实生活中运用

    http://www.cnblogs.com/baiboy/p/zryy1.html 阅读目录 ... Java语言对需求实现详解:5 ... 自然语言常用方法小结(JAVA实现,C#类似):6 ...【项目总结】自然语言处理在现实生活中运用 作

  • JAVA简单项目"购物系统"的整个开发过程详解(内含源码和注释)

     购物系统本身是一个十分复杂的系统,有很多细节问题如果深究会更加复杂,并且一般购物系统都是网页类型的,要有一个友好的界面,但是作为一个简单项目,该项目只是为了给JAVA初学者介绍一下开发的基本思想,以及...

  • 基于SSM+JSP+HTML的东风锻造有限公司重大停管理系统(Java毕业设计,附源码,数据库,教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 ssm 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:jsp 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4

  • 数据库系统课程设计报告-体育项目比赛管理系统设计与开发

    一、系统需求分析 1 (一)需求概述 1 (二)业务流分析 1 从运动员角度分析 1 (三)数据流分析 4 (四)数据字典 5 二、数据库概念结构设计 6 (一)实体分析 6 (二)属性分析 6 (三)联系分析 8 (四)概念模型分析(.PDM图) 9 三、数据库逻辑结构设计 9 (一)概念模型转化为逻辑模型 9 1.一对一关系的转化 9 2.一对多关系的转化 9 3.多对多关系的转化 10 (二)逻辑模型设计(.PDM图) 10 四、 数据库物理实现(一)表设计 10 (一)表设计 10 (二)创建表和完整性约束代码设计 11 五、数据库功能调试 15 (一)运动员管理模块 15 (二)负责人管理模块 16 (三)系统管理员管理模块 17 六、设计系统前台软件 21 (一)开发软件选择 21 (二)软件功能要求与设计 22 (三)软件功能实现 22 (四)系统测试 24 七、设计总结 27

Global site tag (gtag.js) - Google Analytics