??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲高清美女一区二区三区,亚洲熟妇无码av另类vr影视,亚洲av永久无码精品网址http://m.tkk7.com/zool/category/1051.html 没有副标?真的没有副标?-__-! 技术与我无~,转帖ing.....Q!Q!zh-cnTue, 27 Feb 2007 08:50:25 GMTTue, 27 Feb 2007 08:50:25 GMT60何ؓQ鲁性?http://m.tkk7.com/zool/archive/2005/08/15/10164.htmlzoolzoolMon, 15 Aug 2005 09:17:00 GMThttp://m.tkk7.com/zool/archive/2005/08/15/10164.htmlhttp://m.tkk7.com/zool/comments/10164.htmlhttp://m.tkk7.com/zool/archive/2005/08/15/10164.html#Feedback0http://m.tkk7.com/zool/comments/commentRss/10164.htmlhttp://m.tkk7.com/zool/services/trackbacks/10164.html所谓“鲁性”,是指控制pȝ在一定(l构Q大)的参数摄动下Q维持某些性能的特性?/FONT>

zool 2005-08-15 17:17 发表评论
]]>
学习JAVAQ你是那UhQ?/title><link>http://m.tkk7.com/zool/archive/2005/08/02/8995.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 02 Aug 2005 02:47:00 GMT</pubDate><guid>http://m.tkk7.com/zool/archive/2005/08/02/8995.html</guid><wfw:comment>http://m.tkk7.com/zool/comments/8995.html</wfw:comment><comments>http://m.tkk7.com/zool/archive/2005/08/02/8995.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/zool/comments/commentRss/8995.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/zool/services/trackbacks/8995.html</trackback:ping><description><![CDATA[<P><FONT color=#000000 size=2>凭作者对java的折服,凭着对java的兴,我想我会做大学里的第三种人。原blog下面q又一堆评论,不妨看看Q呵?/FONT></P> <P><!--StartFragment --><FONT color=#000000 size=2> <!--StartFragment --> </FONT><A ><FONT color=#000000 size=2>一q以来对Java的一些感?!</FONT></A><FONT size=2><FONT color=#000000>   by<!--StartFragment --></FONT></FONT><A class=headermaintitle id=Header1_HeaderTitle ><FONT color=#000000 size=2>龚磊的Blog</FONT></A></P> <P><FONT color=#800080 size=2></FONT> </P> <P><FONT color=#800080 size=2>在Java的世界里面摸爬滚打也有一q多?相比Java诞生十年?一q真的算不了什?Java的前五年像一个初生的婴儿,g在Y件开发领域找不到它应有的位置,除了在netscape览器中嵌入一些小的applet之外,桌面应用基本上没有它的位|?虽然它是Z桌面应用的跨q_而设计的,但是没有设计得很完美,无法与C/C++,dephi相比,性能上来说它也不是一U很好的语言,因ؓ与操作系l中夹了一层虚拟层,它的~慢让很多h望而却?但是,它的语言机制对程序语a设计来说是一U革?而不仅仅是一U新的语a,除了语言的健壮性和安全性之?使得我们E序员也从那些烦人的语言l节上面得以解放.直到99qJ2EE的出?才彻底改变了q种语言,jAVA也找C它在应用开发中应有的位|?后面五年Java的发?对Y件开发领域来说是一陈风?席卷了整个Y件业的开?也成了高端企业开发的代表?..</FONT></P> <P><FONT color=#800080 size=2>很庆q?我选择了Java,从短旉上面?它解决了我的׃问题,常常自己?如果我没有接触到Java,也许我还在苦苦的学MFC,我对此ƈ不感兴趣,那种ZC/S的开?Ҏ没有多大的吸引力.有时觉得真的很神?一U那么简单的无状态的http协议竞争能构么大一个复杂的企业U的B/S pȝ,有时我真的是被深q折服.也许q就是带领我来到q个Java世界的一个很重要的原?因ؓ实现q样一个复杂的pȝ一直是我梦寐以求的事情,能做L一个庞大的pȝ的时候也是我最有成q时?.</FONT></P> <P><FONT color=#800080 size=2>Java现在很火,学Java的h很多,软g公司需要会Java的h也很?但是q不是说会Javap扑ֈ好工?.l过大学几年的学?l合自己的亲w体?和自己做E序员的日子,L觉自己L被一些东西牵着d在走,q些东西q不只是高的新的技?q有很多很多......大学里学的计机只是一些基的基,我ƈ没有把这些基学得有多?现在也一直很后悔..其实大学里面计算Z业有两种?一U是d阵地,把大学里面的那计机评学得L?考试成W很好,证书也拿了几?但是没有开发过目,使用的开发技术也很古?开发效率极?q种人出来找工作没有多大的优势可a,当然除了再回到学校里面去教书之外.q有一Uh,Ҏ技术盲目的崇拜,L很Qw?认ؓ大学里面学的东西都没有用,q时?今天惛_Java,明天又想?net,当听?一U新的技?又在怀疑以前学的东西是不是以后有用,是不是会淘汰,l果,什么都没有,q种?永远 只有在IT业中被拖着?开技术根本不?做技术咨询到不错,反正他们都是一知半?..</FONT></P> <P><FONT color=#800080 size=2>不知道ؓ什?大学里面女生的计机成W都很?但是在IT公司很少很少看到女生,我们公司׃?呵呵,看她的样?写代码很扎实,但是q不擅长做设?...</FONT></P> <P><FONT color=#800080 size=2>谈了q么一?感觉危机感又来了,strutsq未完全_N?hibernate才用q几?感受C它的强大,spring{AOP又出来了,我又要去学了... 其实我认q不像一些h说的q样很篏很辛?正是因ؓ我们q轻,我们才有q样的激情在q种世界前沿U技领域d献我们的青春....我觉得很?..?Java十周q生日快?.</FONT></P> <P><BR><BR><FONT color=#800080 size=2>本文引用通告地址Q?http://blog.csdn.net/kerry365/services/trackbacks/435488.aspx </FONT></P><img src ="http://m.tkk7.com/zool/aggbug/8995.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/zool/" target="_blank">zool</a> 2005-08-02 10:47 <a href="http://m.tkk7.com/zool/archive/2005/08/02/8995.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>教你如何快速成Z名Java初E序?/title><link>http://m.tkk7.com/zool/archive/2005/04/19/3485.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 19 Apr 2005 11:03:00 GMT</pubDate><guid>http://m.tkk7.com/zool/archive/2005/04/19/3485.html</guid><wfw:comment>http://m.tkk7.com/zool/comments/3485.html</wfw:comment><comments>http://m.tkk7.com/zool/archive/2005/04/19/3485.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/zool/comments/commentRss/3485.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/zool/services/trackbacks/3485.html</trackback:ping><description><![CDATA[<FONT size=2>目前QJAVA是开发h员的热宠Q很多论坛都有不热爱JAVA的开发h员,也有不少x?<BR>JAVAE序员,但苦于不知道该如何学习,也不清楚该学些什么知识才能成Z个JAVAE序 <BR>员。本人在q里抛砖引玉Q和?家讨论成Z个JAVA初E序员应该具有的知识Q与大家 <BR>׃n?<BR>个h认ؓxZ个合格的JAVA初E序员应该具备如下知识: <BR><BR>一、面向对象的知识QJAVA是一个面向对象的开发语aQ因此熟悉面向对象对学习JAVA?<BR>有必要,您要了解Q什么是对象Q什么是c;什么是装Q什么是多态,什么是l承Q什 <BR>么是抽象c,什么是接口。了解了概念后,您还需要这些概忉|如何体现的,如类和对?<BR>有什么区别?cL如何装的? <BR><BR>二、JAVA语法Q如果您已经有了开发经验,恭喜您,您学习JAVA语法来将比较Ҏ。如?<BR>您有C++{面向对象语a的开发经验,您只需单的ȝ一下介lJAVA的相关书c就可以?<BR>。如果您是新手,没有关系Q您下些工夫Q好好研I一本JAVA初教程之类的书可以了 <BR>?<BR><BR>学习了JAVA语法Q加上面向对象的知识Q只有您用心Q您可以写出来比较好的JAVA代码 <BR>了。如果您再抽出时间熟悉一下JAVA~程规范Q您代码的水q_应该不俗了?<BR><BR>三、JSP和HTMLQ在我国的绝大多数公司,做JAVAE序员都不了和JSP以及HTML打交道?<BR>因此Q想成ؓJAVAE序员就不可避免的要熟悉JSP和HTMLQ您最好能知道JSP的几个内|对 <BR>象,如SessionQRequestQReponseQ,以及常用的JSP标签Q如 include,userBean{。尽 <BR>一些工具会帮您生成HTML代码Q但您还是要熟悉比如titleQ,<table>Q?lt; tr>Q?lt;td>{?<BR>。如果您再熟悉一下JS和CSS更好了Q那会您制作的面更友好?<BR><BR>四、WebServer:熟悉了以上三U,可以肯定的说您已l可以制作出来JSP面了,您也可以 <BR>在您的页面里使用自己开发的JAVAc?(JAVABEAN)了,但您的页面总要跑v来才能看到您?<BR>的效果,q就要求您必ȝ悉一UWebServerQ比如:TOMCATQRESIN{。您要熟悉如何发 <BR>布您的应用,如何利用WebServer的数据库资源{?<BR><BR>五、开发工P大家都知道,开发工具可以帮助您更好更快地开发,因此熟悉几种开发工 <BR>具很有必要。目前JAVA的开发工h较流行的有JBuilder,IDEA,EclipseQHTML的开发工?<BR>有Dreamweaver{?<BR><BR>六、熟悉一U框Ӟ熟悉一U框架其实是成ؓJAVAE序员的一U可选知识,但目前开发B/ <BR>Sl构的应用的开发小l,都差不多会采用一U框架来构徏自己的应用系l。框枉会有?<BR>多可重用的代码,良好的层ơ关pd业务控制逻辑Q基于框架的开发你可以省出很多的 <BR>开发成本。目前比较流行的框架?Struts和WAF{?  </FONT><img src ="http://m.tkk7.com/zool/aggbug/3485.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/zool/" target="_blank">zool</a> 2005-04-19 19:03 <a href="http://m.tkk7.com/zool/archive/2005/04/19/3485.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java学习路径http://m.tkk7.com/zool/archive/2005/04/19/3484.htmlzoolzoolTue, 19 Apr 2005 11:01:00 GMThttp://m.tkk7.com/zool/archive/2005/04/19/3484.htmlhttp://m.tkk7.com/zool/comments/3484.htmlhttp://m.tkk7.com/zool/archive/2005/04/19/3484.html#Feedback0http://m.tkk7.com/zool/comments/commentRss/3484.htmlhttp://m.tkk7.com/zool/services/trackbacks/3484.htmlJava学习路径三篇

Java学习路径Q一Q工L

