Java基础知识资料整理 
  
作者:Tnk Luo 
E_mail:[email protected] 
  
说明:这些资料都很陈旧,但很实用,是我以前整理并发在CSDN论坛的。为保持原文,所以没有改动,希望大家注意取舍。 
  
大家好,这个地方,我刚来不到15天,发现这里确实是个学习的好地方,不过到现在给我的感觉是,比较乱,比如,大家问的问题经常有重复的,同时也不是很系统,我倒建议大家将自己做项目过程中的经验、学习体会、技术积累的一些问题,发表出来,让大家共同分享!我记得微软亚洲研究院张宏江副院长说过一句话,把自己的心得让大家分享,无论是以论文,还是其他的形式都可以,重在交流,让别人知道你所做的,知道得人越多,对你的批评、鼓励越大。而不是说,你水平高,也不想和别人分享,尤其是我们做技术的,经常把自己做课题过程中的一些经验写下来,对人对己都是很好的帮助! 
我今天就对我以往这方面的一些经验写出来,希望大家批评指正!谢谢你的阅读!如果大家欢迎,我可以有后续的一些经验给大家介绍,我也希望大家一起来努力!只有这样,我们这个JAVA版会更有体系、更系统性! 
  
J2SE:            (http://java.sun.com/j2se) 
  
SUN公司的JAVA产品慢慢做大后,无论是什么地方,什么场合,都有JAVA的踪影,桌面、企业计算、无限设备,这么多得应用,使得JAVA产品分为了三种版本:Java 2 SDK, Standard Edition、Java 2 Platform, Enterprise Edition、Java 2 Platform, Micro Edition,其中Java 2的概念是在Java开发工具包Java Development Kit 1.1推出后,在1.2版时改为Java 2的。所以现在一般都不叫JDK,尽管大家都知道有这么回事情!:) 
J2SE,用户下载Java 2 SDK,Standard Edition后,现在的版本为1.4,1.5版也快推出了,听说要增加泛型技术(GP编程)!(http://servlet.java.sun.com/javaone/sf2002/conf/sessions/21-all-regular.en.jsp) 
大家下载J2SE 1.4通常需要安装,这其中,希望大家多看看J2SE 1.4的安装说明,所以我看到很多人在安装完1.4后配置一些环境变量时经常不是很系统。我们安装完后,一般只需要更改三个地方:(以Windows 2000为例) 
  
1,增加一个环境变量:JAVA_HOME=你的J2SE的安装目录; 
  
2,增加一个环境变量:classpath=.; 
    大家不要小看这个空格,作用大的很!自己仔细看看J2SE文档!另外,也不需要把什么rt.jar,...加进来,都是多余的! 
  
3,在path中增加:你的J2SE的安装目录\bin 
  
这样就完成Java 2 SDK, Standard Edition的安装。 
  
很晚了,我就写到这里,见谅!!:) 
  
常见资源: 
  
1.http://java.sun.com/j2se 
2.http://developer.java.sun.com,这个地方特别好,希望大家都去注册一个帐户,免费的,好地方! 
3.http://www.oreilly.com.cn,OReilly公司的图书国内由中国电力出版社出版,国内翻译oreilly公司的相关JAVA图书都在这里,同时:http://www.infopower.com.cn/这里也有!! 
4.http://http://www.oreilly.com.tw/sleepless/index.htm,蔡學鏞先生的JAVA专栏,Sleepless in JAVA!!! 
5.http://www-900.ibm.com/developerWorks/cn/index.shtml,大家应该很熟悉吧!IBM的中国developWorks网。其中有JAVA技术专栏! 
6.http://www.sys-con.com/java/index.cfm,JAVA DEVELOPER'S JOURNAL 
7.http://www.adtmag.com/java/index.asp,JAVA REPORT! 
  
JDBC技术 
  
  
接下来,我会讲讲JDBC技术,先给个实际例子,如果有兴趣,大家先去下载一个SQL Server 2000 JDBC!大家现有个大概的影响,后面我会详细把这方面的理论基础给大家!由于我这几天比较忙,所以不好意思脱逃了! 
  
  
SQL Server 2000 JDBC Driver是最好的 Type 4 JDBC驱动程序,它提供了面向企业的、与Java环境的高度可靠、高度可伸缩的连通性。SQL Server 2000 JDBC Driver为所有Java小程序(Java-enabled Applet)、应用程序或者应用程序服务器提供了JDBC访问能力。它跨越Internet和Intranet提供了对SQL Server 2000的高性能点对点访问和n层(n-tier)访问。该驱动程序针对Java环境进行了优化,使您可以将Java技术与现有的系统相结合,以扩展现有系统的功能和性能。  
  
SQL Server 2000 JDBC Driver是一个遵从JDBC 2.0规范的驱动程序。它还支持JDBC 2.0 Optional Package的一个子集,该子集提供了以下一些功能(详细信息参见文档):  
  
