java是个什么东西,用来做什么的?

Python037

java是个什么东西,用来做什么的?,第1张

在现实社会中有很多地方使用到了Java,从电子商务网站到Android apps,从科学应用到金融产品,例如电子交易系统,从类似Minecraft的游戏再到Eclipse,Netbeans和IntelliJ的桌面应用,从开源的资源库J2MEapps等等。下面带你一起详细了解Java的应用领域

1、安卓Apps

如果你想知道Java应用在哪里,你离答案并不远。打开你的安卓手机或者任何的App,它们完全是用有着谷歌AndroidAPI的Java编程语言编写的,这个API和JDK非常相似。前几年安卓刚开始起步而到今日已经很多Java程序员是安卓App的开发者。

2、在金融服务行业的服务器应用

Java在金融服务业有着很大应用。很多的全球性投资银行例如GoldmanSachs(高盛投资公司),Citigroup(花旗集团),Barclays(巴克莱银行),StandardCharted(英国渣打银行)和一些其他银行都用Java编写前台和后台的电子交易系统,结算、信息确认系统,数据处理项目和以及其他的项目。

Java被运用于编写服务端应用,但大多数没有前端,都是从一个服务端(上一级)接收数据,处理数据后发向其他的处理系统(下一级)。JavaSwing由于能开发出图形用户界面的客户端供交易者使用而备受欢迎,但是现在C#正在快速地取代Swing的市场,这让Swing倍有压力。

3、网站应用

Java同样也在电子商务和网站开发上有着广泛的运用。你可以运用很多RESTfull架构,这些架构是用SpringMVC,Struts2.0和类似的框架开发出来的。甚至简单的Servlet,JSP和Struts在各种政府项目也是备受欢迎,许多政府,医疗,保险,教育,国防和其他部门的网站都是建立在Java之上的。

4、软件工具

很多有用的软件和开发工具都是运用Java编写和开发的,例如Ecilpse,InetelliJIdea和NetbansIDE.。我认为这些都是经常使用的用Java编写的桌面应用程序。

就如上面所说,Swing曾经在图形用户界面的客户端开发非常流行,它们大多数应用在金融服务领域以及投资银行。虽然现在JavaFx正在逐渐地流行起来,但仍然无法替代Swing,而且C#已经在大部分金融领域中代替了Swing。

5、交易系统

第三方交易系统,金融服务行业的一大部分,同样也是使用Java编写的。例如像Murex这种受欢迎的交易系统,运用于与许多的银行前端链接,同样也是用Java编写的。

java300集零基础入门教程:网页链接

6、J2MEApps

虽然IOS和Android的到来几乎扼杀了J2ME的市场,但是仍然有很多的低端诺基亚和三星手机在使用着J2ME。曾经有段时间大部分的游戏,手机应用都是利用MIDP和CLDC,或者J2ME部分平台编写的,以适用于Android系统。.J2ME依然在蓝光、磁卡、机顶盒等产品中流行着。app之所以如此流行是因为对于所有的诺基亚手机,app仍然适用于J2ME。

7、嵌入式领域

Java在嵌入式领域也有很大的应用。你只需要130KB就能够使用Java技术(在一块小的芯片或者传感器上),这显示了这个平台是多么的可靠。Java当初是为了嵌入式设备而设计的。事实上,这也是Java当初的一项“立即编写,随处运行”主旨的一部分。

8、大数据技术

Hadoop和其他的大数据技术也在不同程度使用着Java,例如Apache的基于Java的Hbase,Accumulo(开源),以及ElasticSearch。但是Java并没有占领整个领域,还有其他的大数据技术例如MongoDB就是使用C++编写的.如果Hadoopor和ElasticSearch逐渐发展,那么Java就能有潜力在大数据技术领域上得到更大的发展空间。

9、高频交易领域

Java平台已经大大提高了性能特点和JITS,并且Java也拥有像C++级别的传输性能。因此,Java也流行于编写高并发系统。虽然Java的传输性能不比C++,但你可以不用考虑Java的安全性,可移植性和可维护性等问题(Java内部已经实现好了),而且Java有着更快的运行速度。安全性等问题会使一个没有经验的C++程序员编写的应用程序变得更加缓慢和不可靠。

10、科学应用

现在Java经常是科学应用的默认选择,包括了自然语言处理。这主要的原因是因为Java比起C++或者其他语言有更加的安全,可移植,可维护,而且Java有着更好的高级并发工具。

其实不管是选择哪个领域只要自己技术够强高新就不是问题。

我看到楼上都是说不能,我先抛出一个游戏——Minecraft。

然后再细说java为什么不方便开发大型游戏?首先因为java相比较C而言不能操作内存,效率确实低,而且运行还要安装虚拟环境(jre)。但是这个能说明就不能开发大型游戏了吗?那不是的,只是相比较C而言不好开发而已。

至于“而端游的服务端开发必须是C++”。我不知道该怎么吐槽还是算了吧,这边建议去工作一个月再说这种话呢。

我猜的没错的话你现在应该是在选择学习什么语言,然后你的目标是开发大型游戏的这样子一个状况。其实刚刚开始学习什么语言并不是很重要,重要的是你能继续学下去,编程学到后面并不是只要求你会一种语言就行可以了,到后面C、C++,java、python这些常见的语言迟早要会的。而且开发大型游戏并不是单枪匹马一朝一夕就能完成的,是需要大型团队用无数的日子开发出来的,你也是只能成为其中一份子,但我相信你可以的。

所以如果你还纠结学习什么语言的话,就先选择你感兴趣的吧,愿心之所向,行之所倚。