一?JDK (Java Development Kit)

  JDK是整个Java的核心,包括了Javaq行环境QJava Runtime EnvirnmentQ,一堆Java工具和Java基础的类?rt.jar)。不Z么Java应用服务器实质都是内|了某个版本的JDK。因此掌握JDK是学好Java的第一步。最L的JDK是Sun公司发布的JDKQ除了Sun之外Q还有很多公司和l织都开发了自己的JDKQ例如IBM公司开发的JDKQBEA公司的JrocketQ还有GNUl织开发的JDK{等。其中IBM的JDK包含的JVMQJava Virtual MachineQ运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86q_的Jrocket在服务端q行效率也要比Sun JDK好很多。但不管怎么_我们q是需要先把Sun JDK掌握好?

  1?JDK的下载和安装

  JDK又叫做J2SEQJava2 SDK Standard EditionQ,可以从Sun的Java|站上下载到Qhttp://java.sun.com/j2se/downloads.html QJDK当前最新的版本是J2SDK1.4.2Q徏议下载该版本的JDKQ下载页面在q里Qhttp://java.sun.com/j2se/1.4.2/download.html?

  下蝲好的JDK是一个可执行安装E序Q默认安装完毕后会在C:\Program Files\Java\目录下安装一套JREQ供览器来使用Q,在C:\j2sdk1.4.2下安装一套JDKQ也包括一套JREQ。然后我们需要在环境变量PATH的最前面增加java的\径C:\j2sdk1.4.2\bin。这样JDK安装好了?

  2?JDK的命令工?

  JDK的最重要命o行工P

  javaQ?启动JVM执行class

  javacQ?Java~译?

  jarQ?Java打包工具

  javadocQ?Java文档生成?

  q些命o行必要非常非常熟悉Q对于每个参数都要很_N才行。对于这些命令的学习QJDK Documentation上有详细的文档?

  二?JDK Documentation

  Documentation在JDK的下载页面也有下载连接,同时下蝲Documentation。Documentation是最最重要的编E手册,늛了整个Java所有方面的内容的描q。可以这栯Q学习Java~程Q大部分旉都是花在看这个Documentation上面的。我是随w携带的Q写Java代码的时候,随时查看Q须臾不L?

  三?应用服务?App Server)

  App Server是运行Java企业lg的^収ͼ构成了应用Y件的主要q行环境。当前主的App Server是BEA公司的Weblogic Server和IBM公司的Websphere以及免费的JbossQ选择其中一个进行学习就可以了,个h推荐WeblogicQ因为它的体pȝ构更加干净Q开发和部v更加方便Q是Java企业软g开发h员首选的开发^台。下面简要介l几U常用的App ServerQ?

  1?Tomcat

  Tomcat严格意义上ƈ不是一个真正的App ServerQ它只是一个可以支持运行Serlvet/JSP的Web容器Q不qTomcat也扩展了一些App Server的功能,如JNDIQ数据库q接池,用户事务处理{等。Tomcat被非常广泛的应用在中规模的Java Web应用中,因此本文做一点下载、安装和配置Tomcat的介l:

  Tomcat是Apachel织下Jakarta目下的一个子目Q它的主|站是:http://jakarta.apache.org/tomcat/ QTomcat最新版本是Tomcat5.0.16QY件下载的q接是:http://www.apache.org/dist/jakarta/tomcat-5/v5.0.16/ ?

  下蝲Tomcat既可以直接下载zip包,也可以下载exe安装包(个hzip更干净些)Q不哪U情况,下蝲完毕安装好以后(zip直接解压~就可以了)。需要设|两个环境变量:

  JAVA_HOME=C:\j2sdk1.4.2

  CATALINA_HOME=D:\tomcat4 (你的Tomcat安装目录)

  q样安装好了,启动Tomcatq行CATALINA_HOME\bin\startup.batQ关闭Tomcatq行shutdown.bat脚本。Tomcat启动以后Q默认?080端口Q因此可以用览器访问http://localhost:8080来测试Tomcat是否正常启动?

  Tomcat提供了两个Web界面的管理工PURL分别是:

  http://localhost:8080/admin/index.jsp

  http://localhost:8080/manager/html

  在启用这两个理工具之前Q先需要手工配|一下管理员用户和口令。用一个文本工h开CATALINA_HOME\conf\tomcat-users.xmlq个文gQ加入如下几行:

  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="robbin" password="12345678" roles="admin,manager,tomcat"/>

  q样用户“robbin”就具备了超U管理员权限。重新启动Tomcat以后Q你可以用该用户来登陆如上的两个理工具Q通过Web方式q行Tomcat的配|和理了?

  2?BEA Weblogic

  Weblogic可以到BEA的网站上免费注册之后下蝲到Weblogic8.1企业版,License可以免费使用1q时_其实q已l完全够了。Weblogic的下载连接:http://commerce.bea.com/index.jspQWeblogic的在U文档:http://edocs.bea.com/ ?

  3?IBM Webshpere

  Websphere同样可以下蝲到免费的试用版本Q到IBM的developerWorks|站可以看到Websphere试用产品的下载和相关的Websphere的资料,developerWorks中文|站的连接是Qhttp://www-900.ibm.com/developerWorks/cn/wsdd/ QWebsphere的下载连接:http://www7b.software.ibm.com/wsdd/downloads/WASsupport.html ?

  4?Jboss

  Jboss是免费开源的App ServerQ可以免费的从Jboss|站下蝲Qhttp://www.jboss.org/index.htmlQ然而Jboss的文档是不免费,需要花p乎ͼ所以ؓ我们学习Jboss讄了一定的障碍。在Jdon上有几篇不错的Jboss配置文档Q可以用来参考:http://www.jdon.com/idea.html

  四?Java应用的运行环?

  Java的应用可以简单分Z下几个方面:

  1?Java的桌面应?

  桌面应用一般仅仅需要JRE的支持就_了?

  2?Java Web应用

  Java的Web应用臛_需要安装JDK和一个web容器Q例如TomcatQ,以及一个多用户数据库,Web应用臛_分ؓ三层Q?

  Browser层:览器显C用户页?

  Web层:q行Servlet/JSP

  DB层:后端数据库,向JavaE序提供数据讉K服务

  3?Java企业U应?

  企业U应用比较复杂,可以扩展到n层,最单情况会分ؓ4层:

  Browser层:览器显C用户页?

  Client层:Java客户端图形程序(或者嵌入式讑֤的程序)直接和Web层或者EJB层交?

  Web层:q行Servlet/JSP

  EJB层:q行EJBQ完成业务逻辑q算

  DB层:后端数据库,向JavaE序提供数据讉K服务

  4?Java嵌入式应?

  Java嵌入式应用是一个方兴未艄领域Q从事嵌入式开发,需要从Sun下蝲J2ME开发包QJ2ME包含了嵌入式讑֤专用虚拟机KVMQ和普通的JDK中包含的JVM有所不同。另外还需要到特定的嵌入式厂商那里下蝲模拟器?


Java学习路径Q二Q书c篇

学习一门新的知识,不可能指望只看一本,或者两本书p够完全掌握。需要有一个@序渐q的阅读q程。我推荐Oreilly出版的Javapd书籍?

  在这里我只想补充一点看法,很多人学习Java是从《Thinking in Java》这本书入手的,但是我认本书是不适合初学者的。我认ؓ正确的用这本书的方法应该是作ؓ辅助的读物。《Thinking in Java》ƈ不是在完整的介绍Java的整个体p,而是一U蟩跃式的写作方法,是一U类似tips的方法来对Java很多知识点进行了深入的分析和解释?

  对于初学者来_最好是找一本Java入门的书c,但是比较完整的@序的介绍Java的语法,面向对象的特性,核心cd{等Q在看这本书的同Ӟ可以同步来看《Thinking in Java》,来加深对Java的理解和原理的运用,同时又可以完整的了解Java的整个体pR?

  对于Java的入门书c,蔡学镛推荐的是Oreilly的《Exploring Java, 2nd Edition?或者《Java in a Nutshell,2nd EditionQ针对C++背景Q》,我ƈ没有看过q两本书。其实我觉得电子工业出版C《Java 2~程详解》或者《Java 2从入门到_N》就很不错?

  在所有的Java书籍当中Q其实最最有用的,q不是O´reilly?Java SerialsQ真正最最有用处是JDK的DocumentationQ几乎你惌得的所有的知识在Documentation里面全部都有Q其中最主要的部分当然是Java基础cd的API文档Q是按照package来组l的Q对于每一个class都有详细的解释,它的l承关系Q是否实C某个接口Q通常用在哪些场合Q还可以查到它所有的public的属性和ҎQ每个属性的解释Q意义,每个Ҏ的用途,调用的参敎ͼ参数的意义,q回值的cdQ以及方法可能抛出的异常{等。可以这h_所有关于Java~程斚w的书c其实都不过是在用比较通俗易懂的语aQ和良好的组l方式来介绍Documentation里面的某个package里面包含的一些类的用法而已。所以万变不d宗,如果你有_的能力来直接通过Documentation来学习Java的类库,那么基本上就不需要看其他的书c了。除此之外,Documentation也是~程必备的手册,我的桌面上有三个Documentation的快h式,分别是J2SDK1.4.1的DocumentationQServlet2.3的Documentation和J2SDKEE1.3.1的Documentation。有了这个三个DocumentationQ什么其他的书籍都不需要了?

  对于Java Web ~程来说Q最核心的是要熟悉和掌握HTTP协议Q这个就和Java无关了,在熟悉HTTP协议之后Q就需要熟悉Java的实现HTTP协议的类库,也就是Servlet APIQ所以最重要的东西就是Servlet API。当然对于初学者而言Q直接通过Servlet API来学习Web~程有很大的隑ֺQ我推荐O´reilly的《Java Server Pages 》这本书来学习Web ~程?

 EJB的书c当中,《Enterprise Java Beans?, 2nd Edition》是一本很不错的书Q?EJB的学习门槛是比较高,入门很难Q但是这本书完全降低了学习的隑ֺQ特别重要的一ҎQEJB的学习需要结合一UApp Server的具体实玎ͼ所以在学习EJB的同Ӟ必须同步的学习某UApp ServerQ而这本书相关的出了三本书Q分别是Weblogic6.1QWebsphere4.0和JBoss3.0上面部v书中例子的实做。真是既有理论,又有实践。在学习EJB的同Ӟ可以边看边做QEJB的学习会变得很轻松?

  但是q本书也有一个问题,是版本比较旧,主要讲EJB1.1规范和部分EJB2.0的规范。而Ed Roman写的《Mastering EJB 2.0》这本书完全是根据EJB2.0规范写的Q深入浅出,覆盖了EJB~程的各个方面,q且q有很多~程l验tipsQ也是学习EJB非常推荐的书c之一?

  如果是结合Weblogic来学习J2EE的话Q《J2EE应用与BEA Weblogic Server》绝Ҏ首选读物,虽然是讲q的Weblogic6.0Q仍然值得购买Q这本书是BEA官方推荐的教材,作者也是BEA公司的工E师。现在中文版已经随处可见了。这本书l合Weblogic介绍了J2EE各个斚w的技术在Weblogicq_上的开发和部vQ实跉|导意义非常强?

  在掌握了Javaq_基础知识和J2EE斚w的知识以后,更进一步的是学习如何运用OO的方法进行Y件的设计Q那么就一定要学习“设计模式”。Sun公司出版了一本《J2EE核心模式》,是每个开发Java企业q_软g的架构师必备的书c。这本书全面的介l了J2EE体系架构的各U设计模式,是设计师的必Mc?


Java学习路径Q三Q过E篇

每个人的学习Ҏ是不同的Q一个h的方法不见得适合另一个hQ我只能是谈自己的学习方法。因为我学习Java是完全自学的Q从来没有问q别人,所以学习的q程基本上完全是自己摸烦出来的。我也不知道q种Ҏ是否是比较好的方法,只能l大家提供一点参考了?

  学习Java的第一步是安装好JDKQ写一个Hello WorldQ?其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰JavaE序员的地方Q一个是CLASSPATH的问题,其实从原理上来说Q是要搞清楚JRE的ClassLoader是如何加载Class的;另一个问题是package和import问题Q如何来Lcȝ路径问题。把q两个问题摸索清楚了Q就扫除了学习Java和用JDK的最大障。推荐看一下王的《Java深度历险》,对这两个问题q行了深入的探讨?
  W二步是学习Java的语法。Java的语法是cC++的,基本上主的~程语言不是cCQ就是类C++的,没有什么新东西Q所以语法的学习Q大概就是半天的旉_了。唯一需要注意的是有几个不容易搞清楚的关键字的用法,publicQprotectedQprivateQstaticQ什么时候用Qؓ什么要用,怎么用,q可能需要有人来指点一下,我当初是完全自己琢磨出来的,׃很久的时间。不q后来我看到《Thinking in Java》这本书上面是讲了这些概늚?

  W三步是学习Java的面向对象的~程语言的特性的地方。比如承,构造器Q抽象类Q接口,Ҏ的多态,重蝲Q覆盖,Java的异常处理机制。对于一个没有面向对象语a背景的h来说Q我觉得q个q程需要花很长很长旉Q因为学习Java之前没有C++的经验,只有C的经验,我是大概׃一个月左右吧,才彻底把q些概念都搞清楚Q把书上面的例子反复的揣摩,修改Q尝试,把那几章内容反复的看q来Q看q去Q看了不?遍,才彻底领悟了。不q我惛_果有C++l验的话Q应该一两天旉_了。那么在q个q程中,可以多看看《Thinking in Java》这本书Q对面向对象的讲解非帔R彻。可惜的是我学习的时候,q没有看到这本书Q所以自p了大量的旉Q通过自己的尝试和揣摩来学会的?

  W四步就是开始熟悉Java的类库。Java的基cd其实是JDK安装目录下面jre\lib\rt.jarq个包。学习基cd是学习rt.jar。基cd里面的类非常非常多。据说有3000多个Q我没有l计q。但是真正对于我们来说最核心的只?个,分别?

  java.lang.*;

  java.io.*;

  java.util.*;

  java.sql.*;

  q四个包的学习,每个包的学习都可以写成一本厚厚的教材Q而O´reilly也确实是q样做的。我觉得如果旉比较紧,是不可能通过d本书来学习。我觉得比较好的学习Ҏ是这LQ?

  首先要通读整个package的框Ӟ了解整个package的classQinterfaceQexception的构成,最好是能够扑ֈ介绍整个包框架的文章。这些专门介l包的书c的前几章应该就是这些M的框架内容介l?

  对包整体框架的把握ƈ不是要熟悉每个类的用法,C它有哪些属性,Ҏ。想CC住的。而是要知道包有哪些方面的cL成的Q这些类的用途是什么,最核心的几个类分别是完成什么功能的。我在给人培训的时候一般是一ơ课讲一个包Q所以不可能详细的介l每个类的用法,但是我反复强调,我给你们讲这些包的不是要告诉你们cȝҎ是怎么调用的,也不要求你们CcȝҎ调用Q而是要你们了解,Javal我们提供了哪些c,每个cL用在什么场合,当我遇到问题的时候,我知道哪个类Q或者哪几个cȝl合可以解决我的问题QThat´allQ,当我们具体写E序的时候,只要你知道该用哪个类来完成你的工作就_了。编码的时候,具体的方法调用,是边写代码,ҎDocumentationQ所有的东西都在Documentation里面Q不要求你一定记住,实际你也C?000多个cȝd近10万个Ҏ调用。所以对每个包的M框架的把握就变得极ؓ重要?

  W五步,通过上面的学习,如果学的比较扎实的话Q就打好了Java的基了,剩下要做的工作是扫清Documentation里面除了上面4个包之外的其他一些比较有用处的类。相信进展到q一步,Java的自学能力已l被培养出来了,可以C直接学习Documentation的水q了。除了要做GUI~程之外QJDK里面其他会有用处的包是这些:

  java.text.*;

  java.net.*;

  javax.naming.*;

  q些包里面真正用的比较多的类其实很少Q只有几个,所以不需要花很多旉?

  W六步,Java Web ~程

  Web~程的核心是HTTP协议QHTTP协议和Java无关Q如果不熟悉HTTP协议的话Q虽然也可以学好Servlet/JSP~程Q但是达不到举一反三Q一通百通的境界。所以HTTP协议的学习是必备的。如果熟悉了HTTP协议的话Q又有了Java~程的良好的基础Q学习Servlet/JSP直易如反掌,我学习Servlet/JSPq了不C周的旉Q然后就开始用JSP来做目了?

  在Servlet/JSP的学习中Q重头仍然是Servlet Documentation。Servlet API最常用的类很少Q花比较的旉可以掌握了。把q些c都看一遍,多写几个例子试试。Servlet/JSP~程本质是在反复调用这些类来通过HTTP协议在Web Server和Brower之间交谈。另外对JSPQ还需要熟悉几个常用JSP的标讎ͼ具体的写法记不住的话Q时查是了?

  此外Java Web~程学习的重点要攑֜Web Application的设计模式上Q如何进行业务逻辑的分析,q且q行合理的设计,按照MVC设计模式的要求,q用Servlet和JSP分别完成不同的逻辑层,掌握如何在Servlet和JSP之间q行程的控制和数据的共享,以及Web Application应该如何配置和部|Ӏ?

  W七步,J2EE~程

  以上的学习过E如果是比较利的话Q进行到q一步,隑ֺ又陡然提高。因Z面的知识内容都是只涉及一个方面,而像EJBQJMSQJTA{核心的J2EE规范往往是几UJava技术的l合q用的结Ӟ所以掌握v来难度比较大?

  首先一定要学习好JNDIQJNDI是App Server定位服务器资源(EJBlgQDatasouceQJMSQ查找方法,如果对JNDI不熟悉的话,EJBQJMSq些东西几乎学不下去。JNDI其实是javax.naming.*q个包,q用h很简单。难点在于服务器资源文g的配|。对于服务器资源文g的配|,需要看看专门的文档规范了,比如web.xml的写法,ejb-jar.xml的写法等{。针ҎU不同的App ServerQ还有自q服务资源配置文gQ也是需要熟悉的?

  然后可以学习JTAQ主要是要理解JTA对于事务的控制的ҎQ以及该在什么场合用JTA。这里可以简单的举个例子Q我们知道一般情况可以对于一个数据库q接q行事务控制(conn.setAutoCommit(false),....,conn.commit())Q做Z个原?作,但是假设我的业务需求是要把对两个不同数据库?作做Z个原?作,你能做的到吗Q这时候只能用JTA了。假?作过E是先往A数据库插一条记录,然后删除B数据库另一个记录,我们自己写代码是控制不了把整?作做Z个原?作的。用JTA的话Q由App Server来完成控制?

  在学习EJB之前要学习对象序列化和RMIQRMI是EJB的基。接着学习JMS和EJBQ对于EJB来说Q最关键是要理解EJB是如何通过RMI来实现对q端对象的调用的Q以及在什么情况下要用到EJB?

  在学习完EJBQJMSq些东西之后Q你可能会意识到要急不可待学习两个领域的知识,一个是UMLQ另一个是Design Pattern。Java企业软g的设计非帔R视框?Framework)的设计,一个好的Y件框架是软g开发成功的必要条g。在q个时候,应该开始把学习的重Ҏ在设计模式和框架的学习上Q通过学习和实际的~程l验来掌握EJB的设计模式和J2EE的核心模式?

  J2EE规范里面Q除了EJBQJMSQJTAQServlet/JSPQJDBC之外q有很多很多的企业技术,q里不一一q行介绍了?

  另外q有一个最新领域Web Services。Web Services也完全没有Q何新东西Q它像是一U黏合剂Q可以把不同的服务统一h提供一个统一的调用接口,作ؓ使用者来_我只要获得服务提供者给我的WSDLQ对服务的描qͼQ就够了Q我完全不知道服务器提供者提供的服务I竟是EJBlgQ还?NetlgQ还是什么CORBAlgQ还是其他的什么实玎ͼ我也不需要知道。Web Services最伟大的地方就在于通过l一的服务提供方式和调用方式Q实C整个Internet服务的共享,是一个非o人激动的技术领域。Web Services好像目前q没有什么很好的书籍Q但是可以通过在网l上面查资料的方式来学习?

Java学习路径三篇

Java学习路径Q一Q工L

一?JDK (Java Development Kit)

  JDK是整个Java的核心,包括了Javaq行环境QJava Runtime EnvirnmentQ,一堆Java工具和Java基础的类?rt.jar)。不Z么Java应用服务器实质都是内|了某个版本的JDK。因此掌握JDK是学好Java的第一步。最L的JDK是Sun公司发布的JDKQ除了Sun之外Q还有很多公司和l织都开发了自己的JDKQ例如IBM公司开发的JDKQBEA公司的JrocketQ还有GNUl织开发的JDK{等。其中IBM的JDK包含的JVMQJava Virtual MachineQ运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86q_的Jrocket在服务端q行效率也要比Sun JDK好很多。但不管怎么_我们q是需要先把Sun JDK掌握好?

  1?JDK的下载和安装

  JDK又叫做J2SEQJava2 SDK Standard EditionQ,可以从Sun的Java|站上下载到Qhttp://java.sun.com/j2se/downloads.html QJDK当前最新的版本是J2SDK1.4.2Q徏议下载该版本的JDKQ下载页面在q里Qhttp://java.sun.com/j2se/1.4.2/download.html?

  下蝲好的JDK是一个可执行安装E序Q默认安装完毕后会在C:\Program Files\Java\目录下安装一套JREQ供览器来使用Q,在C:\j2sdk1.4.2下安装一套JDKQ也包括一套JREQ。然后我们需要在环境变量PATH的最前面增加java的\径C:\j2sdk1.4.2\bin。这样JDK安装好了?

  2?JDK的命令工?

  JDK的最重要命o行工P

  javaQ?启动JVM执行class

  javacQ?Java~译?

  jarQ?Java打包工具

  javadocQ?Java文档生成?

  q些命o行必要非常非常熟悉Q对于每个参数都要很_N才行。对于这些命令的学习QJDK Documentation上有详细的文档?

  二?JDK Documentation

  Documentation在JDK的下载页面也有下载连接,同时下蝲Documentation。Documentation是最最重要的编E手册,늛了整个Java所有方面的内容的描q。可以这栯Q学习Java~程Q大部分旉都是花在看这个Documentation上面的。我是随w携带的Q写Java代码的时候,随时查看Q须臾不L?

  三?应用服务?App Server)

  App Server是运行Java企业lg的^収ͼ构成了应用Y件的主要q行环境。当前主的App Server是BEA公司的Weblogic Server和IBM公司的Websphere以及免费的JbossQ选择其中一个进行学习就可以了,个h推荐WeblogicQ因为它的体pȝ构更加干净Q开发和部v更加方便Q是Java企业软g开发h员首选的开发^台。下面简要介l几U常用的App ServerQ?

  1?Tomcat

  Tomcat严格意义上ƈ不是一个真正的App ServerQ它只是一个可以支持运行Serlvet/JSP的Web容器Q不qTomcat也扩展了一些App Server的功能,如JNDIQ数据库q接池,用户事务处理{等。Tomcat被非常广泛的应用在中规模的Java Web应用中,因此本文做一点下载、安装和配置Tomcat的介l:

  Tomcat是Apachel织下Jakarta目下的一个子目Q它的主|站是:http://jakarta.apache.org/tomcat/ QTomcat最新版本是Tomcat5.0.16QY件下载的q接是:http://www.apache.org/dist/jakarta/tomcat-5/v5.0.16/ ?

  下蝲Tomcat既可以直接下载zip包,也可以下载exe安装包(个hzip更干净些)Q不哪U情况,下蝲完毕安装好以后(zip直接解压~就可以了)。需要设|两个环境变量:

  JAVA_HOME=C:\j2sdk1.4.2

  CATALINA_HOME=D:\tomcat4 (你的Tomcat安装目录)

  q样安装好了,启动Tomcatq行CATALINA_HOME\bin\startup.batQ关闭Tomcatq行shutdown.bat脚本。Tomcat启动以后Q默认?080端口Q因此可以用览器访问http://localhost:8080来测试Tomcat是否正常启动?

  Tomcat提供了两个Web界面的管理工PURL分别是:

  http://localhost:8080/admin/index.jsp

  http://localhost:8080/manager/html

  在启用这两个理工具之前Q先需要手工配|一下管理员用户和口令。用一个文本工h开CATALINA_HOME\conf\tomcat-users.xmlq个文gQ加入如下几行:

  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="robbin" password="12345678" roles="admin,manager,tomcat"/>

  q样用户“robbin”就具备了超U管理员权限。重新启动Tomcat以后Q你可以用该用户来登陆如上的两个理工具Q通过Web方式q行Tomcat的配|和理了?

  2?BEA Weblogic

  Weblogic可以到BEA的网站上免费注册之后下蝲到Weblogic8.1企业版,License可以免费使用1q时_其实q已l完全够了。Weblogic的下载连接:http://commerce.bea.com/index.jspQWeblogic的在U文档:http://edocs.bea.com/ ?

  3?IBM Webshpere

  Websphere同样可以下蝲到免费的试用版本Q到IBM的developerWorks|站可以看到Websphere试用产品的下载和相关的Websphere的资料,developerWorks中文|站的连接是Qhttp://www-900.ibm.com/developerWorks/cn/wsdd/ QWebsphere的下载连接:http://www7b.software.ibm.com/wsdd/downloads/WASsupport.html ?

  4?Jboss

  Jboss是免费开源的App ServerQ可以免费的从Jboss|站下蝲Qhttp://www.jboss.org/index.htmlQ然而Jboss的文档是不免费,需要花p乎ͼ所以ؓ我们学习Jboss讄了一定的障碍。在Jdon上有几篇不错的Jboss配置文档Q可以用来参考:http://www.jdon.com/idea.html

  四?Java应用的运行环?

  Java的应用可以简单分Z下几个方面:

  1?Java的桌面应?

  桌面应用一般仅仅需要JRE的支持就_了?

  2?Java Web应用

  Java的Web应用臛_需要安装JDK和一个web容器Q例如TomcatQ,以及一个多用户数据库,Web应用臛_分ؓ三层Q?

  Browser层:览器显C用户页?

  Web层:q行Servlet/JSP

  DB层:后端数据库,向JavaE序提供数据讉K服务

  3?Java企业U应?

  企业U应用比较复杂,可以扩展到n层,最单情况会分ؓ4层:

  Browser层:览器显C用户页?

  Client层:Java客户端图形程序(或者嵌入式讑֤的程序)直接和Web层或者EJB层交?

  Web层:q行Servlet/JSP

  EJB层:q行EJBQ完成业务逻辑q算

  DB层:后端数据库,向JavaE序提供数据讉K服务

  4?Java嵌入式应?

  Java嵌入式应用是一个方兴未艄领域Q从事嵌入式开发,需要从Sun下蝲J2ME开发包QJ2ME包含了嵌入式讑֤专用虚拟机KVMQ和普通的JDK中包含的JVM有所不同。另外还需要到特定的嵌入式厂商那里下蝲模拟器?


Java学习路径Q二Q书c篇

学习一门新的知识,不可能指望只看一本,或者两本书p够完全掌握。需要有一个@序渐q的阅读q程。我推荐Oreilly出版的Javapd书籍?

  在这里我只想补充一点看法,很多人学习Java是从《Thinking in Java》这本书入手的,但是我认本书是不适合初学者的。我认ؓ正确的用这本书的方法应该是作ؓ辅助的读物。《Thinking in Java》ƈ不是在完整的介绍Java的整个体p,而是一U蟩跃式的写作方法,是一U类似tips的方法来对Java很多知识点进行了深入的分析和解释?

  对于初学者来_最好是找一本Java入门的书c,但是比较完整的@序的介绍Java的语法,面向对象的特性,核心cd{等Q在看这本书的同Ӟ可以同步来看《Thinking in Java》,来加深对Java的理解和原理的运用,同时又可以完整的了解Java的整个体pR?

  对于Java的入门书c,蔡学镛推荐的是Oreilly的《Exploring Java, 2nd Edition?或者《Java in a Nutshell,2nd EditionQ针对C++背景Q》,我ƈ没有看过q两本书。其实我觉得电子工业出版C《Java 2~程详解》或者《Java 2从入门到_N》就很不错?

  在所有的Java书籍当中Q其实最最有用的,q不是O´reilly?Java SerialsQ真正最最有用处是JDK的DocumentationQ几乎你惌得的所有的知识在Documentation里面全部都有Q其中最主要的部分当然是Java基础cd的API文档Q是按照package来组l的Q对于每一个class都有详细的解释,它的l承关系Q是否实C某个接口Q通常用在哪些场合Q还可以查到它所有的public的属性和ҎQ每个属性的解释Q意义,每个Ҏ的用途,调用的参敎ͼ参数的意义,q回值的cdQ以及方法可能抛出的异常{等。可以这h_所有关于Java~程斚w的书c其实都不过是在用比较通俗易懂的语aQ和良好的组l方式来介绍Documentation里面的某个package里面包含的一些类的用法而已。所以万变不d宗,如果你有_的能力来直接通过Documentation来学习Java的类库,那么基本上就不需要看其他的书c了。除此之外,Documentation也是~程必备的手册,我的桌面上有三个Documentation的快h式,分别是J2SDK1.4.1的DocumentationQServlet2.3的Documentation和J2SDKEE1.3.1的Documentation。有了这个三个DocumentationQ什么其他的书籍都不需要了?

  对于Java Web ~程来说Q最核心的是要熟悉和掌握HTTP协议Q这个就和Java无关了,在熟悉HTTP协议之后Q就需要熟悉Java的实现HTTP协议的类库,也就是Servlet APIQ所以最重要的东西就是Servlet API。当然对于初学者而言Q直接通过Servlet API来学习Web~程有很大的隑ֺQ我推荐O´reilly的《Java Server Pages 》这本书来学习Web ~程?

 EJB的书c当中,《Enterprise Java Beans?, 2nd Edition》是一本很不错的书Q?EJB的学习门槛是比较高,入门很难Q但是这本书完全降低了学习的隑ֺQ特别重要的一ҎQEJB的学习需要结合一UApp Server的具体实玎ͼ所以在学习EJB的同Ӟ必须同步的学习某UApp ServerQ而这本书相关的出了三本书Q分别是Weblogic6.1QWebsphere4.0和JBoss3.0上面部v书中例子的实做。真是既有理论,又有实践。在学习EJB的同Ӟ可以边看边做QEJB的学习会变得很轻松?

  但是q本书也有一个问题,是版本比较旧,主要讲EJB1.1规范和部分EJB2.0的规范。而Ed Roman写的《Mastering EJB 2.0》这本书完全是根据EJB2.0规范写的Q深入浅出,覆盖了EJB~程的各个方面,q且q有很多~程l验tipsQ也是学习EJB非常推荐的书c之一?

  如果是结合Weblogic来学习J2EE的话Q《J2EE应用与BEA Weblogic Server》绝Ҏ首选读物,虽然是讲q的Weblogic6.0Q仍然值得购买Q这本书是BEA官方推荐的教材,作者也是BEA公司的工E师。现在中文版已经随处可见了。这本书l合Weblogic介绍了J2EE各个斚w的技术在Weblogicq_上的开发和部vQ实跉|导意义非常强?

  在掌握了Javaq_基础知识和J2EE斚w的知识以后,更进一步的是学习如何运用OO的方法进行Y件的设计Q那么就一定要学习“设计模式”。Sun公司出版了一本《J2EE核心模式》,是每个开发Java企业q_软g的架构师必备的书c。这本书全面的介l了J2EE体系架构的各U设计模式,是设计师的必Mc?


Java学习路径Q三Q过E篇

每个人的学习Ҏ是不同的Q一个h的方法不见得适合另一个hQ我只能是谈自己的学习方法。因为我学习Java是完全自学的Q从来没有问q别人,所以学习的q程基本上完全是自己摸烦出来的。我也不知道q种Ҏ是否是比较好的方法,只能l大家提供一点参考了?

  学习Java的第一步是安装好JDKQ写一个Hello WorldQ?其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰JavaE序员的地方Q一个是CLASSPATH的问题,其实从原理上来说Q是要搞清楚JRE的ClassLoader是如何加载Class的;另一个问题是package和import问题Q如何来Lcȝ路径问题。把q两个问题摸索清楚了Q就扫除了学习Java和用JDK的最大障。推荐看一下王的《Java深度历险》,对这两个问题q行了深入的探讨?
  W二步是学习Java的语法。Java的语法是cC++的,基本上主的~程语言不是cCQ就是类C++的,没有什么新东西Q所以语法的学习Q大概就是半天的旉_了。唯一需要注意的是有几个不容易搞清楚的关键字的用法,publicQprotectedQprivateQstaticQ什么时候用Qؓ什么要用,怎么用,q可能需要有人来指点一下,我当初是完全自己琢磨出来的,׃很久的时间。不q后来我看到《Thinking in Java》这本书上面是讲了这些概늚?

  W三步是学习Java的面向对象的~程语言的特性的地方。比如承,构造器Q抽象类Q接口,Ҏ的多态,重蝲Q覆盖,Java的异常处理机制。对于一个没有面向对象语a背景的h来说Q我觉得q个q程需要花很长很长旉Q因为学习Java之前没有C++的经验,只有C的经验,我是大概׃一个月左右吧,才彻底把q些概念都搞清楚Q把书上面的例子反复的揣摩,修改Q尝试,把那几章内容反复的看q来Q看q去Q看了不?遍,才彻底领悟了。不q我惛_果有C++l验的话Q应该一两天旉_了。那么在q个q程中,可以多看看《Thinking in Java》这本书Q对面向对象的讲解非帔R彻。可惜的是我学习的时候,q没有看到这本书Q所以自p了大量的旉Q通过自己的尝试和揣摩来学会的?

  W四步就是开始熟悉Java的类库。Java的基cd其实是JDK安装目录下面jre\lib\rt.jarq个包。学习基cd是学习rt.jar。基cd里面的类非常非常多。据说有3000多个Q我没有l计q。但是真正对于我们来说最核心的只?个,分别?

  java.lang.*;

  java.io.*;

  java.util.*;

  java.sql.*;

  q四个包的学习,每个包的学习都可以写成一本厚厚的教材Q而O´reilly也确实是q样做的。我觉得如果旉比较紧,是不可能通过d本书来学习。我觉得比较好的学习Ҏ是这LQ?

  首先要通读整个package的框Ӟ了解整个package的classQinterfaceQexception的构成,最好是能够扑ֈ介绍整个包框架的文章。这些专门介l包的书c的前几章应该就是这些M的框架内容介l?

  对包整体框架的把握ƈ不是要熟悉每个类的用法,C它有哪些属性,Ҏ。想CC住的。而是要知道包有哪些方面的cL成的Q这些类的用途是什么,最核心的几个类分别是完成什么功能的。我在给人培训的时候一般是一ơ课讲一个包Q所以不可能详细的介l每个类的用法,但是我反复强调,我给你们讲这些包的不是要告诉你们cȝҎ是怎么调用的,也不要求你们CcȝҎ调用Q而是要你们了解,Javal我们提供了哪些c,每个cL用在什么场合,当我遇到问题的时候,我知道哪个类Q或者哪几个cȝl合可以解决我的问题QThat´allQ,当我们具体写E序的时候,只要你知道该用哪个类来完成你的工作就_了。编码的时候,具体的方法调用,是边写代码,ҎDocumentationQ所有的东西都在Documentation里面Q不要求你一定记住,实际你也C?000多个cȝd近10万个Ҏ调用。所以对每个包的M框架的把握就变得极ؓ重要?

  W五步,通过上面的学习,如果学的比较扎实的话Q就打好了Java的基了,剩下要做的工作是扫清Documentation里面除了上面4个包之外的其他一些比较有用处的类。相信进展到q一步,Java的自学能力已l被培养出来了,可以C直接学习Documentation的水q了。除了要做GUI~程之外QJDK里面其他会有用处的包是这些:

  java.text.*;

  java.net.*;

  javax.naming.*;

  q些包里面真正用的比较多的类其实很少Q只有几个,所以不需要花很多旉?

  W六步,Java Web ~程

  Web~程的核心是HTTP协议QHTTP协议和Java无关Q如果不熟悉HTTP协议的话Q虽然也可以学好Servlet/JSP~程Q但是达不到举一反三Q一通百通的境界。所以HTTP协议的学习是必备的。如果熟悉了HTTP协议的话Q又有了Java~程的良好的基础Q学习Servlet/JSP直易如反掌,我学习Servlet/JSPq了不C周的旉Q然后就开始用JSP来做目了?

  在Servlet/JSP的学习中Q重头仍然是Servlet Documentation。Servlet API最常用的类很少Q花比较的旉可以掌握了。把q些c都看一遍,多写几个例子试试。Servlet/JSP~程本质是在反复调用这些类来通过HTTP协议在Web Server和Brower之间交谈。另外对JSPQ还需要熟悉几个常用JSP的标讎ͼ具体的写法记不住的话Q时查是了?

  此外Java Web~程学习的重点要攑֜Web Application的设计模式上Q如何进行业务逻辑的分析,q且q行合理的设计,按照MVC设计模式的要求,q用Servlet和JSP分别完成不同的逻辑层,掌握如何在Servlet和JSP之间q行程的控制和数据的共享,以及Web Application应该如何配置和部|Ӏ?

  W七步,J2EE~程

  以上的学习过E如果是比较利的话Q进行到q一步,隑ֺ又陡然提高。因Z面的知识内容都是只涉及一个方面,而像EJBQJMSQJTA{核心的J2EE规范往往是几UJava技术的l合q用的结Ӟ所以掌握v来难度比较大?

  首先一定要学习好JNDIQJNDI是App Server定位服务器资源(EJBlgQDatasouceQJMSQ查找方法,如果对JNDI不熟悉的话,EJBQJMSq些东西几乎学不下去。JNDI其实是javax.naming.*q个包,q用h很简单。难点在于服务器资源文g的配|。对于服务器资源文g的配|,需要看看专门的文档规范了,比如web.xml的写法,ejb-jar.xml的写法等{。针ҎU不同的App ServerQ还有自q服务资源配置文gQ也是需要熟悉的?

  然后可以学习JTAQ主要是要理解JTA对于事务的控制的ҎQ以及该在什么场合用JTA。这里可以简单的举个例子Q我们知道一般情况可以对于一个数据库q接q行事务控制(conn.setAutoCommit(false),....,conn.commit())Q做Z个原?作,但是假设我的业务需求是要把对两个不同数据库?作做Z个原?作,你能做的到吗Q这时候只能用JTA了。假?作过E是先往A数据库插一条记录,然后删除B数据库另一个记录,我们自己写代码是控制不了把整?作做Z个原?作的。用JTA的话Q由App Server来完成控制?

  在学习EJB之前要学习对象序列化和RMIQRMI是EJB的基。接着学习JMS和EJBQ对于EJB来说Q最关键是要理解EJB是如何通过RMI来实现对q端对象的调用的Q以及在什么情况下要用到EJB?

  在学习完EJBQJMSq些东西之后Q你可能会意识到要急不可待学习两个领域的知识,一个是UMLQ另一个是Design Pattern。Java企业软g的设计非帔R视框?Framework)的设计,一个好的Y件框架是软g开发成功的必要条g。在q个时候,应该开始把学习的重Ҏ在设计模式和框架的学习上Q通过学习和实际的~程l验来掌握EJB的设计模式和J2EE的核心模式?

  J2EE规范里面Q除了EJBQJMSQJTAQServlet/JSPQJDBC之外q有很多很多的企业技术,q里不一一q行介绍了?

  另外q有一个最新领域Web Services。Web Services也完全没有Q何新东西Q它像是一U黏合剂Q可以把不同的服务统一h提供一个统一的调用接口,作ؓ使用者来_我只要获得服务提供者给我的WSDLQ对服务的描qͼQ就够了Q我完全不知道服务器提供者提供的服务I竟是EJBlgQ还?NetlgQ还是什么CORBAlgQ还是其他的什么实玎ͼ我也不需要知道。Web Services最伟大的地方就在于通过l一的服务提供方式和调用方式Q实C整个Internet服务的共享,是一个非o人激动的技术领域。Web Services好像目前q没有什么很好的书籍Q但是可以通过在网l上面查资料的方式来学习?

Java学习路径三篇

Java学习路径Q一Q工L

一?JDK (Java Development Kit)

  JDK是整个Java的核心,包括了Javaq行环境QJava Runtime EnvirnmentQ,一堆Java工具和Java基础的类?rt.jar)。不Z么Java应用服务器实质都是内|了某个版本的JDK。因此掌握JDK是学好Java的第一步。最L的JDK是Sun公司发布的JDKQ除了Sun之外Q还有很多公司和l织都开发了自己的JDKQ例如IBM公司开发的JDKQBEA公司的JrocketQ还有GNUl织开发的JDK{等。其中IBM的JDK包含的JVMQJava Virtual MachineQ运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86q_的Jrocket在服务端q行效率也要比Sun JDK好很多。但不管怎么_我们q是需要先把Sun JDK掌握好?

  1?JDK的下载和安装

  JDK又叫做J2SEQJava2 SDK Standard EditionQ,可以从Sun的Java|站上下载到Qhttp://java.sun.com/j2se/downloads.html QJDK当前最新的版本是J2SDK1.4.2Q徏议下载该版本的JDKQ下载页面在q里Qhttp://java.sun.com/j2se/1.4.2/download.html?

  下蝲好的JDK是一个可执行安装E序Q默认安装完毕后会在C:\Program Files\Java\目录下安装一套JREQ供览器来使用Q,在C:\j2sdk1.4.2下安装一套JDKQ也包括一套JREQ。然后我们需要在环境变量PATH的最前面增加java的\径C:\j2sdk1.4.2\bin。这样JDK安装好了?

  2?JDK的命令工?

  JDK的最重要命o行工P

  javaQ?启动JVM执行class

  javacQ?Java~译?

  jarQ?Java打包工具

  javadocQ?Java文档生成?

  q些命o行必要非常非常熟悉Q对于每个参数都要很_N才行。对于这些命令的学习QJDK Documentation上有详细的文档?

  二?JDK Documentation

  Documentation在JDK的下载页面也有下载连接,同时下蝲Documentation。Documentation是最最重要的编E手册,늛了整个Java所有方面的内容的描q。可以这栯Q学习Java~程Q大部分旉都是花在看这个Documentation上面的。我是随w携带的Q写Java代码的时候,随时查看Q须臾不L?

  三?应用服务?App Server)

  App Server是运行Java企业lg的^収ͼ构成了应用Y件的主要q行环境。当前主的App Server是BEA公司的Weblogic Server和IBM公司的Websphere以及免费的JbossQ选择其中一个进行学习就可以了,个h推荐WeblogicQ因为它的体pȝ构更加干净Q开发和部v更加方便Q是Java企业软g开发h员首选的开发^台。下面简要介l几U常用的App ServerQ?

  1?Tomcat

  Tomcat严格意义上ƈ不是一个真正的App ServerQ它只是一个可以支持运行Serlvet/JSP的Web容器Q不qTomcat也扩展了一些App Server的功能,如JNDIQ数据库q接池,用户事务处理{等。Tomcat被非常广泛的应用在中规模的Java Web应用中,因此本文做一点下载、安装和配置Tomcat的介l:

  Tomcat是Apachel织下Jakarta目下的一个子目Q它的主|站是:http://jakarta.apache.org/tomcat/ QTomcat最新版本是Tomcat5.0.16QY件下载的q接是:http://www.apache.org/dist/jakarta/tomcat-5/v5.0.16/ ?

  下蝲Tomcat既可以直接下载zip包,也可以下载exe安装包(个hzip更干净些)Q不哪U情况,下蝲完毕安装好以后(zip直接解压~就可以了)。需要设|两个环境变量:

  JAVA_HOME=C:\j2sdk1.4.2

  CATALINA_HOME=D:\tomcat4 (你的Tomcat安装目录)

  q样安装好了,启动Tomcatq行CATALINA_HOME\bin\startup.batQ关闭Tomcatq行shutdown.bat脚本。Tomcat启动以后Q默认?080端口Q因此可以用览器访问http://localhost:8080来测试Tomcat是否正常启动?

  Tomcat提供了两个Web界面的管理工PURL分别是:

  http://localhost:8080/admin/index.jsp

  http://localhost:8080/manager/html

  在启用这两个理工具之前Q先需要手工配|一下管理员用户和口令。用一个文本工h开CATALINA_HOME\conf\tomcat-users.xmlq个文gQ加入如下几行:

  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="robbin" password="12345678" roles="admin,manager,tomcat"/>

  q样用户“robbin”就具备了超U管理员权限。重新启动Tomcat以后Q你可以用该用户来登陆如上的两个理工具Q通过Web方式q行Tomcat的配|和理了?

  2?BEA Weblogic

  Weblogic可以到BEA的网站上免费注册之后下蝲到Weblogic8.1企业版,License可以免费使用1q时_其实q已l完全够了。Weblogic的下载连接:http://commerce.bea.com/index.jspQWeblogic的在U文档:http://edocs.bea.com/ ?

  3?IBM Webshpere

  Websphere同样可以下蝲到免费的试用版本Q到IBM的developerWorks|站可以看到Websphere试用产品的下载和相关的Websphere的资料,developerWorks中文|站的连接是Qhttp://www-900.ibm.com/developerWorks/cn/wsdd/ QWebsphere的下载连接:http://www7b.software.ibm.com/wsdd/downloads/WASsupport.html ?

  4?Jboss

  Jboss是免费开源的App ServerQ可以免费的从Jboss|站下蝲Qhttp://www.jboss.org/index.htmlQ然而Jboss的文档是不免费,需要花p乎ͼ所以ؓ我们学习Jboss讄了一定的障碍。在Jdon上有几篇不错的Jboss配置文档Q可以用来参考:http://www.jdon.com/idea.html

  四?Java应用的运行环?

  Java的应用可以简单分Z下几个方面:

  1?Java的桌面应?

  桌面应用一般仅仅需要JRE的支持就_了?

  2?Java Web应用

  Java的Web应用臛_需要安装JDK和一个web容器Q例如TomcatQ,以及一个多用户数据库,Web应用臛_分ؓ三层Q?

  Browser层:览器显C用户页?

  Web层:q行Servlet/JSP

  DB层:后端数据库,向JavaE序提供数据讉K服务

  3?Java企业U应?

  企业U应用比较复杂,可以扩展到n层,最单情况会分ؓ4层:

  Browser层:览器显C用户页?

  Client层:Java客户端图形程序(或者嵌入式讑֤的程序)直接和Web层或者EJB层交?

  Web层:q行Servlet/JSP

  EJB层:q行EJBQ完成业务逻辑q算

  DB层:后端数据库,向JavaE序提供数据讉K服务

  4?Java嵌入式应?

  Java嵌入式应用是一个方兴未艄领域Q从事嵌入式开发,需要从Sun下蝲J2ME开发包QJ2ME包含了嵌入式讑֤专用虚拟机KVMQ和普通的JDK中包含的JVM有所不同。另外还需要到特定的嵌入式厂商那里下蝲模拟器?


Java学习路径Q二Q书c篇

学习一门新的知识,不可能指望只看一本,或者两本书p够完全掌握。需要有一个@序渐q的阅读q程。我推荐Oreilly出版的Javapd书籍?

  在这里我只想补充一点看法,很多人学习Java是从《Thinking in Java》这本书入手的,但是我认本书是不适合初学者的。我认ؓ正确的用这本书的方法应该是作ؓ辅助的读物。《Thinking in Java》ƈ不是在完整的介绍Java的整个体p,而是一U蟩跃式的写作方法,是一U类似tips的方法来对Java很多知识点进行了深入的分析和解释?

  对于初学者来_最好是找一本Java入门的书c,但是比较完整的@序的介绍Java的语法,面向对象的特性,核心cd{等Q在看这本书的同Ӟ可以同步来看《Thinking in Java》,来加深对Java的理解和原理的运用,同时又可以完整的了解Java的整个体pR?

  对于Java的入门书c,蔡学镛推荐的是Oreilly的《Exploring Java, 2nd Edition?或者《Java in a Nutshell,2nd EditionQ针对C++背景Q》,我ƈ没有看过q两本书。其实我觉得电子工业出版C《Java 2~程详解》或者《Java 2从入门到_N》就很不错?

  在所有的Java书籍当中Q其实最最有用的,q不是O´reilly?Java SerialsQ真正最最有用处是JDK的DocumentationQ几乎你惌得的所有的知识在Documentation里面全部都有Q其中最主要的部分当然是Java基础cd的API文档Q是按照package来组l的Q对于每一个class都有详细的解释,它的l承关系Q是否实C某个接口Q通常用在哪些场合Q还可以查到它所有的public的属性和ҎQ每个属性的解释Q意义,每个Ҏ的用途,调用的参敎ͼ参数的意义,q回值的cdQ以及方法可能抛出的异常{等。可以这h_所有关于Java~程斚w的书c其实都不过是在用比较通俗易懂的语aQ和良好的组l方式来介绍Documentation里面的某个package里面包含的一些类的用法而已。所以万变不d宗,如果你有_的能力来直接通过Documentation来学习Java的类库,那么基本上就不需要看其他的书c了。除此之外,Documentation也是~程必备的手册,我的桌面上有三个Documentation的快h式,分别是J2SDK1.4.1的DocumentationQServlet2.3的Documentation和J2SDKEE1.3.1的Documentation。有了这个三个DocumentationQ什么其他的书籍都不需要了?

  对于Java Web ~程来说Q最核心的是要熟悉和掌握HTTP协议Q这个就和Java无关了,在熟悉HTTP协议之后Q就需要熟悉Java的实现HTTP协议的类库,也就是Servlet APIQ所以最重要的东西就是Servlet API。当然对于初学者而言Q直接通过Servlet API来学习Web~程有很大的隑ֺQ我推荐O´reilly的《Java Server Pages 》这本书来学习Web ~程?

 EJB的书c当中,《Enterprise Java Beans?, 2nd Edition》是一本很不错的书Q?EJB的学习门槛是比较高,入门很难Q但是这本书完全降低了学习的隑ֺQ特别重要的一ҎQEJB的学习需要结合一UApp Server的具体实玎ͼ所以在学习EJB的同Ӟ必须同步的学习某UApp ServerQ而这本书相关的出了三本书Q分别是Weblogic6.1QWebsphere4.0和JBoss3.0上面部v书中例子的实做。真是既有理论,又有实践。在学习EJB的同Ӟ可以边看边做QEJB的学习会变得很轻松?

  但是q本书也有一个问题,是版本比较旧,主要讲EJB1.1规范和部分EJB2.0的规范。而Ed Roman写的《Mastering EJB 2.0》这本书完全是根据EJB2.0规范写的Q深入浅出,覆盖了EJB~程的各个方面,q且q有很多~程l验tipsQ也是学习EJB非常推荐的书c之一?

  如果是结合Weblogic来学习J2EE的话Q《J2EE应用与BEA Weblogic Server》绝Ҏ首选读物,虽然是讲q的Weblogic6.0Q仍然值得购买Q这本书是BEA官方推荐的教材,作者也是BEA公司的工E师。现在中文版已经随处可见了。这本书l合Weblogic介绍了J2EE各个斚w的技术在Weblogicq_上的开发和部vQ实跉|导意义非常强?

  在掌握了Javaq_基础知识和J2EE斚w的知识以后,更进一步的是学习如何运用OO的方法进行Y件的设计Q那么就一定要学习“设计模式”。Sun公司出版了一本《J2EE核心模式》,是每个开发Java企业q_软g的架构师必备的书c。这本书全面的介l了J2EE体系架构的各U设计模式,是设计师的必Mc?


Java学习路径Q三Q过E篇

每个人的学习Ҏ是不同的Q一个h的方法不见得适合另一个hQ我只能是谈自己的学习方法。因为我学习Java是完全自学的Q从来没有问q别人,所以学习的q程基本上完全是自己摸烦出来的。我也不知道q种Ҏ是否是比较好的方法,只能l大家提供一点参考了?

  学习Java的第一步是安装好JDKQ写一个Hello WorldQ?其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰JavaE序员的地方Q一个是CLASSPATH的问题,其实从原理上来说Q是要搞清楚JRE的ClassLoader是如何加载Class的;另一个问题是package和import问题Q如何来Lcȝ路径问题。把q两个问题摸索清楚了Q就扫除了学习Java和用JDK的最大障。推荐看一下王的《Java深度历险》,对这两个问题q行了深入的探讨?
  W二步是学习Java的语法。Java的语法是cC++的,基本上主的~程语言不是cCQ就是类C++的,没有什么新东西Q所以语法的学习Q大概就是半天的旉_了。唯一需要注意的是有几个不容易搞清楚的关键字的用法,publicQprotectedQprivateQstaticQ什么时候用Qؓ什么要用,怎么用,q可能需要有人来指点一下,我当初是完全自己琢磨出来的,׃很久的时间。不q后来我看到《Thinking in Java》这本书上面是讲了这些概늚?

  W三步是学习Java的面向对象的~程语言的特性的地方。比如承,构造器Q抽象类Q接口,Ҏ的多态,重蝲Q覆盖,Java的异常处理机制。对于一个没有面向对象语a背景的h来说Q我觉得q个q程需要花很长很长旉Q因为学习Java之前没有C++的经验,只有C的经验,我是大概׃一个月左右吧,才彻底把q些概念都搞清楚Q把书上面的例子反复的揣摩,修改Q尝试,把那几章内容反复的看q来Q看q去Q看了不?遍,才彻底领悟了。不q我惛_果有C++l验的话Q应该一两天旉_了。那么在q个q程中,可以多看看《Thinking in Java》这本书Q对面向对象的讲解非帔R彻。可惜的是我学习的时候,q没有看到这本书Q所以自p了大量的旉Q通过自己的尝试和揣摩来学会的?

  W四步就是开始熟悉Java的类库。Java的基cd其实是JDK安装目录下面jre\lib\rt.jarq个包。学习基cd是学习rt.jar。基cd里面的类非常非常多。据说有3000多个Q我没有l计q。但是真正对于我们来说最核心的只?个,分别?

  java.lang.*;

  java.io.*;

  java.util.*;

  java.sql.*;

  q四个包的学习,每个包的学习都可以写成一本厚厚的教材Q而O´reilly也确实是q样做的。我觉得如果旉比较紧,是不可能通过d本书来学习。我觉得比较好的学习Ҏ是这LQ?

  首先要通读整个package的框Ӟ了解整个package的classQinterfaceQexception的构成,最好是能够扑ֈ介绍整个包框架的文章。这些专门介l包的书c的前几章应该就是这些M的框架内容介l?

  对包整体框架的把握ƈ不是要熟悉每个类的用法,C它有哪些属性,Ҏ。想CC住的。而是要知道包有哪些方面的cL成的Q这些类的用途是什么,最核心的几个类分别是完成什么功能的。我在给人培训的时候一般是一ơ课讲一个包Q所以不可能详细的介l每个类的用法,但是我反复强调,我给你们讲这些包的不是要告诉你们cȝҎ是怎么调用的,也不要求你们CcȝҎ调用Q而是要你们了解,Javal我们提供了哪些c,每个cL用在什么场合,当我遇到问题的时候,我知道哪个类Q或者哪几个cȝl合可以解决我的问题QThat´allQ,当我们具体写E序的时候,只要你知道该用哪个类来完成你的工作就_了。编码的时候,具体的方法调用,是边写代码,ҎDocumentationQ所有的东西都在Documentation里面Q不要求你一定记住,实际你也C?000多个cȝd近10万个Ҏ调用。所以对每个包的M框架的把握就变得极ؓ重要?

  W五步,通过上面的学习,如果学的比较扎实的话Q就打好了Java的基了,剩下要做的工作是扫清Documentation里面除了上面4个包之外的其他一些比较有用处的类。相信进展到q一步,Java的自学能力已l被培养出来了,可以C直接学习Documentation的水q了。除了要做GUI~程之外QJDK里面其他会有用处的包是这些:

  java.text.*;

  java.net.*;

  javax.naming.*;

  q些包里面真正用的比较多的类其实很少Q只有几个,所以不需要花很多旉?

  W六步,Java Web ~程

  Web~程的核心是HTTP协议QHTTP协议和Java无关Q如果不熟悉HTTP协议的话Q虽然也可以学好Servlet/JSP~程Q但是达不到举一反三Q一通百通的境界。所以HTTP协议的学习是必备的。如果熟悉了HTTP协议的话Q又有了Java~程的良好的基础Q学习Servlet/JSP直易如反掌,我学习Servlet/JSPq了不C周的旉Q然后就开始用JSP来做目了?

  在Servlet/JSP的学习中Q重头仍然是Servlet Documentation。Servlet API最常用的类很少Q花比较的旉可以掌握了。把q些c都看一遍,多写几个例子试试。Servlet/JSP~程本质是在反复调用这些类来通过HTTP协议在Web Server和Brower之间交谈。另外对JSPQ还需要熟悉几个常用JSP的标讎ͼ具体的写法记不住的话Q时查是了?

  此外Java Web~程学习的重点要攑֜Web Application的设计模式上Q如何进行业务逻辑的分析,q且q行合理的设计,按照MVC设计模式的要求,q用Servlet和JSP分别完成不同的逻辑层,掌握如何在Servlet和JSP之间q行程的控制和数据的共享,以及Web Application应该如何配置和部|Ӏ?

  W七步,J2EE~程

  以上的学习过E如果是比较利的话Q进行到q一步,隑ֺ又陡然提高。因Z面的知识内容都是只涉及一个方面,而像EJBQJMSQJTA{核心的J2EE规范往往是几UJava技术的l合q用的结Ӟ所以掌握v来难度比较大?

  首先一定要学习好JNDIQJNDI是App Server定位服务器资源(EJBlgQDatasouceQJMSQ查找方法,如果对JNDI不熟悉的话,EJBQJMSq些东西几乎学不下去。JNDI其实是javax.naming.*q个包,q用h很简单。难点在于服务器资源文g的配|。对于服务器资源文g的配|,需要看看专门的文档规范了,比如web.xml的写法,ejb-jar.xml的写法等{。针ҎU不同的App ServerQ还有自q服务资源配置文gQ也是需要熟悉的?

  然后可以学习JTAQ主要是要理解JTA对于事务的控制的ҎQ以及该在什么场合用JTA。这里可以简单的举个例子Q我们知道一般情况可以对于一个数据库q接q行事务控制(conn.setAutoCommit(false),....,conn.commit())Q做Z个原?作,但是假设我的业务需求是要把对两个不同数据库?作做Z个原?作,你能做的到吗Q这时候只能用JTA了。假?作过E是先往A数据库插一条记录,然后删除B数据库另一个记录,我们自己写代码是控制不了把整?作做Z个原?作的。用JTA的话Q由App Server来完成控制?

  在学习EJB之前要学习对象序列化和RMIQRMI是EJB的基。接着学习JMS和EJBQ对于EJB来说Q最关键是要理解EJB是如何通过RMI来实现对q端对象的调用的Q以及在什么情况下要用到EJB?

  在学习完EJBQJMSq些东西之后Q你可能会意识到要急不可待学习两个领域的知识,一个是UMLQ另一个是Design Pattern。Java企业软g的设计非帔R视框?Framework)的设计,一个好的Y件框架是软g开发成功的必要条g。在q个时候,应该开始把学习的重Ҏ在设计模式和框架的学习上Q通过学习和实际的~程l验来掌握EJB的设计模式和J2EE的核心模式?

  J2EE规范里面Q除了EJBQJMSQJTAQServlet/JSPQJDBC之外q有很多很多的企业技术,q里不一一q行介绍了?

  另外q有一个最新领域Web Services。Web Services也完全没有Q何新东西Q它像是一U黏合剂Q可以把不同的服务统一h提供一个统一的调用接口,作ؓ使用者来_我只要获得服务提供者给我的WSDLQ对服务的描qͼQ就够了Q我完全不知道服务器提供者提供的服务I竟是EJBlgQ还?NetlgQ还是什么CORBAlgQ还是其他的什么实玎ͼ我也不需要知道。Web Services最伟大的地方就在于通过l一的服务提供方式和调用方式Q实C整个Internet服务的共享,是一个非o人激动的技术领域。Web Services好像目前q没有什么很好的书籍Q但是可以通过在网l上面查资料的方式来学习?


zool 2005-04-19 19:01 发表评论
]]>
Java新手上\大全(问问题之前请先看)http://m.tkk7.com/zool/archive/2005/04/19/3482.htmlzoolzoolTue, 19 Apr 2005 10:01:00 GMThttp://m.tkk7.com/zool/archive/2005/04/19/3482.htmlhttp://m.tkk7.com/zool/comments/3482.htmlhttp://m.tkk7.com/zool/archive/2005/04/19/3482.html#Feedback0http://m.tkk7.com/zool/comments/commentRss/3482.htmlhttp://m.tkk7.com/zool/services/trackbacks/3482.htmlHelloworld功略
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=84

path和classpath
1.什么是java的path和classpath?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=904
2.如何一ơ把一个目录下的所?jar加入到classpath?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=905
3.classspath 的默认值是什?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=906
4.怎样扑ֈE序q行需要的c?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=907
5. Linux下Path和ClassPath是怎么讄?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=908
6.如何修改path和classpath?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=909

java的帮助和api文档
1.什么是java的api参?
api是html格式的从sun的网站上可以扑ֈ一个包
包括api的参考和user guide,本站有做?chm格式的便于查找?BR>api参考是用jdk的工具javadoc 生成的是开发者必备的文档?BR>2.哪里有JAVA基本cd的源代码?
jdk的安装目录下有源码src.zip
3.java web start 是干什么用?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=911

开发环?/FONT>
1.jre下的lib和jdk下的lib到底有什么区别?
jre是JDK的一个子集。提供一个运行环境。JDK的lib目录是给JDK用的Q例如JDK下有一些工P可能要用该目录中的文件。例如,~译器等。JRE的lib目录是ؓJVMQ运行时候用的。包括所有的标准c苦Q和扩展c?BR>2.我的jbuilder光标对不?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=913
3.JDK版本冲突怎么?
要决定windows使用哪一个JDKQwin2000Q,Ҏ册表Q?BR>HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\CurrentVersion
的|要决定JBuilder使用哪个JDK在project properties中可以设|?BR>4.editplus能够~译java? 如何讄?
    先要JAVA的运行环境安装ƈ且调试好?BR>    首先Q从菜单“工PToolsQ?>“配|用户工?..”进入用户工兯|?BR>    在类别里展开“工具”树形菜?>“用户工具”,选择“组和工具项目”中的“Group 1”,点击面板双的“组名称...”按钮,文本“Group1”修Ҏ“编译JAVAE序”?BR>    然后选择修改的组“编译JAVAE序”,点击“添加新工具”按钮,选择E序Q徏立“新建程序”,选中它?BR>    然后是最重要的步骤(修改属性)Q?BR>    1.1 d~译功能 
    “菜单文字”里的内容修改ؓ“JAVAC”;
    “命令”选择安装JDK后的BIN目录中的~译E序JAVAC.EXEQ如果JDK 安装路径为“c:\jdk”,那么此\径ؓ“c:\jdk\bin\javac.exe”;
    “参数”选择“文件名U”,xCZؓ?(FileName)”;
    “初始目录”选择“文件目录”,昄为?(FileDir)”;
    选择“捕莯出”复选框?BR>    1.2 d执行功能
    “菜单文字”里的内容修改ؓ“JAVA”;
    “命令”选择安装JDK后的BIN目录中的~译E序JAVA.EXEQ\径ؓ“c:\jdk\bin\java.exe”;
    “参数”选择“文件名Q不含扩展名Q”,xCZؓ?(FileNameNoExt)”;
    “初始目录”选择“文件目录”,昄为?(FileDir)”;
    选择“捕莯出”复选框?BR>    q样完成了基本的配|工?BR>
基础概念
1.public,private,protect的访问机?BR>

http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=914
2.Java中如何定义一个常量?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=915
3.异常的throw和throws有什么区?BR>throw是在E序中抛出异常,而throws是在Ҏ的声明中声明抛出异常
4.upcasting是什么意?BR>upcasting是上溯.也就是说把一个子cd作它的父cȝ?比如:Ҏ法void do(Object obj){...},你可以把M对象作ؓ参数来调?

~译q行
1.怎么把多?java源文件编译成一?class?
java -d . a.java b.java
2. depreciated API 是什么意?
java发展太快,所以你应该可能用最新的api,但是老的apiq是兼容?所以回waning 你deprecated api
3.怎么L译一个目录下的所有java文gQ?BR>ant或者jbuilder,或者自己写脚本.
4.如何让执行程序时不会出现dosH口?
javaw
5.如何q行jar文g?
java -jar ***.jar
6.如何LJAVA的内存限?BR>?nbsp;-Xmx参数来设|maximum Java heap size,? java -Xms10M MyClass
7.什么是Javah~译?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=916
8.如何Java应用E序本地~译为EXE?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=917
9.jar命o?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=918

数据cd与{?/FONT>
1.int、char、double与byte如何怺转换?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=919
2.int与byte array之间的{换程?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=920
3.string和int之间的{?
a1=Integer.parseInt(s1);
s1=Integer.toString(a1);
4.java如何获得随机整数?
首先利用random()获得一个随机QҎQ然后乘以你希望得到的整?BR>的最大|最后对得到的结果取整?BR>5.怎么把Stringcd转换?6q制的整?
 public static void main(String args[]){
        String x = "0x300C8";
        int y = Integer.decode(x).intvalue();
        System.out.println(y);
    }
6.int和java.lang.Integer有和区别?
int是数据类型,Integer是类Integer的功能更强,可以整数{换ؓ点数运,在javaq种强类型语a中是很有用的。可以利用Integer的构造函数Integer(int)来对一个整数徏立对象。类似的c还有Float,Short,Long{等

数据l构
1.如何实现二维向量?
Vector vector1=new Vector();
Vector vector2=new Vector();
...
..
HashTable numbers=new HashTable();
numbers.put("vector1",vector1);
numbers.put("vector2",vector2);
2. JAVA中怎么得到现在的系l时?
比如,当前date,Date today=new Date(System.currentTimeMillis());
3.如何java.util.Date转化为java.sql.Date?
转化Q?BR> 
java.sql.Date sd;
java.util.Date ud;
//initialize the ud such as ud = new java.util.Date();
 
sd = new java.sql.Date(ud.getTime());
 
如果要插入到数据库ƈ且相应的字段为Datecd
那么可以用PreparedStatement.setDate(int ,java.sql.Date)Ҏ
其中的java.sql.Date可以用上面的Ҏ得到
 
也可以用数据库提供TO_DATE函数
比如 现有 ud
TO_DATE(new SimpleDateFormat().format(ud,"yyyy-MM-dd HH:mm:ss"),
"YYYY-MM-DD HH24:MI:SS")
注意java中表C格式和数据库提供的格式的不?BR>
pȝ相关
1.在JAVA中如何启动一个程?
String strCommand;
String cmd = "cmd";
if (! System.getProperty("os.name").equals("Windows NT")) cmd = "command";
cmd = cmd + " /c " + strCommand;
try {
        Runtime.getRuntime().exec(cmd);
}
catch (IOException ex) {
}
 
strCommand 为命令串QDOS 底下怎么用,q儿可以怎么?BR>2.如何得到应用E序的\?BR>Properties System.getProperties()里面?BR>3.如何得到当前pȝ旉?
   1.SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd");
      String time=formatter.format(new Date());
    2.Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
         month=..cL


输入输出
1.是否可以用纯JAVA ~写E序来访问串?
Sun提供了一个叫javax.comm的package,专门用来对serial portq行操作.
2.writeutf和write的区?BR>
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=921
3.如何利用FileWriter在文本中换行Q?BR>\r\n

|络相关
1.如何让我的程序通过proxy讉K外部|络?
System.setProperty("java.proxyHost","your proxy here"); 

本地相关
1.如何调用本地的dllQ?BR>  jni
2.如何用java~写扫描仪程序?
http://www.matrix.org.cn/forum_view.asp?forum_id=19&view_id=2741


zool 2005-04-19 18:01 发表评论
]]>
JAVA初学[zoolW记整理](1)http://m.tkk7.com/zool/archive/2005/04/19/3480.htmlzoolzoolTue, 19 Apr 2005 09:49:00 GMThttp://m.tkk7.com/zool/archive/2005/04/19/3480.htmlhttp://m.tkk7.com/zool/comments/3480.htmlhttp://m.tkk7.com/zool/archive/2005/04/19/3480.html#Feedback2http://m.tkk7.com/zool/comments/commentRss/3480.htmlhttp://m.tkk7.com/zool/services/trackbacks/3480.html几个概念:
1.IDE :JAVA~译?知道的有eclipse   ,JCreator Pro .
2.J2EE :J2EE全称为Java2 Platform, Enterprise Edition。J2EEq_本质上是一个分布式的服务器应用E序设计环境,用来建立电子商务E序.
3.java web start 的作?是随时q接|络更新你的JAVA版本.



zool 2005-04-19 17:49 发表评论
]]>
JAVA基础--技术文章列?/title><link>http://m.tkk7.com/zool/archive/2005/04/19/3452.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 19 Apr 2005 03:46:00 GMT</pubDate><guid>http://m.tkk7.com/zool/archive/2005/04/19/3452.html</guid><wfw:comment>http://m.tkk7.com/zool/comments/3452.html</wfw:comment><comments>http://m.tkk7.com/zool/archive/2005/04/19/3452.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/zool/comments/commentRss/3452.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/zool/services/trackbacks/3452.html</trackback:ping><description><![CDATA[     摘要: JAVA基础--技术文章列? L?分栏?文章标题 文章发布旉 JAVA技?JAVA基础 全面了解jar问题 2005-01-19 JAVA技?JAVA基础 Java学习路径Q一Q工L 2005-01-19 JAVA技?JAVA基础 HelloWorld ȝ 2005-01-19 JAVA技?...  <a href='http://m.tkk7.com/zool/archive/2005/04/19/3452.html'>阅读全文</a><img src ="http://m.tkk7.com/zool/aggbug/3452.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/zool/" target="_blank">zool</a> 2005-04-19 11:46 <a href="http://m.tkk7.com/zool/archive/2005/04/19/3452.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java,FAQhttp://m.tkk7.com/zool/archive/2005/04/19/3451.htmlzoolzoolTue, 19 Apr 2005 03:42:00 GMThttp://m.tkk7.com/zool/archive/2005/04/19/3451.htmlhttp://m.tkk7.com/zool/comments/3451.htmlhttp://m.tkk7.com/zool/archive/2005/04/19/3451.html#Feedback0http://m.tkk7.com/zool/comments/commentRss/3451.htmlhttp://m.tkk7.com/zool/services/trackbacks/3451.html1、下载和安装J2SDK    http://java.sun.com/j2se/1.4.1/download.html
2  JAVA VM            http://www.java.com/en/index.jsp
3  API                http://java.sun.com/api/index.html
1 首先下蝲J2SDK安装  
  a  更新PATH环境变量
        Z能在M目录下都能执行java命oQ如javac、java?{)Q需要将java的bin目录攑օPATH?nbsp;     境变量中?对于Windows95/98, 打开“开始”菜单、选择“运行”、输入命令syseditQ调用系l配|编      辑程序)Q在C:\AUTOEXEC.BATH口中找到PATH讄q追加一(c:\jdk1.3.1_01\binQ对于Windows NT       and Windows 2000 Q进入“开始”菜单,选择“设|?控制面板/pȝ”。对于Windows NT,选择“环境?nbsp;   ,对于Windows 2000Q选择“高U”页Q在环境变量讄中的用户变量栏中增加Q如果原来没有PATHQ?nbsp;   或修改PATH环境变量Q其包含c:\jdk1.3.1_01\bin路径?BR>  b   更新CLASSPATH环境变量
         Z使系l能扑ֈ用户定义的类Q需要将用户cL在的目录Q通常是当前目录即?. 加入?nbsp;   classpath中)攑օCLASSPATH变量中。具体更Ҏ法同PATH修改q程Q只是要扑ֈ CLASSPATH环境           变量q行修改?BR>       jdk Win2000下的环境变量讄
       http://www.chinajavaworld.net/forum/top...m=20&topic=7045>http://www.chinajavaworld.net/forum/top...m=20&topic=7045
c    认pȝ安装
          在DOS提示W下Q输入set命o可以查看PATH和CLASSPATH的设|是否成?Q?如果?8者需q行        AUTOEXEC.BAT才能使修改的讄生效 如果?000需把dos关闭重新q行 Q?BR>2 然后q行你的W一个javaE序
   写个cM存ؓ.java文g  一定记得如果是用记事本~辑器的?保存时要选择保存cd为所有类型然后文件名字和你的cd字要一模一?nbsp; 或者也可以把类?java加上引号可以避免保存ؓ.java.txt的类型了

3 常见错误处理
  如果q行javac命o时出现can not read xxx.java 首先看看你的文g是否保存?java.txt的类型了Q右Ҏ件看属性里的扩张名Q?nbsp; 重新保存 记得此时要把文g?java加上引号 保存   ?nbsp; 若运行java命o时提Cexception in thread  "main" java.lang.NoClassDefFoundErroe:的异?nbsp; 说明你的classpath里没有加?.  

??常见错误

1   can not read xxx.java
   首先看看你的文g是否保存?java.txt的类型了Q右Ҏ件看属性里的扩张名Q?nbsp; 重新保存 记得此时要把文g?java加上引号 保存   ?nbsp;   

2   exception in thread  "main" java.lang.NoClassDefFoundErroe:
   说明你的classpath里没有加?.
   http://www.chinajavaworld.net/forum/top...m=20&topic=7233

3   "=="?equals()"的区别在哪里Q?BR>   http://www.chinajavaworld.net/forum/top...ic=16630&show=0

4   StringBuffer s1 = new StringBuffer("a");
   StringBuffer s2 = new StringBuffer("a");
   s1.equals(s2)//Z么是false
   String s1 = new String("a");
   String s2 = new String("a");
   s1.equals(s2)//Z么是true

   http://www.chinajavaworld.net/forum/top...=20&topic=14935
   String,和StringBuffer区别
   http://www.chinajavaworld.net/forum/top...m=20&topic=7007

5   Java Web Start是什么?
   http://www.chinajavaworld.net/forum/top...=20&topic=15868

6   trim()函数的用?BR>   http://www.chinajavaworld.net/forum/top...=20&topic=10515

7   怎么提取pȝ旉?  
   http://www.chinajavaworld.net/forum/top...um=20&topic=734

8   怎样让窗口始l在?BR>   http://www.chinajavaworld.net/forum/top...=20&topic=16587

9   日期的显C格式化
   http://www.chinajavaworld.net/forum/top...=20&topic=16750
  
   公历和阴历怎样转换Q?Q?Q?Q?Q  
   http://www.chinajavaworld.net/forum/top...m=20&topic=7101
10  静态和非静态的嵌套cL什么区别?
   http://www.chinajavaworld.net/forum/top...m=20&topic=4721

11  怎样判断输入的东东是字符q是数字?  
   http://www.chinajavaworld.net/forum/top...m=20&topic=4687

12  finalize()和System.gc()区别
   http://www.chinajavaworld.net/forum/top...m=20&topic=4656

13  怎么键盘上输? ?竟印?0 ???  System.in.read()用法
   http://www.chinajavaworld.net/forum/top...m=20&topic=4605

15  cȝ多态  
   http://www.chinajavaworld.net/forum/top...m=20&topic=4737

16  如果一个程序包含了多个.java文gQ而且他们是互相关联的Q?BR>   现在要编译他们,该怎么办!
   http://www.chinajavaworld.net/forum/top...m=20&topic=5000

17  接口与类的讨?BR>   http://www.chinajavaworld.net/forum/top...m=20&topic=5007

18  关于汉字是怎么转成代码的?  
   http://www.chinajavaworld.net/forum/top...m=20&topic=4991

19  可不可以把JTextArea的内容一行一行读处来?  
   http://www.chinajavaworld.net/forum/top...m=20&topic=4785

20  两个日期的字W串怎么相加?BR>   http://www.chinajavaworld.net/forum/top...m=20&topic=4812

21  "this"的功能和用处是什么?  
   http://www.chinajavaworld.net/forum/top...m=20&topic=4780

22  关于多态性和多l承的问题  
   http://www.chinajavaworld.net/forum/top...m=20&topic=4772
   http://www.chinajavaworld.net/forum/top...m=20&topic=7154

23  什么是面向对象的设计思想Q?BR>   http://www.chinajavaworld.net/forum/top...m=20&topic=7069

24  关于java内在cȝ一个问?BR>   http://www.chinajavaworld.net/forum/top...um=20&topic=712

25  如何取得本机的IP
   http://www.chinajavaworld.net/forum/top...m=20&topic=7151

26  throw和throws有什么区别呀Q?BR>   http://www.chinajavaworld.net/forum/top...m=20&topic=7005

27  在java中Z么要引入抽象c这个问题?Q?BR>   他的作用是什么,
   有哪些优点?Q?BR>   http://www.chinajavaworld.net/forum/top...um=20&topic=160

28  final,private定义变量时表CZ么意?BR>   http://www.chinajavaworld.net/forum/top...m=20&topic=7042

29  java修饰W与字符输出的问?BR>   http://www.chinajavaworld.net/forum/top...m=20&topic=7054


30  什么是匿名c?
   http://www.chinajavaworld.net/forum/top...m=20&topic=7070

31  请问怎么样在一个APPLICATION 中运行硬盘上的另外一个可执行文g呢?
   http://www.chinajavaworld.net/forum/top...m=20&topic=7066

32  如何取今天日???我想得到q样的格?yyyy-mm--dd该怎么作?Q?
   http://www.chinajavaworld.net/forum/top...m=20&topic=7081

33  十六q制如何转化为十q制Q?BR>   http://www.chinajavaworld.net/forum/top...m=20&topic=7079

34  怎样生成  .jar文gQ?
  http://www.chinajavaworld.net/forum/top...m=20&topic=7073

35  Final 是否可以l承覆盖
http://www.chinajavaworld.net/forum/top...ic=25880&show=0


zool 2005-04-19 11:42 发表评论
]]>
javal典{疑(?http://m.tkk7.com/zool/archive/2005/04/19/3447.htmlzoolzoolTue, 19 Apr 2005 03:16:00 GMThttp://m.tkk7.com/zool/archive/2005/04/19/3447.htmlhttp://m.tkk7.com/zool/comments/3447.htmlhttp://m.tkk7.com/zool/archive/2005/04/19/3447.html#Feedback0http://m.tkk7.com/zool/comments/commentRss/3447.htmlhttp://m.tkk7.com/zool/services/trackbacks/3447.htmlQ1.1 什么是Java、Java2、JDKQJDK后面?.3?.4版本号又是怎么回事Q?BR>{:Java是一U通用的,q发的,强类型的Q面向对象的~程语言Q摘自Java规范W二?BR>Q?BR>JDK是Sun公司分发的免费Java开发工具包Q正式名UCؓJ2SDK(Java2 Software Develop K
it)?BR>包括基本的java工具包和标准cd?BR>到目?2003q??为止QJava?个主要版本,?.0Q?.1Q?.0Q?BR>JDK?.0Q?.1Q?.2Q?.3Q?.4五个版本?BR>从JDK1.2PSun公司觉得Java改变_大而将java语言版本h升ؓ2.0?BR>不同的JDK主要在于提供的类库不同。作为学习你可以下蝲最新的JDK1.4.2?BR>真正开发时则应考虑向前兼容Q比?.3。下载请?/FONT>http://java.sun.com?BR>JDK1.5预计在2004q推出,届时其中包含若q崭新的Ҏ?/FONT>

Q1.2 什么是JRE/J2REQ?BR>{:J2RE是Java2 Runtime EnvironmentQ即Javaq行环境Q有时简UJRE?BR>如果你只需要运行JavaE序或AppletQ下载ƈ安装它即可?BR>如果你要自行开发Java软gQ请下蝲JDK。在JDK中附带有JRE?BR>注意׃Microsoft对Java的支持不完全Q请不要使用IE自带的虚拟机来运行AppletQ务?BR>安装一个JRE或JDK?/FONT>

Q1.3 学习Java用什么工h较好Q?BR>{:作者徏议首先用JDK+文本~辑器,q有助你理解下列几个基础概念QpathQclassp
athQpackage
q熟悉基本命令:javac和java。ƈ且下载和你的JDK版本一致的API帮助?BR>如果你不定cL函数的用法,请先查阅API而不是发贴求助?BR>当你熟悉Java之后Q你可以考虑开始用一个IDE?BR>作者推荐eclipseQ下载网址
http://www.eclipse.org。因为eclispe是免费的Q插件化?BR>?BR>eclispe的主要缺Ҏ~Z一个可视化的桌面程序开发工P
q运的是IBM?003q?1月已l将部分代码捐给eclipsel织Q可以预计这个缺点很快就?BR>得到弥补?BR>无论如何Q请不要使用Microsoft的VJ++Q众所周知Microsoft从来没有认真支持过Java
?BR>最后但q最不重要,要有一本好的参考书Qƈ且英文要q关?/FONT>

Q1.4  学习Java有哪些好的参考书Q?BR>{:作者首先推荐Thinking in JavaQ中文名《Java~程思想》,有中文版?BR>目前的最新版本是W三版?BR>?/FONT>http://64.78.49.204可以免费下蝲英文版?BR>该书W一章介l了很多面向对象的编E思想Q作为新手应当认真阅诅R?BR>除此以外QO'relly出版C֒Wrox出版C书也不错。作者本Z喜欢大陆作者的书?BR>也许你觉得英文太难,但是|上大多数资料都是英文的。另外,你需要经常查阅APIQ而那
也是英文的?/FONT>

Q1.5  Java和C++哪个更好Q?BR>{:q个问题是一个很不恰当的问题。你应该问:Java和C++哪个更适用于我的项目?
Java的优点和~点一h显?BR>跨^台是Java的主要优点,但代hq行速度的下降?BR>VC和Windowsq_有良好的集成和够快的速度Q但是也只能局限在Windowsq_上?BR>和C++相比QJava学v来更快,开发h员不会碰到很多容易出错的Ҏ?BR>但是VBE序员甚臛_需要拼装模块就可以了?/FONT>

Q1.6  什么是J2SE/J2EE/J2MEQ?BR>{:J2SE是一般的Java?BR>J2ME是针对嵌入式讑֤的,比如支持Java的手机,它有自己的JRE和SDK?BR>J2EE是一l用于企业E序开发的规范和类库,它用J2SE的JRE?BR>Q2.1  我写了第一个JavaE序Q应该如何编?q行Q?BR>{:首先请将E序保存为xxx.java文gQ注意你可能需要修Ҏ件后~名?BR>然后在dosH口下用javac xxx.java命oQ你会发现该目录下多了一个xxx.class文gQ?/FONT>

再用java xxx命oQ你的javaE序开始运行了?/FONT>

Q2.2  我照你说的做了,但是出现什么?javac' 不是内部或外部命令,也不是可q行?BR>E序或批处理文g。”?BR>{:你遇Cpath问题。操作系l在一定的范围(path)内搜索javac.exeQ但是没能找到?/FONT>

L辑你的操作系l环境变量,新增一个JAVA_HOME变量Q设ZJDK的安装目录,
再编辑Path变量Q加上一?%JAVA_HOME%\bin?BR>然后保存q新开一个dosH口Q你可以用javac和java命o了?/FONT>

Q2.3  环境变量怎么讄Q?BR>{:请向w边会设的h咨询?/FONT>

Q2.4  我在javac xxx.java的时候显CZ么“unreported exception java.io.IOExcepti
on;”?BR>{:参见Q4.8以了解java中的异常机制?/FONT>

Q2.5  javac xxx.java利通过了,但是java xxx的时候显CZ么“NoClassDefFoundErr
or”?BR>{:1. 你遇Cclasspath问题。java命o在一定的范围(classpath)内搜索你直接或间?BR>使用的class文gQ但是未能找到?BR>首先L认你没有错敲成java xxx.classQ?BR>其次Q检查你的CLASSPATH环境变量Q其实你q不需要设|该变量Q?BR>但如果你讄了该变量又没有包?Q代表当前目录)的项Q?BR>你就会遇到这个问题。请在你的CLASSPATH环境变量中加入一? 或干脆删掉这个变量?/FONT>

2. 如果你用了qJDK自带的标准包Q比如javax.servlet.*包,也会遇到q个问题Q请
相应的jar文g加入classpath?BR>3. 如果你在java源文件中定义了packageQ请参见Q2.11?/FONT>


Q2.6  我在java xxx的时候显C“Exception in thread "main" java.lang.NoSuchMetho
dError: main”?BR>{:首先Q在你的E序中每个java文g有且只能有一个publicc,
q个cȝcd必须和文件名的大写完全一栗?BR>其次Q在你要q行的类中有且只能有一个public static void main(String[] args)Ҏ
Q?BR>q个Ҏ是你的ȝ序?/FONT>


Q2.7  在java xxx的时候显C“Exception in thread "main" java.lang.NullPointerEx
ception”?BR>{:在程序中你试囑֜gؓnull的对象变量上调用ҎQ请查你的程序确保你的对象被恰当的初始化?BR>参见Q4.8以了解java中的异常机制?/FONT>


Q2.8 package是什么意思?怎么用?
{:Z唯一标识每个cdƈ分组Qjava使用了package的概c?BR>每个c都有一个全名,例如String的全名是java.lang.StringQ其中java.lang是包名,S
tring是短名。按照java命名惯例Q包名是全部写的,而类名的W一个字母是大写的?BR>q样Q如果你自行定义了同样名字的cStringQ你可以把它攑֜mypackage中,
通过使用全名mypackage.String和java.lang.String来区分这两个cR?BR>同时Q将逻辑上相关的cL在同一个包中,可以使程序结构更为清楚?BR>Z定义包,你要做的是在java文g开头加一行“package mypackage;”?BR>注意包没有嵌套或包含关系Qmypackage包和mypackage.mysubpackage包对JRE来说是ƈ列的两个包(虽然开发者可
能暗C包含关p)?/FONT>

Q2.9 我没有声明Q何package会怎么P
{:你的c被认ؓ攑֜默认包中。这时全名和短名是一致的?/FONT>

Q2.10 在一个类中怎么使用其他c?
{:如果你用java.lang包或者默认包中的c,不用做Q何事?BR>如果你的cM于mypackage包中Qƈ且要调用同一包中的其他类Q也不用做Q何事?BR>如果你用其他包中的c,在package声明之后Q类声明之前使用import otherpackage1.Class
1; ?import otherpackage2.*; 
q里.*表示引入q个包中的所有类。然后在E序中你可以使用其他cȝ短名?BR>如果短名间有重名冲突Q必M用全名来区分?BR>注意在用其他包中的cLQ你只能使用public的类和接口,参见Q5.4?/FONT>

Q2.11 我用了package的时候显C?NoClassDefFoundError"Q但是我把所有packageL?BR>时候能正常q行?BR>{:你的java文g按包名组l存放?BR>比如你的工作目录?workQ你的类是package1.Class1Q那么将它存放ؓ/work/package1
/Class1.java?BR>如果没有声明包,那么直接攑֜/work下?BR>?work下执行javac package1/class1.javaQ再执行java package1.class1Q你会发C
切正常?BR>另外Q如果你的类的个数已l多C你需要用包来组l的话,你可以考虑开始用IDE?/FONT>

Q2.12 我想把java~译成exe文gQ该怎么做?
{:JDK只能java源文件编译ؓclass文g?BR>class文g是一U跨q_的字节码Q必M赖^台相关的JRE来运行。Java以此来实现跨q?BR>台性?BR>有些开发工具可以将java文g~译为exe文g。作者反对这U做法,因ؓq样取消了跨^
台性?BR>如果你确信你的Y件只在Windowsq_上运行,你可以考虑使用C++/C#来编E?/FONT>

Q2.13 我在~译的时候遇C?deprecated API"Q是什么意思?
{:所谓deprecated是指已经q时Q但是ؓ了向前兼容v见仍然保留的Ҏ?BR>q些Ҏ可能会在以后取消支持。你应当改用较新的方法?BR>在API里面会说明你应当用什么方法来代替之?BR>

Q3.1 我怎么ljavaE序加启动参敎ͼ像dir /p/w那样Q?BR>{:q记得public static void main(String[] args)吗?q里的args是你的启动参数
?BR>在运行时你输入java package1.class1 arg1 arg2Qargs中就会有两个StringQ第一个是
arg1Q第二个是arg2?/FONT>

Q3.2 我怎么从键盘输入一个int/double/字符Ԍ
{:java的I/O操作比C++要复杂一炏V如果要从键盘输入,样例代码如下Q?BR>BufferedReader cin = new BufferedReader( new InputStreamReader( System.in ) );

String s = cin.readLine();
q样你就获得了一个字W串Q如果你需要数字的话再使用Q?BR>int n = Integer.parseInt( s ); 或?double d = Double.parseDouble( s );
来将字符?534"转换成int或double?/FONT>

Q3.3 我怎么输出一个int/double/字符Ԍ
{:使用System.out.println(n)或者System.out.println("Hello"){等?/FONT>

Q3.4 我发现有些书上直接用System.in输入Q比你要单得多?BR>{:java使用unicodeQ是双字节。而System.in是单字节的stream?BR>如果你要输入双字节文字比如中文,请用作者的做法?/FONT>

Q3.5 我怎么从文件输?输出一个int/double/字符Ԍ
{:cM于从键盘输入Q只不过换成
BufferedReader fin = new BufferedReader( new FileReader(" myFileName " ) );
PrintWriter fout = new PrintWriter( new FileWriter(" myFileName " ) );
另外如果你还没下载APIQ请开始下载ƈ阅读java.io包中的内宏V?/FONT>

Q3.6 我想d文g的指定位|,该怎么办?
{:java.io.RandomAccessFile可以满你的需要?/FONT>

Q3.7 怎么判断要读的文件已l到了尽_
{:在Reader的readҎ中明说明返?1表示的l尾?/FONT>

四?关键字篇

Q4.1  java里面怎么定义宏?
{:java不支持宏Q因为宏代换不能保证cd安全?BR>如果你需要定义常量,可以它定义为某个类的static final成员。参见Q4.2和Q4.6?/FONT>


Q4.2  java里面没法用const?BR>{:你可以用final关键字。例?final int m = 9。被声明为final的变量不能被再次?BR>倹{唯一的例外是所谓blank finalQ如下例所C:
public class MyClass1 {
    private final int a = 3;
    private final int b; // blank final

    public MyClass1() {
        a = 5; // 不合法,final变量不能被再ơ赋倹{?BR>        b = 4; // 合法Q这是bW一ơ被赋倹{?BR>        b = 6; // 不合法,b不能被再ơ赋倹{?BR>    }
}
final也可以用于声明方法或c,被声明ؓfinal的方法或cM能被l承?BR>注意const是java的保留字以备扩充?/FONT>

Q4.3  java里面也不能用goto?BR>{:甚至在面向过E的语言中你也可以完全不用goto。请查你的程序流E是否合理?/FONT>

如果你需要从多层循环中迅速蟩出,java增强了(和C++相比Qbreak和continue的功能,
支持label?BR>例如Q?BR>outer :
while( ... )
{
 inner :
 for( ... )
 {
           ...   break inner; ...
           ... continue outer; ...
 }
}
和const一Pgoto也是java的保留字以备扩充?/FONT>

Q4.4  java里面能不能重载操作符Q?BR>{:不能。String?h唯一一个内|的重蝲操作W。你可以通过定义接口和方法来实现
cM功能?/FONT>

Q4.5  我new了一个对象,但是没法delete掉它?BR>{:java有自动内存回收机Ӟx谓Garbarge Collection。你不需要删除对象。你再也
不用担心指针错误Q内存溢Z?/FONT>

Q4.6  我想知道Z么mainҎ必须被声明ؓpublic staticQؓ什么在mainҎ中不能调
用非static成员Q?BR>{:声明为public是ؓ了这个方法可以被外部调用Q详情见Q5.4?BR>static是ؓ了将某个成员变量/Ҏ兌到类QclassQ而非实例QinstanceQ?BR>你不需要创Z个对象就可以直接使用q个cȝstatic成员Q因而在static成员中不能调
用非static成员Q因为后者是兌到对象实例(instanceQ的?BR>在AcM调用Bcȝstatic成员可以使用B.staticMember的写法?BR>注意一个类的static成员变量是唯一的,被所有该cd象所׃n的,在多U程E序设计中尤其要谨慎心?BR>cȝstatic成员是在cȝ一ơ被JRE装蝲的时候初始化的?BR>你可以用如下方法来使用非static成员Q?BR>public class A
{
    private void someMethod() //非static成员
    {}
    public static void main(String args)
    {
         A a = new A();  //创徏一个对象实?BR>         a.someMethod();  //现在你可以用非staticҎ?BR>    }
}


Q4.7  throw和throws有什么不同?
{:throws用于Ҏ声明中,声明一个方法会抛出哪些异常。而throw是在Ҏ体中实际执行抛出异常?BR>动作?BR>如果你在Ҏ中throw一个异常,却没有在Ҏ声明中声明之Q编译器会报错?BR>注意Error和RuntimeException的子cL例外Q无需特别声明?/FONT>

Q4.8  什么是异常Q?BR>{:异常最早在Ada语言中引入,用于在程序中动态处理错误ƈ恢复?BR>你可以在Ҏ中拦截底层异常ƈ处理之,也可以抛l更高层的模块去处理?BR>你也可以抛出自己的异常指C发生了某些不正常情c常见的拦截处理代码如下Q?BR>try
{
 ......//以下是可能发生异常的代码
        ...... //异常被你或低层API抛出Q执行流E中断ƈ转向拦截代码?BR>        ......
}
catch(Exception1 e) //如果Exception1是Exception2的子cdƈ要做特别处理Q应排在?BR>?BR>{
  //发生Exception1时被该段拦截
}
catch(Exception2 e)
{
  //发生Exception2时被该段拦截
}
finally //q是可选的
{
   //无论异常是否发生Q均执行此段代码
   //即在catchD中又向外抛Z新的exceptionQfinallyD也会得到执行?BR>}

5.1  extends和implements有什么煌?BR>{:对于class而言Qextends用于Q单Q承一个类QclassQ,而implements用于实现一个接口(interf
aceQ?BR>interface的引入是Z部分地提供多l承的功能?BR>在interface中只需声明Ҏ_而将Ҏ体留l实现的class来做?BR>q些实现的class的实例完全可以当作interface的实例来对待?BR>在interface之间也可以声明ؓextendsQ多l承Q的关系?BR>注意一个interface可以extends多个其他interface?/FONT>

Q5.2  java怎么实现多承?
{:java不支持显式的多ѝ?BR>因ؓ在显式多l承的语a例如c++中,会出现子c被q声明祖先虚基类构造函数的问题Q?/FONT>

而这是违反面向对象的装性原则的?BR>java提供了interface和implements关键字来部分地实现多l承。参见Q5.1?/FONT>

Q5.3 abstract是什么?
{:被声明ؓabstract的方法无需l出Ҏ体,留给子类来实现?BR>而如果一个类中有abstractҎQ那么这个类也必d明ؓabstract?BR>被声明ؓabstract的类无法实例化,管它可以定义构造方法供子类使用?/FONT>

Q5.4 public,protected,private有什么不同?
{:q些关键字用于声明类和成员的可见性?BR>public成员可以被Q何类讉KQ?BR>protected成员限于自己和子c访问,
private成员限于自己讉K?BR>Javaq提供了W四U的默认可见性,一般称为package privateQ当没有Mpublic,protected,private修饰W时Q成?BR>是同一包内可见?BR>cd以用public或默认来修饰?/FONT>

Q5.5 Override和Overload有什么不同?
{:Override是指父类和子cM间方法的l承关系Q这些方法有着相同的名U和参数cd
?BR>Overload是指同一个类中不同方法(可以在子cM可以在父cM定义Q间的关p,
q些Ҏ有着相同的名U和不同的参数类型?/FONT>


Q5.6 我承了一个方法,但现在我惌用在父类中定义的Ҏ?BR>{:用super.xxx()可以在子cM调用父类Ҏ?/FONT>

Q5.7 我想在子cȝ构造方法中调用父类的构造方法,该怎么办?
{:在子cL造方法的W一行调用super(...)卛_?/FONT>

Q5.8 我在同一个类中定义了好几个构造方法ƈ且想在一个构造方法中调用另一个?BR>{:在构造方法第一行调用this(...)?/FONT>

Q5.9 我没有定义构造方法会怎么P
{:自动获得一个无参数的构造方法?/FONT>

Q5.10 我调用无参数的构造方法失败了?BR>{:如果你至定义了一个构造方法,׃再有自动提供的无参数的构造方法了?BR>你需要另外显式定义一个无参数的构造方法?BR>另外一U可能是你的构造方法或者类不是public的,参见Q5.4了解java中的可见性?/FONT>

Q5.11 我该怎么定义cM于C++中的析构ҎQdestructorQ?
{:提供一个void finalize()Ҏ。在Garbarge Collector回收该对象时会调用该Ҏ?/FONT>

注意实际上你很难判断一个对象会在什么时候被回收。作者从未感到需要用到该Ҏ?/FONT>


Q5.12 我想一个父cd象{换成一个子cd象该怎么做?
{:强制cd转换。如
public void meth(A a)
{
 B b = (B)a;
}
如果a实际上ƈ不是B的实例,会抛出ClassCastException。所以请保a实是B的实例?/FONT>


Q5.13 其实我不定a是不是B的实例,能不能分情况处理Q?BR>{:可以使用instanceof操作W。例?BR>if( a instanceof B )
{
 B b = (B)a;
}
else
{
 ...
}

Q5.14 我在Ҏ里修改了一个对象的|但是退出方法后我发现这个对象的值没变!
{:很可能你把传入参数重赋了一个新对象Q例如下列代码就会造成q种错误Q?BR>public void fun1(A a) //a是局部参敎ͼ指向了一个外在对象?BR>{
 a = new A(); //a指向了一个新对象Q和外在对象脱钩了。如果你要让a作ؓ传出变量Q?BR>不要写这一句?BR>        a.setAttr(attr);//修改了新对象的|外在对象没有被修攏V?BR>}
基本cd也会出现q种情况。例如:
public void fun2(int a)
{
 a = 10;//只作用于本方法,外面的变量不会变化?BR>}

 

Q6.1 java能动态分配数l吗Q?BR>{:可以。例如int n = 3; Language[] myLanguages = new Language[n];

Q6.2 我怎么知道数组的长度?
{:用length属性。如上例中的  myLanguages.length ׃ؓ 3?/FONT>

Q6.3 我还惌数组的长度能自动改变Q能够增?删除元素?BR>{:用顺序表--java.util.List接口?BR>你可以选择用ArrayList或是LinkedListQ前者是数组实现Q后者是链表实现?BR>例如Q?nbsp; List list = new ArrayList(); 或是 List list = new LinkedList();  ?/FONT>

Q6.4 什么是链表Qؓ什么要有ArrayList和LinkedList两种ListQ?BR>{:误习数据结构?/FONT>

Q6.5 我想用队?栈?BR>{:用java.util.LinkedList?/FONT>

Q6.6 我希望不要有重复的元素?BR>{:用集?-java.util.Set接口。例如:Set set = new HashSet()?/FONT>

Q6.7 我想遍历集合/Map?BR>{:用java.util.Iterator。参见API?/FONT>

Q6.8 我还要能够排序?BR>{:用java.util.TreeSet。例如:Set set = new TreeSet()。放q去的元素会自动排序
?BR>你需要ؓ元素实现Comparable接口Q还可能需要提供equals()ҎQcompareTo()ҎQh
ashCode()Ҏ?/FONT>

Q6.9 但是我想l数l排序?BR>{:java.util.Arrayscd含了sort{实用方法?/FONT>

Q6.10 我想按不同方式排序?BR>{:为每U方式定义一个实C接口Comparator的排序类q和Arrays或TreeSetl合q用?/FONT>


Q6.11 Map有什么用Q?BR>{:存储key-value的关键字-值对Q你可以通过关键字来快速存取相应的倹{?/FONT>

Q6.12 setҎ没问题,但是getҎq回的是Object?BR>{:强制cd转换成你需要的cd。参见Q5.12?/FONT>

Q6.13 ArrayList和Vector有什么不同?HashMap和Hashtable有什么不同?
{:ArrayList和HashMap是多U程不安全的Q在多个U程中访问同一个ArrayList对象可能
会引起冲HƈD错误?BR>而Vector和Hashtable是多U程安全的,即在多个线E中同时讉K同一个Vector对象也不
会引起差错?BR>看v来我们更应该使用Vector和HashtableQ但是实际上Vector和Hashtable的性能太差Q?BR>所以如果你不在多线E中使用的话Q还是应该用ArrayList和HashMap?/FONT>

Q6.14 我要获得一个随机数?BR>{:使用java.util.RandomcR?/FONT>

Q6.15 我比较两个StringLfalseQ但是它们明明都?abc" Q?BR>{:比较String一定要使用equals或equalsIgnoreCaseҎQ不要?== Q?BR>==比较的是两个引用Q变量)是否指向了同一个对象,而不是比较其内容?/FONT>

Q6.16 我想修改一个String但是在StringcM没找到编辑方法?BR>{:使用StringBuffercR?BR>String str = "......."; //待处理的字符?BR>StringBuffer buffer = new StringBuffer(str); //使用该字W串初始化一个StringBuf
fer
buffer.append("..."); //调用StringBuffer的相关API来编辑字W串
String str2 = buffer.toString(); //获得~辑后的字符丌Ӏ?BR>另外Q如果你需要将多个字符串连接v来,请尽量避免?L接连接,而是使用Strin
gBuffer.append()Ҏ?/FONT>

Q6.17 我想处理日期/旉?BR>{:使用java.util.DatecR你可以使用java.text.SimpleDateFormatcL在String和Da
te间互相{换?BR>SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //?BR>定日期格?BR>Date date = formatter.parse("2003-07-26 18:30:35"); //符合格式的String转换?BR>Date
String s = formatter.format(date); //Date转换为符合格式的String
关于定义日期格式的详l信息请参见API?/FONT>



zool 2005-04-19 11:16 发表评论
]]>
J2EE准备?/title><link>http://m.tkk7.com/zool/archive/2005/04/19/3446.html</link><dc:creator>zool</dc:creator><author>zool</author><pubDate>Tue, 19 Apr 2005 03:11:00 GMT</pubDate><guid>http://m.tkk7.com/zool/archive/2005/04/19/3446.html</guid><wfw:comment>http://m.tkk7.com/zool/comments/3446.html</wfw:comment><comments>http://m.tkk7.com/zool/archive/2005/04/19/3446.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.tkk7.com/zool/comments/commentRss/3446.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/zool/services/trackbacks/3446.html</trackback:ping><description><![CDATA[     摘要: 1 什么是J2EEQ它和普通的Java有什么不同?{:J2EE全称为Java2 Platform, Enterprise Edition。“J2EEq_本质上是一个分布式的服务器应用E序设计环境——一个Java环境Q它提供了:·宿主应用的一个运行基框架环境。·一套用来创建应用的Java扩展API。”(引自《J2EE服务器端高~程》) 2 J2EE好学吗?{:J2EE是很多技术的集合体,q且...  <a href='http://m.tkk7.com/zool/archive/2005/04/19/3446.html'>阅读全文</a><img src ="http://m.tkk7.com/zool/aggbug/3446.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/zool/" target="_blank">zool</a> 2005-04-19 11:11 <a href="http://m.tkk7.com/zool/archive/2005/04/19/3446.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java电子书籍 http://m.tkk7.com/zool/archive/2005/04/18/3399.htmlzoolzoolMon, 18 Apr 2005 03:03:00 GMThttp://m.tkk7.com/zool/archive/2005/04/18/3399.htmlhttp://m.tkk7.com/zool/comments/3399.htmlhttp://m.tkk7.com/zool/archive/2005/04/18/3399.html#Feedback0http://m.tkk7.com/zool/comments/commentRss/3399.htmlhttp://m.tkk7.com/zool/services/trackbacks/3399.html所有的电子书籍都存攑֜电子图书与IT文档资料版块Q?BR>
http://www.itpub.net/forumdisplay.p...umid=61&x=8&y=4

但是d图书的时候可以定义标{:

Java基础Q?A target=_blank>http://www.itpub.net/quintessence.p...d=61&typeid=111

Java框架Q?A target=_blank>http://www.itpub.net/quintessence.p...d=61&typeid=112

J2EEQ?A target=_blank>http://www.itpub.net/quintessence.p...d=61&typeid=113

J2MEQ?A target=_blank>http://www.itpub.net/quintessence.p...d=61&typeid=114

分析设计Q?A target=_blank>http://www.itpub.net/quintessence.p...d=61&typeid=115

C/C++Q?A target=_blank>http://www.itpub.net/quintessence.p...d=61&typeid=116

数据库设计:http://www.itpub.net/quintessence.p...d=61&typeid=117



zool 2005-04-18 11:03 发表评论
]]>
վ֩ģ壺 aձѿ| ˾þóۺӰԺ| þùֱ| պAVһ| þþþ޾ƷС˵| ĻӰԺַ| AëƬר| AVѹۿ| ޹ۺϾƷĵһ| þþƷAV鶹 | ޾ƷƬ߲| ֻѸۿ| þþþþùƷ| ѡӰ | ɫAëƬѿ| AVƬվ| 뿨һ| ޹Ʒþþþ| AV뾫ƷˮţӰ| ޵һվ߹ۿ| ѿƸվƵ| ҹɫһѲƵ| ںӰԺ߹ۿƵ| Ƶ| ѹ߾Ʒһ| þ޾Ʒ߳ۺɫaƬ| һɫþ88޾Ʒۺ | Ƶ߹ۿ| ѿƸappһ»ɫ¼| ˳˳ۺ| ˳վ18ֹþӰԺ| ޹˾þ| ޳aƬ߹ۿƷ| youjizz| ޾Ʒ㶮| anպר| ۺɫɫ| ߲| йchina[ձ| xxxx| ޾ƷѶ|