...Java命名目录接口(JNDI),用于命名数据源  
...连接池(Connection Pooling)  
  
  
SQL Server 2000 JDBC Driver 支持的SQL Server版本有:  
  
...SQL Server 2000.  
...SQL Server 2000 with Service Pack 1  
  
以下操作系统支持SQL Server 2000 JDBC Driver:  
  
...Windows XP  
...Windows 2000 with Service Pack 2  
...AIX  
...HP-UX  
...Solaris  
...Linux  
  
SQL Server 2000 JDBC Driver支持以下版本的JDK:  
  
...JDK 1.1.8  
...JDK 1.2  
...JDK 1.3  
  
  
下载地址: 
http://www.microsoft.com/china/sql/downloads/2000/jdbc.asp 
  
让我们接着上一讲来看看JDBC技术,我们知道,JDBC作为J2SE,J2EE平台的重要组成部分,可见其重要性! 
  
JDBC的源泉: 
  
http://java.sun.com/products/jdbc/ 
  
大家知道,JDBC的最新API Specification 是3.0,其中包括: 
  
JDBC Technology Core features (the java.sql package) 
  
java.sql.*; 
和 
JDBC Optional Package features (the javax.sql package) 
  
javax.sql; 
两部分。 
  
其中,在3.0中,optional package还不是J2SE 1.4的core api! 
  
  
http://java.sun.com/products/jdbc/features.html 
  
大家知道,JDBC API构架包括两类接口,第一种是, 
JDBC API for application writers 
第二种是, 
lower-level JDBC driver API for driver writers 
  
而,JDBC技术提供的驱动程序包括4种,Type 1,Type 2,Type 3,Type 4! 
应用程序和小应用程序(applets)可以通过 JDBC API using pure Java JDBC technology-based drivers访问DBMS. 
  
具体细节,请大家参考: 
  
http://java.sun.com/products/jdbc/overview.html 
  
比如,我们以Oracle 8.1.7为例,通常在通过应用程序联结Oracle 8.1.7时,如果使用JDBC技术,一般有thin,oci两种, 
那么,thin,oci有什么区别那? 
  
如果大家看完上述的参考文献,现在应该可以明白, 
thin,是Type 4! 
oci,是Type 2! 
  
再比如,SQL Server 2000,最近Microsoft推出了其JDBC for SQL Server 2000的驱动程序! 
  
下载地址为: 
  
http://www.microsoft.com/china/sql/downloads/2000/jdbc.asp 
(安装完后,有pdf文件,把JDBC讲的很详细,推荐下载!!!) 
  
如果我们以Oracle 的应用为例,采用thin结构,大家分析一下如下代码: 
  
  
try 
{ 
//加载JDBC驱动程序 
   DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 
//建立与DBMS的联结!! 
   Connection conn = DriverManager.getConnection   
                ("jdbc:oracle:thin:@10.11.12.200:1521:ora8",  
                                    "DFQ", "DFQ2000"); 
//生成操作描述语句! 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, 
                                        ResultSet.CONCUR_UPDATABLE);  
//具体的SQL操作! 
    ResultSet rset=stmt.executeQuery("SELECT * FROM  
                                           JAVAEFFT");                                    
     while(rset.next()) 
                       {                 
    //对数据库操作!!!!    
                       }             
      rset.close(); 
      stmt.close(); 
      conn.close(); 
               }                                             
    catch (SQLException ex)  
              { 
       System.out.println ("\n*** SQLException caught ***\n"); 
    while (ex != null)  
                     { 
         System.out.println ("SQLState: " + 
                                   ex.getSQLState ()); 
       System.out.println ("Message:  " + ex.getMessage()); 
       System.out.println ("Vendor:   " + 
                                   ex.getErrorCode ()); 
                            ex = ex.getNextException (); 
                            System.out.println (""); 
                     } 
              } 
              catch (java.lang.Exception ex)  
              { 
                     ex.printStackTrace(); 
              }      
  
其中,Oracle 8.1.7有两个classes11.zip和classes12.zip,包,我们一般用 
classes12.zip,其支持JDBC 2.0 
  
透过J2SE的:(有一张层次结构图,大家可以去看看!) 
  
http://java.sun.com/j2se/1.4/index.html 
  
所以,J2SE包括的东西很多,如果要面面俱倒,本人也是个新手,写这些东东的目的,就是将自己的体会,心得写下来,希望多多批评指正,多多交流,有什么问题,可以和我发消息,同时也可以把问题写在这里,我经常来看看!!!:) 
  
J2ME: 
  
参考资源: 
  
1,http://java.sun.com/j2me/ 
2,《J2ME无限设备编程》,机械工业出版社,28元 
3,http://wireless.java.sun.com/ 
4,http://www.sun.com.cn 
  
