Java在现实生活中都用在哪些项目?

如果你是一个初学者,刚刚开始学习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在软件开发领域继续占有重要地位。

作者:Calarence

来源:51CTO

时间: 2024-09-20 05:38:19

Java在现实生活中都用在哪些项目?的相关文章

深入浅析java web log4j 配置及在web项目中配置Log4j的技巧_java

在上篇文章给大家介绍了Java log4j详细教程,本文给大家介绍java web log4j配置及web项目中配置log4j的技巧.具体详情请看下文吧. 首先给大家提供log4j.jar下载:http://logging.apache.org/log4j/1.2/download.html 一.java web项目使用log4j 1.在web.xml文件中添加 <!-- 配置log4j --> <context-param> <param-name>webAppRoo

Java ibatis配置问题导致Myeclipse启动web项目失败

    最近,调试一web项目,由于人员流动或时间问题出现web项目开发中Java ibatis配置问题导致Myeclipse启动web项目失败.     Myeclipse中使用其自带的tomcat进行run指定的web工程报错,报错信息如下(出于保密及问题说明,报错信息我做了调整): 2016-12-17 12:09:06,915 [main] DEBUG [org.mybatis.spring.SqlSessionFactoryBean]-Parsed mapper file: 'file

Java Annotation 及几个常用开源项目注解原理简析

文简单介绍下 Annotation 示例.概念及作用.分类.自定义.解析,并对几个 Android 开源库 Annotation 原理进行简析. PDF 版: Java Annotation.pdf, PPT 版:Java Annotation.pptx, Keynote 版:Java Annotation.key 一.Annotation 示例 Override Annotation Java 1 2 @Override public void onCreate(Bundle savedIns

mac开发java使用myeclipse 2015 ci无法把项目部署到tomcat

问题描述 最近使用mac系统开发java项目但是现在发现一个问题是使用myeclipse2015ci无法把项目部署到tomcat里.tomcat启动无任何问题求高手帮忙. 解决方案

详解Java设计模式编程中命令模式的项目结构实现_java

正论: 命令模式把一个请求或者操作封装到一个对象中.命令模式运行系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能. 通俗: 其实很好理解.命令模式,关心的就是命令(或者称为操作).打个比方.在一个公司里面,整个运作就像一个系统.某个boss发布了一个命令,中层领导接到这个命令,然后指派给具体负责这个员工.整个流程很清晰吧.有一个需求,如何将这个流程固定下来,形成一个系统.我们只要抓住了重点:命令.将它抽取出来,其他的都迎刃而解了.抽取出命令,封装成一个独

我的Java开发学习之旅------&amp;gt;Eclipse 项目有红感叹号解决之道

今天一个读者问我关于Android通过调用Webservice实现天气预报这篇文章的源码下载后出现的错误 Could not find class 'org.ksoap2.transport.HttpTransportSE 该问题的解决方法是:(摘自http://blog.csdn.net/wangygang/article/details/7652838)    SDK升级到R17后,原来正常的程序出问题了,明明已经引用了错误提示中的jar包提示Could not find class 'or

Java使用设计模式中迭代器模式构建项目的代码结构示例_java

迭代器(Iterator)模式,又叫做游标(Cursor)模式.GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节.  迭代器模式由以下角色组成:迭代器角色(Iterator):迭代器角色负责定义访问和遍历元素的接口. 具体迭代器角色(Concrete Iterator):具体迭代器角色要实现迭代器接口,并要记录遍历中的当前位置. 容器角色(Container):容器角色负责提供创建具体迭代器角色的接口. 具体容器角色(Concrete

值的关注的Java开源项目(原创)

项目|原创 值的关注的Java开源项目   名称 资料 概况 OFBiz http://ofbizchina.com:8080/ http://www.ofbiz.org/ https://ofbiz.dev.java.net/ OFBiz是一个非常著名的开源项目,提供了创建基于最新J2EE/XML规范和技术标准,构建大中型企业级.跨平台.跨数据库.跨应用服务器的多层.分布式电子商务类WEB应用系统的框架.     OFBiz最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序

Java运用设计模式中的建造者模式构建项目的实例解析_java

1.建造者模式概念定义: 将一个复杂的对象构建与其表示相分离,使得同样的构建过程可以创建不同的表示: 核心 : 构建与表示分离,同构建不同表示 区别于 抽象工厂模式 : (1)与抽象工厂模式 相似,因为它也可以创建复杂对象.主要的区别是建造者模式着重于 一步步构造一个复杂对象,关注的是零件类型和装配工艺的顺序 .而抽象工厂模式着重于多个系列的产品对象(简单的或是复杂的).建造者模式在最后的一步返回产品,而对于抽象工厂来说,产品是立即返回的. (2)在建造者模式里,有个指导者,由指导者来管理建造者