如果你是一个Java初学者或者刚开始学习Java,你可能会思考Java编程确切地运用在哪些地方呢?
除了Minecraft,你无法看到用Java编写的游戏吧?像Adobe Acrobat这样的桌面工具,Microsoft 办公软件,这些都不是用Java语言编写的,甚至就连Linux或者Windows的操作系统也不是,那么人们到底在哪里使用了Java呢?
Java到底有没有实际的应用程序呢?
好吧,其实你并不是第一个对此有疑问的人,初学Java或者在本科阶段选择学习Java作为一门编程语言的许多程序员都会有这个疑问。其实,当你在桌面安装Java时,你就能知道一些答案。Oracle会告诉你超过30亿的设备在运行Java,这难道不是一个庞大的数字吗!
很多公司以不同的方式使用着Java编程。很多服务器的应用都是使用Java语言编写的,用于处理每天数以千万计的请求。高频率交易系统同样也是使用Java编写,例如LMAX交易系统,其搭建在线程间通迅库(Disruptor)之上。
在这篇文章里,我们将更确切地知道哪种类型的项目是使用Java编程完成的,Java编程运用在哪些主要领域和部门,以及Java编程到底的在哪些地方起着作用?
在现实世界里有很多地方使用到了Java编程,从电子商务网站到Android apps,从科学应用到金融产品,例如电子交易系统,从类似Minecraft的游戏再到像Eclipse, Netbeans和IntelliJ的桌面应用,从开源的资源库到J2ME apps等等。下面让我们更详细了解这些内容。
01
安卓 Apps
如果你想知道Java编程应用在哪里,你离答案并不远。打开你的安卓手机或者任何的App,它们完全是用有着谷歌Android API的Java编程语言编写的,这个API和JDK非常相似。
前几年安卓刚开始起步而到今日已经很多Java程序员是安卓App的开发者。顺便一提,虽然我们之前的文章提到的关于安卓App是如何工作的,即安卓使用了不同的Java虚拟机和不同的封装,但是代码仍然是用Java编写的。
02
在金融服务行业的服务器应用
Java在金融服务业有着很大应用。很多的全球性投资银行例如Goldman Sachs(高盛投资公司),Citigroup(花旗集团),Barclays(巴克莱银行),Standard Charted(英国渣打银行)和一些其他银行都用Java编写前台和后台的电子交易系统,结算、信息确认系统,数据处理项目和以及其他的项目。
Java被运用于编写服务端应用,但大多数没有前端,都是从一个服务端(上一级)接受数据,处理数据后发向其他的处理系统(下一级)。
Java Swing由于能开发出图形用户界面的客户端供交易者使用而备受欢迎,但是现在C#正在快速地取代Swing的市场,这让Swing倍有压力。
03
网站应用
Java同样也在电子商务和网站开发上有着广泛的运用。
你可以运用很多RESTfull架构,这些架构是用Spring MVC,Struts 2.0和类似的框架开发出来的。甚至简单的Servlet,JSP和Struts在各种政府项目也是备受欢迎,许多政府,医疗,保险,教育,国防和其他部门的网站都是建立在java之上的。
04
软件工具
很多有用的软件和开发工具都是运用Java编写和开发的,例如Ecilpse,InetelliJ Idea和Netbans IDE.。
Swing 曾经在图形用户界面的客户端开发非常流行,它们大多数应用在金融服务领域以及投资银行。虽然现在Java Fx正在逐渐地流行起来,但仍然无法替代Swing,而且C#已经在大部分金融领域中代替了Swing。
05
交易系统
第三方交易系统,金融服务行业的一大部分,同样也是使用Java编写的。例如像Murex这种受欢迎的交易系统,运用于与许多的银行前端链接,同样也是用Java编写的。
06
J2ME Apps
虽然IOS和Android的到来几乎扼杀了J2ME的市场,但是仍然有很多的低端诺基亚和三星手机在使用着J2ME。
曾经有段时间大部分的游戏,手机应用都是利用MIDP 和CLDC,或者J2ME部分平台编写的,以适用于Android 系统。.J2ME依然在蓝光、磁卡、机顶盒等产品中流行着。
app之所以如此流行是因为对于所有的诺基亚手机,app仍然适用于J2ME。
07
嵌入式领域
Java编程在嵌入式领域也有很大的应用。
你只需要130KB就能够使用Java技术(在一块小的芯片或者传感器上),这显示了这个平台是多么的可靠。Java最初是为了嵌入式设备而设计的。
事实上,这也是java最初的一项“立即编写,随处运行”主旨的一部分。
08
大数据技术
Hadoop和其他的大数据技术也在不同程度使用着Java编程,例如Apache的基于java的Hbase,Accumulo(开源),以及ElasticSearch。
但是Java并没有占领整个领域,还有其他的大数据技术例如MongoDB就是使用C++编写的.如果Hadoopor和ElasticSearch逐渐发展,那么 Java就能有潜力在大数据技术领域上得到更大的发展空间。
09
高频交易领域
Java平台已经大大提高了性能特点和JITS,并且Java也拥有像C++级别的传输性能。因此,Java编程也流行于编写高并发系统。
虽然Java编程的传输性能不比C++,但你可以不用考虑Java的安全性,可移植性和可维护性等问题(Java内部已经实现好了),而且Java有着更快的运行速度。
安全性等问题会使一个没有经验的 C++ 程序员编写的应用程序变得更加缓慢和不可靠。
10
科学应用
现在Java编程经常是科学应用的默认选择,包括了自然语言处理。这最主要的原因是因为Java比起C++或者其他语言有更加的安全,可移植,可维护,而且java有着更好的高级并发工具。
在上世纪90年代,由于Applet的原因,Java编程在互联网中占据了重要地位,但是这几年,因为Applet的沙箱模型的各种安全隐患,Applet越来越失去人气,导致如今桌面Java和Applet几乎都消失了。
但是Java仍然作为软件行业默认的应用开发语言,而且在金融服务业、投资银行和电子商务领域有着广泛的应用。
任何学习Java的人都认为自己都有着光明的未来。而且Java 8加强了一个概念——在未来的几年,Java将继续统治着软件开发领域。
领取专属 10元无门槛券
私享最新 技术干货