什么是Java?
Java既是一种编程语言,又是一个平台。
Java程序语言
Java是具有以下特征的高级程序语言:
简单
面向对象
可分布
可解释
强壮
安全性
结构化
轻便
功能强大
多线程
动态
Java既可以被编译,也可以被解释。通过编译器,可以把Java程序翻译成一种中间代码 - 称为字节码 - 可以被Java解释器
解释的独立于平台的代码。通过解释器,每条Java字节指令被分析,然后在计算机上运行。只需编译一次,程序运行时解释
执行。下图说明了它是如何工作的:
可以把Java字节码看作运行在Java虚拟机(Java VM)上的机器代码指令。每中Java解释器,不管是Java开发工具还是可以运
行Java小应用程序的Web浏览器,都是一种Java VM的实例。JavaVM也可以由硬件实现。
Java字节码使写一次,到处运行成为可能。可以在任何有Java编译器的平台上把Java程序编译成字节码。这个字节码可以
运行在任何Java VM上。例如,同一个Java程序可以运行在WindowsNT、Solaris和Macintosh上。
Java平台
平台是程序运行的硬件或软件环境。Java平台与大多数其它平台不同之处在于它是运行于其它基于硬件平台的纯软件平台。大
多数其它平台是硬件和操作系统的结合。
Java平台由两部分组成: Java虚拟机(Java VM) Java应用程序界面(Java API)
我们已经介绍了Java VM,它是Java平台的基础,可以移植到各种基于硬件的平台上。
Java API是软件组件的集合,它们提供了很多有用的功能,如图形用户界面(GUI)。Java API被分组为相关组件的库(包)。
下图描述了一个运行在Java平台上的Java程序,如应用程序(application)或小应用程序(applet)。如图中显示的,JavaAPI和VM把Java程序从硬件依赖中分离出来。
作为一种独立于平台的环境,Java比本地代码慢一些。然而,聪明的编译器、很好地调制过的解释器和即时字节码编译器可以
在不牺牲可移植性的条件下使Java的表现接近本地代码。
作为一个学习java的人,首先我们要了解java是干嘛的,java能做什么,以及java的历史背景,只有当我们了解了java这些基础,我们学习java才能事倍功半。
Java的历史背景
Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计用于开发Internet应用程序。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。Java自面世后就非常流行,发展迅速,对C++语言形成有力冲击。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。2010年Oracle公司收购Sun Microsystems。
自从Sun被甲骨文收购以后,Java的发展前景就变得扑朔迷离起来,很多程序开发者都感到很迷惑。2010年4月9日,被称为Java之父的詹姆斯·高斯林又在个人博客上宣布离开Oracle,这一事件更为Java的前景增加了一层迷雾。但是在进入5月份之后,一切开始变得明朗起来。
在Oracle的活动发布网站上,连续发布了多个关于Java的推广活动。5月12日,Oracle主要产品负责人Dave Hofert将大谈对JavaSE商业应用的改进和革新。根据宣传资料,在这次演讲中,DaveHofert将提到以下问题:商业版与社区版本之间平台支持的差异。如何获得专家帮助,以帮助企业增强其Java应用。对于旧版本的安全修补问题。可使用的发布工具和更新。6月18、19、20、27日,将分别在赫尔辛基、斯图加特、布达佩斯、伦敦举行Oracle、Sun专家与用户见面会,在见面会上与用户一起探讨Java的发展路线。主要讨论的问题包括Oracle将如何继续投资和改进Java技术,并且还会向用户通报JavaSE、JavaME专家团队的最新消息、JavaFX和JDK7最新的消息,以及OracleBerkeley DB的相关信息。5月3日,已经离开Oracle近一个月的Java之父詹姆斯·高斯林在他的博客上表达了对NetBeans 6.9 和FX1.3发布的关心。这两个项目最新版本的发布,可以证明Oracle已经开始兑现当初的承诺。詹姆斯·高斯林在其早期的博客中,也透露了不会放弃Java事业,只是需要解决一些与Oracle之间的法律问题。这一切迹象表明,Oracle绝对不会轻易放弃Java这块巨大的蛋糕,并且Oracle也开始逐渐学会了对开源社区的尊重。首先在JDK的商业版本方面,Oracle将会继续深入挖掘Java的商业利益,与其固有产品进行更深入的整合。在社区版本方面,Oracle将与Java开发者一起探讨和研发Java的技术。这里需要特别提到的一个产品是OracleBerkeleyDB,该产品是Oracle一直支持的一个开源非关系数据库产品,在NoSQL大行其道的今天,如果Oracle能够将BerkeleyDB与Java进行深入整合,将会为Java带来更多的活力和生命。从詹姆斯·高斯林的表现来看,他似乎与Oracle之间已经达成某种谅解,并且有进一步合作的Android是第一个内置支持Java的操作系统,Android应用程序使用Java语言编写。Android开发水平的高低很大程度上取决于Java语言核心能力是否扎实。另外一方面,3G应用往往会和企业级应用相互结合。因此,在3G—Android课程体系中将Android课程与Java EE课程紧密结合,以Android课程为主,以Java EE课程为辅,配合真实的企业级项目,不但可以深入掌握基于Android平台的智能手机开发技术,更重要的是还系统掌握了智能移动终端与Java EE服务器端相结合的诸多领域商业的应用可能性。
Java的作用
Java程序设计是一个庞大的、发展迅速的领域。自从Java发布以来,作为一种面向对象的程序设计语言,不论在Internet程序设计中,还是在程序设计的教学中,都呈现出显著的优势。Java 2平合对于支持应用程序的开发来说,是一个具有重要影响的成熟软件。实际上,Java本身并不复杂,只是内容稍多了一些。使用它进行软件开发会更快、更好。
Java的另一个主要特性可能就是面向对象(object oriented ).用面向对象的方法进行程序设计是所有Java程序的一个隐含特性,在本章的稍后部分,我们将会看到它的含义。Java不仅面向对象,而且还设法避免其他面向对象语言中继承的难度和复杂度,因此你将会发现Java是一个非常简单、容易学习的语言。
在现今阶段,最有前途的开发语言当属Java,Java语言是跨平台的,Write Once,Run Anywhere是Java的一句口号,学Application编程,可以在计算机上写程序,学Applet可以在网页上嵌入小程序,学J2ME,可以在手机上运行程序,到处都有Java的影子了。。。 大体分为三个版本j2me面向嵌入式开发比如手机程序,j2se标准版中小型软件应该是多用于c/s结构,也是学习java的最好开始;j2ee面向大型企业系统,综合了很多技术。简单来说可以做游戏软件,聊天工具等等。
Java的开发前景
1.成为管理人员,例如产品研发经理,技术经理,项目经理等。
2.继续java技术工作之路,成为高级软件工程师、需求工程师等。
根据IDC的统计数字,在所有软件开发类人才的需求中,对Java工程师的需求达到全部需求量的60%~70%。同时,Java工程师的薪水相对较高。 Java软件工程师一般月薪范围在4000-10000元,远远超过了应届毕业生月薪2500元的平均水平。通常来说,有一年工作经验的Java高级软件工程师的薪酬大致在年薪10—13万左右。
java技术培训之后可以从事JSP网站开发、Java编程、Java游戏开发、Java桌面程序设计,以及其他与Java语言编程相关的工作,就业面非常广。