最近,SUN,Motorola,在举行J2ME开发比赛: 
  
http://www.hopen.com.cn/388/ 
  
机会难得!!! 
  
至于J2ME开发,和J2SE开发过程差不多,同时: 
  
http://java.sun.com/blueprints/ 
  
提供了 
  
Enterprise: Java Pet Store Sample Application 
  
开发例子!!! 
  
而且鉴于这个例子,我打算下一次将 
  
Java Pet Store Sample Application 
  
好好分析一下! 
  
这个话题,在程序员杂志上很多,但我想,存在即是合理,因为我已经开始着手写这方面的材料,所以希望大家多支持!!! 
    我们需要交流!!! 
     
    让我来写这个东西,或许可以这样讲,我没有这个资格,但我们可以试试! 
    :) 
     
  
    国内JAVA图书,尤其是优秀的图书,大部分都是国外的,无论是否翻译过来,还是影印版!我这里假设我们的参考系都是国外的,即,比如《Java 高效编程指南》的英文版是很好的一本书,被: 
  
http://www.sdmagazine.com/jolts/ 
  
http://www.china-pub.com/computers/bookreview/review/news.htm 
  
    评为一本很好得书, 
    但,中文版就..... 
  
http://jjhou.csdn.net/article02-10.htm 
     
    上面有对该书的评价!(不知道,大家注意到没有,带有Effective的书,都很不错!!!) 
     
    所以,我们的目光是国外的图书! 
     
    首先,我们谈谈Oreilly公司的Java图书, 
  
http://www.oreilly.com.cn/html/java.html(国内) 
http://www.oreilly.com.tw(台湾),其中有蔡學鏞先生的专栏! 
  
   sleepless in Java: 
  
http://www.oreilly.com.tw/sleepless/index.htm 
  
   可以,这样说,Oreilly公司的书一向都很好,同时国内由中国电力出版社引进,所以中文版的质量应该不错!!! 
    比如,国内的几本: 
  
 《Java安全》第二版  
 《JDBC与Java数据库编程》第二版  
 《JSP设计》  
 《Java技术手册》 
  
 《JAVA实例技术手册》 
  
 《Java网络编程》 
  
 《Java语言入门》 
  
 《JAVA与XML》 
  
 《Enterprise JAVABEANS(第二版)》 
  
 《Java 语言与 Java 平台》  
  
    都是精品!个人认为!:) 
  
    个人总结:适合各种层次的人,很专业!! 
     
   第二,wrox公司, 
  
http://www.wrox.com 
  
http://www.china-pub.com/temporary/SendMail/htmlmail/zhuanti/007.htm 
  
   Wrox的图书,读者定位就是程序员,甚至他们把P2P(程序员对程序员,Programmer to Programmer)当成了商标,在这样的定位下又通常细分为“Beginning XXX”和“Professional XXX”,只要做了正确的选择,对于初学者来说不必担心内容太艰深看不懂,对于老者来说也不为一些早就熟知的内容支付额外的费用。欲知更多Wrox图书信息,请见WWW.WROX.COM(转载http://www.china-pub.com) 
   
   我自己有一本,《JSP编程指南》,感觉还不错! 
  
   个人总结:对于初学者不是很适合,如果你有一定项目经验,再看这种书,效果会很好!:) 
  
   第三,SUN公司出的书,感觉国内主要是由机械工业出版社引进出版,w Sun公司核心技术丛书! 
  
http://www.sun.com/books/ 
  
   个人总结:很舒服! 
    
   第四,Addison-Wesley公司的图书!感觉也蛮好的!比如,比如,<Effective Java>就是他们的! 
    
   个人总结:与Oreilly公司的书风格很像! 
    
   第五,一些网站提供的电子图书, 
  
http://www.theserverside.com/resources/index.jsp 
    
   ,上面有很经典的EJB书: 
  
Mastering EJB II 
      Mastering EJB was one of the original and most influential EJB books in the industry. Mastering EJB II now returns with two new expert co-authors, updated for EJB 2.0 and improved with advanced topics such as large scale systems design, J2EE project management, complex persistence and more.  
  
EJB Design Patterns 
      A companion/standalone book to Mastering EJB 2, EJB Design Patterns seeks to solidify and centralize all the cutting edge strategies and design patterns in use today.  
  
http://www.mindview.net/       
     这个地方有,<Thinking in JAVA,c++>! 
      
  
技术资源: 
      
    1.http://www.theserverside.com 
    2.http://java.sun.com 
    3.http://www-900.ibm.com/developerWorks/cn/index.shtml 
    4.http://developer.java.sun.com/ 
    5.http://www.eclipse.org/ 
    6.http://www.artima.com/insidejvm(剖析JVM的经典书!!!) 
  
   
 
  |