Java从入门到精通(第4版)
上QQ阅读APP看书,第一时间看更新

0.3 Java应用领域和前景

Java作为Sun公司推出的新一代面向对象的程序设计语言,特别适于互联网应用程序的开发,但它的平台无关性直接威胁到了Wintel(即Microsoft公司的Windows操作系统与Intel CPU所组成的个人计算机)的垄断地位,这表现在以下几个方面。

信息产业的许多国际大公司购买了Java许可证,这些公司包括IBM、Apple、DEC、Adobe、Silicon Graphics、HP、TOSHIBA以及Microsoft等。这一点说明Java已得到了业界的高度认可,众多的软件开发商开始支持Java软件产品,例如Inprise公司的JBuilder、Oracle公司自己维护的Java开发环境JDK与JRE。

Intranet正在成为企业信息系统最佳的解决方案,而Java将在其中发挥不可替代的作用。Intranet的目的是将Internet用于企业内部的信息类型,它的优点是便宜、易于使用和管理。用户不管使用何种类型的机器和操作系统,界面都是统一的Internet浏览器,而数据库、Web页面、Applet、 Servlet、JSP等则存储在Web服务器上,无论是开发人员、管理人员还是普通用户,都可以受益于该解决方案。

从桌面办公到网络数据库,从个人计算机到嵌入式移动平台,从Java应用小程序到架构庞大的Java EE企业级解决方案,处处都有Java的身影,就连美国国家航空航天局(NASA)的太空项目也使用了Java来开发控制系统和相关软件。

Java技术的开放性、安全性、庞大的社会生态链以及跨平台性,使其成为智能手机软件平台的事实性标准。在未来发展方向上,Java在Web、移动设备以及云计算等方面的应用前景也非常广阔。虽然面临来自网络的类似于Ruby on Rails这类编程平台的挑战,但Java依然还是事实上的企业Web开发标准。随着云计算、移动互联网、大数据的扩张,更多的企业考虑将其应用部署在Java平台上,那么无论是本地主机,还是公共云,Java都是目前最合适的选择之一。Java应用领域之广,也势必促使Java程序员的就业市场呈现欣欣向荣的发展态势。

学习Java不仅是学习一门语言,更多的是学习一种思想,一种开发模式。对从事软件行业的工作人员来说,掌握了Java语言,可以让自己日后的事业发展得更加顺利。Java语言的内容相对完整,因此Java开发人员可以轻松转入手机开发、.NET开发,以及PHP等语言的开发上,以后也可以更快地跨入项目经理的行列。

目前,市场对Java开发人才的需求旺盛。根据国际数据公司的统计数字,在所有软件开发类人才的需求中,对Java工程师的需求达到全部需求量的60%~70%。同时企业提供的薪水也非常丰厚,通常来说,具有3年以上开发经验的工程师,年薪10万元以上是一个很正常的薪酬水平。但IT企业很难招聘到合格的Java人才。所以读者朋友如果想让自己成为合格的、受企业欢迎的Java工程师,需要做好自己的职业发展规划。

首先,要定位自己的目标,然后再有的放矢地进行自我提升。对于Java工程师来说,大致可以从3个大方向来规划自己的职业蓝图。

(一)继续走技术工作之路

从技术发展方向来看,Java工程师可以由最初的初级软件工程师(即程序员)逐渐晋升至中级软件工程师(高级程序员)、高级软件工程师及架构师等。走这条路,通常可进入电信、银行、保险等相关软件开发公司从事软件设计和开发工作。在信息时代,越来越多的公司重视信息化,信息化落实起来离不开软件开发,而软件开发中Java当属挑大梁者。如果选择这个方向,程序员要脚踏实地,一步一个脚印地练好Java的基本功。对于初(中)级程序员来说首先应掌握Java的基本语法(如类与对象、构造方法、引用传递、内部类、异常、包、Java常用类库、Java IO及Java类集等)。如果读者定位高级程序员以上的目标,那么目标的实现主要依赖3点:一是前期扎实的Java基础,二是后期对软件开发的持续性热爱,三是程序员个人的领悟。

(二)成为技术类管理人员

此类管理人员通常包括产品研发经理、技术经理、项目经理及技术总监等。如果选择管理方向,首先要有一定的“基层”经验,即你至少要有几年的Java开发经验,否则,即使偶然因素让你“擢升”至管理层,你也会因为“外行指导内行”而饱受质疑。所以如果想成为管理人员,那么成功的第一步就是至少成为一名中级以上的Java程序员,前面所言的Java基础也是需要掌握的。想成为技术类管理人员,还要深谙Java设计模式及软件工程的思想,从而能把控软件开发的全局。一个好的技术类管理人员,不仅要自身具有很强的技术管理能力,同时也要有很强的技术体系建设和团队管理的能力,对自己所处行业的技术发展趋势和管理现状具有准确的判断。统筹全局、集各个层次的技术人员之力,高质量地完成软件项目,是成为技术类管理人员的挑战。

(三)在其他领域成就大业

Java软件开发的发展前景好,应用范围也广,具备Java基础的工程师,还可以尝试着在其他领域成就一番大业。例如Java工程师可以从事JSP网站开发、移动领域应用开发、电子商务开发等。如果从事Web开发,那么在此之前一定要熟练掌握HTML、JavaScript、XML(Extensible Markup Language,可扩展标记语言)。Web开发的核心就是进行数据库的操作,先学习Java服务器页面(Java Server Pages,JSP)技术标准,并可以使用JSP + JDBC(Java Data Base Connectivity,Java数据库连接)或者JSP + ADO(ActiveX Data Objects,动态数据操作对象)完成操作。JSP技术是以Java作为脚本语言的。之后再学习MVC设计模式,它是软件工程中的一种软件架构模式,把软件系统分为3个基本部分:模型(Model)、视图(View)和控制器(Controller)。掌握了MVC设计,读者也就可以轻松地掌握AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)和Struts技术。AJAX 是在不重新加载整个页面的情况下与服务器交换数据并更新部分网页的手段。Struts 是Apache软件基金会(ASF)赞助的一个开源项目。使用Struts机制可以帮助开发人员减少运用MVC设计模型来开发Web应用的时间。

之后,再学习Hibernate和Spring等轻量级实体层开发方法等。Hibernate是一个开放源码的Java语言下的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可便利地使用对象编程思维来操纵数据库。Spring Framework是一个开源的Java/Java EE全功能栈,其应用程序框架内包含了一些基于反射机制写的包,有了它以后程序员便可以将类的实例化写到一个配置文件里,由相应的Spring包负责实例化。

以上3条与Java相关的职业发展规划之路,都以夯实Java基础为根本。每一条路要走到顶层,都需要重视基础,一步一个脚印,做事要由浅入深,由简入繁,循序渐进。《礼记·中庸》有言:“君子之道,辟如行远必自迩,辟如登高必自卑。”这句话告诉我们,君子行事,就像走远路一样,必定要从近处开始;就像登高山一样,必定要从低处起步。