10个使用Java最广泛的现实领域
如果你是一个初学者,刚刚开始学习Java,你可能会想Java有什么用呢?除了Minecraft貌似也看不到其他用Java写的游戏,像Adobe Acrobat和Microsoft Office等桌面工具也不是用Java写的,甚至Linux和Windows操作系统也和Java无关,那么到底什么时候才需要用Java呢?
毋需纠结,很多程序员都有这个困惑,或在学Java之前或已经到了语言学习的一定程度。顺便说一句,我们可以通过在桌面安装Java来得到有关Java使用的线索,因为数据库会告诉你超过30亿的设备上在运行Java,有没有吓一跳?
大多数的公司或多或少都在使用Java。许多由Java所编写的服务器端应用程序每天都要处理数以千万计的请求。高频率的交易app也是用Java写的,如LMAX的交易应用程序,建立了一个开创性的线程间通信库,Disruptor。
本文将重点介绍各种用Java写的项目,以及Java在现实世界中到底起了什么作用?
真实世界中的Java应用程序
事实上Java在很多方面都有所涉及,从商业性质的电子商务网站到Android应用,从有关学术上的应用程序到财务应用,如电子交易系统,从类似于Minecraft的游戏到桌面应用程序如Eclipse、Netbeans和IntelliJ,从开源库到J2ME应用,等等等等,举不胜举。下面我将具体地讲一下。
1)Android应用
如果你想知道哪里可以使用Java,那么远在天边近在眼前。打开你的安卓手机,它里面几乎所有的应用都是用Java语言写的,其谷歌Android API就像JDK一样。早在几年前Android就已经开始风靡全球,现在有很多的Java程序员就是安卓应用开发人员。顺便说一下,Android使用的是不同的JVM和不同的包,但是其代码依然是用Java写的。
2)金融服务行业的服务器应用程序
在金融服务行业Java是非常强大的。很多全球性的投资银行如高盛、花旗集团、巴克莱银行、渣打银行等等都是使用Java来编写前端和后端的电子交易系统、结算和确认系统、数据处理系统及其他。Java还被广泛应用于写服务器端应用程序,这些服务器端应用大多没有前端,直接从上游服务器接受数据,经过处理之后再发送给下游进程。Java Swing曾用于为交易商创建胖客户端的图形用户界面,但是现在C#迅速占领了Swing在各方面的份额,Swing毫无招架之力。
3)Java Web应用程序
Java在电子商务和Web应用程序上也是个大头。通过Spring MVC、Struts 2.0和类似框架,你可以创建大量的RESTfull服务。即使是简单的基于web应用的ervlet、JSP和Struts,在各种*项目中也非常受欢迎。许多*、医疗、保险、教育、国防以及其他部门都有他们自己用Java写的Web应用程序。
4)软件工具
很多用处非常广泛的软件和开发工具都是用Java语言开发的,如Eclipse、InetelliJ Idea和Netbans IDE。估计这些可能也是最为常用的用Java写的桌面应用了。还有Swing在写胖客户端,特别是在金融服务业和投资银行上曾经也是广为使用。现在的话,Java FX越来越受欢迎,但是依然不能代替Swing,而C#已经几乎完全取代了Swing曾经在金融领域的地位。
5)交易应用程序
第三方交易应用程序,在金融服务行业非常庞大的一部分,其实也是用Java写的。Murex,广泛使用于许多银行间的连接,就是用Java写的。
6)J2ME应用
虽然iOS和Android的出现差点吞并了J2ME的市场,但是还是有大量的低端诺基亚和三星手机,在使用着J2ME。以前,几乎所有Android中的游戏、应用程序都是用MIDP、CLDC以及部分J2ME平台写入的。现在我们依然能从很多产品,如蓝光、信用卡、机顶盒的上面看到J2ME的身影。Whats App之所以如此受欢迎的原因之一就是它的J2ME很强。
7)嵌入式空间
Java在嵌入式领域也占据着很大一部分份额。因为在这些容量有限的平台上我们只需用130 KB就可以使用Java技术(智能卡和传感器)。最初的Java就是专为嵌入式设备而设计出来的。事实上,嵌入式也是Java最初“write once,run anywhere”主旨的一个方面,现在看起来可谓是富有成效。
8)大数据技术
Hadoop和其他大数据技术也或多或少地在使用Java技术,例如Apache的基于Java的HBase和Accumulo(开源),还有ElasticSearch。不过Java在此领域并不算是霸主,还有其他技术例如MongoDB则是用C ++写的。如果Hadoop或者ElasticSearch能够不断壮大的话,Java是非常有潜力吞下这块大饼的。
9)高频交易领域
Java平台改进了很多,不但有与时俱进的JIT编译器,还提供C ++水平的性能。正是由于这个原因,Java在编写高性能系统上也非常受欢迎。哪怕是一个没有经验的C ++程序员,如果对其代码的安全性、便携性和可维护性上不做太多要求,他就能“快速”地写出一个应用程序来。
10)科学应用程序
如今的Java依然成为默认的科学应用程序,包括自然语言处理进程。主要原因是为Java更安全、更轻便、更易于维护,相较于C++和其他任何语言,Java配备了更好的高水平并发性工具。
上世纪90年代,得益于互联网上applet的盛行,Java非常强大。但是近年来,由于各种各样的安全问题,applet渐渐走向了没落。如今桌面Java和applet几乎已经绝迹。而Java则默认成为软件产业钟爱的应用程序开发语言,并且在金融服务行业、投资银行和电子商务网站等多个领域被广泛使用。我可以担保,只要你能学好Java,那工作的“钱”景一定美好。