Java 学习最佳途径.docx
《Java 学习最佳途径.docx》由会员分享,可在线阅读,更多相关《Java 学习最佳途径.docx(27页珍藏版)》请在冰点文库上搜索。
![Java 学习最佳途径.docx](https://file1.bingdoc.com/fileroot1/2023-5/18/7d3a6f18-208e-44ec-b1a9-80e70cc53cf6/7d3a6f18-208e-44ec-b1a9-80e70cc53cf61.gif)
Java学习最佳途径
Java学习最佳途径---工具篇
一、JDK(JavaDevelopmentKit)
JDK是整个Java的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。
不论什么Java应用服务器实质都是内置了某个版本的JDK。
因此掌握JDK是学好Java的第一步。
最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。
其中IBM的JDK包含的JVM(JavaVirtualMachine)运行效率要比SunJDK包含的JVM高出许多。
而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。
但不管怎么说,我们还是需要先把SunJDK掌握好。
1、JDK的下载和安装
JDK又叫做J2SE(Java2SDKStandardEdition),可以从Sun的Java网站上下载到,,JDK当前最新的版本是J2SDK1.4.2,建议下载该版本的JDK,下载页面在这里:
下载好的JDK是一个可执行安装程序,默认安装完毕后会在C:
\ProgramFiles\Java\目录下安装一套JRE(供浏览器来使用),在C:
\j2sdk1.4.2下安装一套JDK(也包括一套JRE)。
然后我们需要在环境变量PATH的最前面增加java的路径C:
\j2sdk1.4.2\bin。
这样JDK就安装好了。
2、JDK的命令工具
JDK的最重要命令行工具:
java:
启动JVM执行class
javac:
Java编译器
jar:
Java打包工具
javadoc:
Java文档生成器
这些命令行必须要非常非常熟悉,对于每个参数都要很精通才行。
对于这些命令的学习,JDKDocumentation上有详细的文档。
二、JDKDocumentation
Documentation在JDK的下载页面也有下载连接,建议同时下载Documentation。
Documentation是最最重要的编程手册,涵盖了整个Java所有方面的内容的描述。
可以这样说,学习Java编程,大部分时间都是花在看这个Documentation上面的。
我是随身携带的,写Java代码的时候,随时查看,须臾不离手。
三、应用服务器(AppServer)
AppServer是运行Java企业组件的平台,构成了应用软件的主要运行环境。
当前主流的AppServer是BEA公司的WeblogicServer和IBM公司的Websphere以及免费的Jboss,选择其中一个进行学习就可以了,个人推荐Weblogic,因为它的体系结构更加干净,开发和部署更加方便,是Java企业软件开发人员首选的开发平台。
下面简要介绍几种常用的AppServer:
1、Tomcat
Tomcat严格意义上并不是一个真正的AppServer,它只是一个可以支持运行Serlvet/JSP的Web容器,不过Tomcat也扩展了一些AppServer的功能,如JNDI,数据库连接池,用户事务处理等等。
Tomcat被非常广泛的应用在中小规模的JavaWeb应用中,因此本文做一点下载、安装和配置Tomcat的介绍:
Tomcat是Apache组织下Jakarta项目下的一个子项目,它的主网站是:
http:
//jakarta.apache.org/tomcat/,Tomcat最新版本是Tomcat4.1.27,软件下载的连接是:
http:
//www.apache.org/dist/jakarta/tomcat-4/binaries/。
下载Tomcat既可以直接下载zip包,也可以下载exe安装包(个人建议zip更干净些),不管哪种情况,下载完毕安装好以后(zip直接解压缩就可以了)。
需要设置两个环境变量:
JAVA_HOME=C:
\j2sdk1.4.2
CATALINA_HOME=D:
\tomcat4(你的Tomcat安装目录
这样就安装好了,启动Tomcat运行CATALINA_HOME\bin\startup.bat,关闭Tomcat运行shutdown.bat脚本。
Tomcat启动以后,默认使用8080端口,因此可以用浏览器访问http:
//localhost:
8080来测试Tomcat是否正常启动。
Tomcat提供了两个Web界面的管理工具,URL分别是:
http:
//localhost:
8080/admin/index.jsp
http:
//localhost:
8080/manager/html
在启用这两个管理工具之前,先需要手工配置一下管理员用户和口令。
用一个文本工具打开CATALINA_HOME\conf\tomcat-users.xml这个文件,加入如下几行:
这样用户“robbin”就具备了超级管理员权限。
重新启动Tomcat以后,你就可以使用该用户来登陆如上的两个管理工具,通过Web方式进行Tomcat的配置和管理了。
2、BEAWeblogic
Weblogic可以到BEA的网站上免费注册之后下载到最新的Weblogic8.1企业版,License可以免费使用1年时间,其实这已经完全足够了。
Weblogic的下载连接:
。
3、IBMWebshpere
Websphere同样可以下载到免费的试用版本,到IBM的developerWorks网站可以看到Websphere试用产品的下载和相关的Websphere的资料,developerWorks中文网站的连接是:
,Websphere的下载连接:
。
4、Jboss
Jboss是免费开源的AppServer,可以免费的从Jboss网站下载:
http:
//www.jboss.org/index.html,然而Jboss的文档是不免费,需要花钱购买,所以为我们学习Jboss设置了一定的障碍。
在Jdon上有几篇不错的Jboss配置文档,可以用来参考:
四、Java应用的运行环境
Java的应用可以简单分为以下几个方面:
1、Java的桌面应用
桌面应用一般仅仅需要JRE的支持就足够了。
2、JavaWeb应用
Java的Web应用至少需要安装JDK和一个web容器(例如Tomcat),以及一个多用户数据库,Web应用至少分为三层:
Browser层:
浏览器显示用户页面
Web层:
运行Servlet/JSP
DB层:
后端数据库,向Java程序提供数据访问服务
3、Java企业级应用
企业级应用比较复杂,可以扩展到n层,最简单情况会分为4层:
Browser层:
浏览器显示用户页面
Client层:
Java客户端图形程序(或者嵌入式设备的程序)直接和Web层或者EJB层交互
Web层:
运行Servlet/JSP
EJB层:
运行EJB,完成业务逻辑运算
DB层:
后端数据库,向Java程序提供数据访问服务
4、Java嵌入式应用
Java嵌入式应用是一个方兴未艾的领域,从事嵌入式开发,需要从Sun下载J2ME开发包,J2ME包含了嵌入式设备专用虚拟机KVM,和普通的JDK中包含的JVM有所不同。
另外还需要到特定的嵌入式厂商那里下载模拟器。
Java开发环境的过去、现在和将来
1995年3月23日,SanJoseMercuryNews登出一篇题为“WhySunthinksHotJavawillgiveyoualift”的文章,在那篇文章里预言Java技术将是下一个重大事件,这个预言现在看来并不仅仅是商家的宣传伎俩,虽然文章是当时Sun的公关经理LisaPoulson安排撰写的。
从世人知道Java那一刻起到现在,算起来已经过去整整十年,回顾过去的十年值得总结的东西有许多,但在这里笔者只想就Java开发环境谈些个人的想法与朋友们交流一下。
现在的软件开发人员在整个软件的开发生命周期里,也许会根据需要使用各式各样的开发工具来完成相对复杂的开发任务,而在几十年以前,人们还只是使用文本编辑器、编译器和Debugger进行开发,对于这个阶段的开发环境人们称之为CLEs(CommandLineEnvironments)。
而当人们发现如果将那些单独分开的开发工具集成起来就可以有效的提高开发效率时,IDEs(IntegratedDevelopmentEnvironments)就出现了。
Java的出现尽管只有十年,但其开发环境也大至经历了从CLEs到IDEs再到XDEs这三个阶段,现在即将进入CDEs阶段。
在上述Java开发环境发展过程中,有许多值得我们大家关注的地方。
Java开发环境的历史回顾
纵观过去十年Java开发环境的发展,大致可以粗略的划分为如下几个阶段:
●1995,命令行开发环境CLEs
●1996-2000,集成开发环境IDEs
●2001-2004,扩展开发环境XDEs
●2005至今,协同开发环境CDEs
1995年,不平凡的一年,这一年Java获得了成功。
可令人尴尬的是在1995年并没有一个令人满意的Java开发环境,开发人员在进行Java编程时,大多使用文本编辑器编辑源程序,然后再使用命令行的方式进行编译处理。
那时的Java开发环境还处于CLEs时代,开发效率非常低,这预示着在Java开发工具上会有一番激烈的竞争。
有人称1996年为互联网年,有人却称之为Java年,还有人称之为Web开发年,但不论如何称呼1996年,它都反映了一个事实:
BillJoy将Java与互联网相结合的策略取得了成功。
这一年的9月Sun推出了其Java开发环境-JavaWorkShop,这是一款基于浏览器的Java开发工具,但由于当时Java在许多方面还不成熟,所以实际上JavaWorkShop并不成功,同年发布的SymantecVisualCafe由于还是采用C/C++语言进行开发,所以性能与成熟度上就比WorkShop好得多。
提到VisualCafe就不能不提EugeneWang,因为EugeneWang常常是与计算机间谍这个词同时出现的人物,有人甚至讲当时Symantec的老板GordonEubanks与EugeneWang签约时,也同时签下了监狱里的一个单元。
VisualCafe就是由EugeneWang进行主要策划的,它是在同一年发布的Java开发环境中,唯一解决了与数据库连接问题的开发环境,带有一套可以与数据库相连接的组件,无需太多编程使用拖拽的方式就可完成大部分工作,这一优点使得VisualCafe受到了Java开发人员的欢迎。
这一年IBM收购了OTI公司,从而得到了DaveThomas的弟子JohnDuimovich、DaveThomson、MikeWilson等一大批软件精英,这之中还包括“生活在技术刀锋上的开发者”BrianBarry。
1997年,由于微软垄断案,使得微软在Java开发环境上的努力受到了限制,VisualCafe由于界面直观易用,可以很容易地连接各种数据源等功能再次受到开发人员的欢迎。
这一年IBM发布VisualAgeforJava。
VisualAgeforJava是面向代码库的开发环境,它提供代码库和项目管理以便于开发团队在C/S环境下进行项目开发。
但由于大多数Java开发人员比较熟悉面向文件的开发环境,还不太习惯面向代码库的开发,再加上VisalAgeforJava对系统资源的要求比较高等因素,使得VisualAgeforJava一开始未被Java开发人员所认可。
1998年至2000年比较成功的Java开发环境是JBuilder,这是由于Borland较好的把握住J2SE、J2EE和J2ME发布后,Java技术升级的时机,全面支持Java1.1和Java1.2开发平台,它还提供了多种工具方便用户从旧的平台迁移到新的Java平台。
JBuilder本身80%是基于JDK1.2进行开发的,它支持JavaBeans,EnterpriseJavaBeans,JDBC等方面的应用开发,可以连接多种关系数据库。
为支持分布式应用开发,JBuilder还集成了VisiBrokerORB、JSPserver、数据库和EJBAppServer,并提供OpenToolsAPI便于第三方工具集成。
上述种种的优点使得JBuilder一举超越VisualCafe,成为当时最受欢迎的Java开发环境。
在众多Java开发环境中,1999年IBM发布的VisualAgeforJavaMicroEdition是比较有特色的开发环境,它是由ErichGamma和与ErichGamma有“焦不离孟、孟不离焦”之称的JohnWiegand共同进行设计的,采用了Java扩展机制,并集成了JUnit测试框架,其当时所采用的架构深深地影响了后来Eclipse1.0所采用的架构。
同时,通过VisualAgeforJavaMicroEdition的开发,那些来自“未来世界”(Smalltalk们总认为他们来自计算机的未来世界)的软件精英们,全面彻底地对Java技术进行了评估,得出了许多结论性的东西,这之中包括现在闹得沸沸扬扬的Swing和SWT对比。
此外,Sun将其收购的NetBeans变成了开源的JavaIDE也是一件不大不小的事情。
纵观1996年至2000年这五年时间里,随着Java及其相关开发应用的发展,Java开发环境也不断的完善,从CLEs进入到IDEs阶段。
为了提高Java开发人员的开发效率,Java开发环境主要从两个方面进行改进与提高。
一方面是提高集成在JavaIDEs当中开发工具的性能和易用性,另一方面是将Java开发环境尽可能的覆盖到整个软件的开发生命周期。
随着基于WEB,采用N-层结构的应用开发成为Java开发人员主要从事的开发任务,Java开发环境需要支持越来越多的技术,比如:
XML、JSP、EJB和CORBA等,这就造成了JavaIDEs的规模变得越来越大,许多Java开发环境都集成了数据库、JSPServer和AppServer,软件的研究人员将上述IDEs不断膨胀的现象称为“IDEs大爆炸”。
“IDEs大爆炸”现象发生以后,有关Java开发环境是走少而精的发展方向,还是走大而全的发展方向就成了广大Java开发人员关注的问题。
2001年Java开发人员达到了200万,成为每个软件供应商都无法忽视的力量,这一年JetBrains推出了Java开发环境少而精的代表:
IntelliJIDEA。
IntelliJIDEA明确的表示只做最好的Java代码编辑器,不做什么文件都可以编写的编辑器。
它关注Java开发人员的工作实际并将这些工作进行了优化。
由于减掉了一些可有可无的工具,所以价格上相对合理公道。
当年IntelliJIDEA击败JBuilder成为最受Java开发人员欢迎的Java开发环境,不过2002年随着JBuilder将大而全的功力再提升一步,将UML建模工具、JUnit测试框架以及ApacheStruts等开发工具集成进来,大而全的发展方向又一次受到Java开发人员追捧。
最全还是最好似乎使Java开发人员在选择Java开发环境时处于两难状况,但实际上当Eclipse1.0发布时,这个问题已经得到了初步的解决,最好和最全是可以兼顾的。
Eclipse的出现不是从天上掉下来的,也不是某个天才拍脑袋想出来的,它是一群软件精英们集体智慧的结果。
早在1998年IBM就打算开发新一代的工具平台以便将它现有的各种开发工具统一起来,并减少开发各种工具时重复的劳动,同时希望在新的平台上建立新的Java开发环境。
经过一段时间的准备,IBM开始建立起一个开发团队,人员构成主要来自VisualAgeforJavaMicroEdition和VisualAgeforJava两个项目的开发人员,选择的标准是过去10年至少开发过5到6个IDE。
此外,IBM还联合了9家公司共同成立了一个开源组织Eclipse基金会,将Eclipse提供给开发人员使用,并在开源社区的帮助下进一步完善Eclipse本身。
Eclipse在最初设计时,插件模型是静态的,不能实现插件的即插即用功能,即便是大受欢迎的Eclipse2.1也还是静态的。
所以到2004年发布Eclipse3.0时,Eclipse进行了重大改进,采用OSGi的插件模型,初步实现了插件的即插即用功能,至此一个完美的、可扩展的开发环境展现在Java开发者面前,这时Java开发人员已经达到300万。
Java开发环境的现状
2004年Eclipse3.0的发布极大刺激了Eclipse用户的增长,经过一年以后,Java开发人员现在使用Java开发环境的状况是如何的呢?
看了下面的表格里的数据也许可以了解一个大致的状况。
首先需要指明的是上述的数据并不是当前Java用户使用Java开发环境的准确反映,但我们可以从中了解一个大致的状况。
现在的Java环境可以分为三个集团,第一集团是Eclispe它大约占据1/3的份额,第二集团是IntelliJIDEA、NetBeans和JBuilder占据另外1/3的份额,相互之间旗鼓相当,第三集团是以JDeveloper和WSAD为代表的十几种Java开发环境占据剩下的1/3份额,但每种开发环境占总份额的比重不超过5%。
我们考察Eclipse、intelliJIDEA、NetBeans和JBuilder这些主流开发环境,可以发觉它们有一个共同的特点那就是可扩展,尽管在实现手段上各有不同。
这就是为什么称现在的Java开发环境为XDEs(eXtendedDevelopmentEnvironments)的原因,IDEs已经死亡了4年,专业的开发人员需要了解这个事实,因为XDEs也快死了。
由于市场的压力,一个软件企业不仅要提高开发人员个体的工作效率,还要提高整个开发团队以及整个企业的开发效率,但在现有的Java开发环境XDEs下无法完全做到这些,所以新一代开发环境CDEs(CollaborativeDevelopmentEnvironments)就产生。
GradyBooch和AlanW.Brown的研究表明一个程序员一天工作时间的分配是这样的:
分析占16%(从5%到40%不等),设计占14%(从1%到40%不等),编程占16%(从0%到60%不等),测试占10%,打电话占3%,阅读占7%(电子邮件,文档,月刊和杂志),参加开发会议占10%,无关的会议占7%。
从这些数据可以发现,开发人员用于交流的时间约占工作时间的1/3,开发人员的相互交流非常重要。
可是现有的主流Java开发环境一般仅将分析、设计、编程和测试等工具集成进来,却未包括用于交流的工具,这显然不合理。
因此,所谓CDEs就是将用于人与人、人与团队以及团对于团队进行交流的工具集成进来的开发环境,比如,CDEs常具有发送电子邮件、进行及时通讯和屏幕分享等功能,通过实现无损耗过程的交流提高开发团队的开发效率。
现在已经商业化的CDEs是CodeBeamerCollaborativeDevelopmentPlatform和CodeProAnalytiX,上述两款软件都提供Eclipse的插件,可以与Eclipse集成在一起,使Eclipse升级成为一个CDEs。
大家肯定知道Borland已经宣布开发基于Eclipse的新版JBuilder-“Peloton”,Peloton就是一个CDEs(CollaborativeDevelopmentEnvironments),当它明年上半年发布时,就意味着Java开发环境进入CDEs时代,现在Java开发环境还处于XDEs与CDEs交替的阶段。
Java开发环境的未来
在可以看得见的将来,Java的开发环境还会是以CDEs的形式存在。
开源组织或开发工具供应商将会努力为软件的开发创建一个绝对光滑的平面(FrictionlessSurface),实现无损耗的开发过程,以提高开发效率。
为了实现无损耗的开发过程,Java的开发环境将会关注以下几个方面:
●起步阶段方面
●协作开发方面
●维护开发团队有效沟通方面
●多个任务的时间协调方面
●相互协商方面
●资料有效性方面
但这里必须承认未来Java开发环境是如何具体去实现无损耗的开发,还需要时间给与答案,因为现在所能采用的方法未必是最好的,比如,使用面向文件的CVS进行协同开发就有需要改进的地方。
总结
罗里罗唆一大堆,归纳起来不过就是:
一个目的、三种手段以及一条规律。
一个目的:
十年Java开发环境的演变,其目的就是为了提高开发效率。
三种手段:
●提高集成在Java开发环境中开发工具的性能和易用性
●将Java开发环境尽可能的覆盖到整个软件的开发生命周期
●集成人与人、人与团队以及团对于团队进行交流的工具
一条规律:
软件开发环境的发展过程是从CLEs到IDEs再到XDEs最后进入CDEs,这是由GradyBooch总结出来的,套在Java开发环境上也适用。
十四种Java开发工具点评
在计算机开发语言的历史中,从来没有哪种语言象Java那样受到如此众多厂商的支持,有如此多的开发工具,Java菜鸟们如初入大观园的刘姥姥,看花了眼,不知该何种选择。
的确,这些工具各有所长,都没有绝对完美的,就算是老鸟也很难做出选择。
在本文中我简要介绍了常见的十五种Java开发工具的特点,管中窥“器”,希望能对大家有所帮助。
1、JDK(JavaDevelopmentKit)
SUN的Java不仅提了一个丰富的语言和运行环境,而且还提了一个免费的Java开发工具集(JDK)。
开发人员和最终用户可以利用这个工具来开发java程序。
JDK简单易学,可以通过任何文本编辑器(如:
Windows记事本、UltrEdit、Editplus、FrontPage以及dreamweaver等)编写Java源文件,然后在DOS状况下利通过javac命令将Java源程序编译成字节码,通过Java命令来执行编译后的Java文件,这能带给DOS时代程序员美好的回忆。
Jav