




已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
看牛人如何學(xué)習(xí)JAVA第一章 Java語言概述 終于要開始Java編程基礎(chǔ)這門課了,從學(xué)生的眼中可以看到一種期待,但我覺得學(xué)生們都有一種誤解,覺得這門課學(xué)好了就是學(xué)好Java了,對(duì)二年的J2EE學(xué)習(xí)會(huì)產(chǎn)生決定性的影響??墒菍?shí)際上,這門課就像它的名字一樣,只是一個(gè)基礎(chǔ),它的目的就是能讓大家掌握J(rèn)ava的基本語法,能夠使用Java語言來實(shí)現(xiàn)面向?qū)ο蠖?,從?duì)J2EE學(xué)習(xí)的影響性來說,我覺得這門課的地位還不如ASP網(wǎng)絡(luò)編程。 當(dāng)然我并不是想說Java基礎(chǔ)不重要,只是沒有重要到需要放棄畢業(yè)設(shè)計(jì)來聽這門課(是的,有幾個(gè)學(xué)生已經(jīng)準(zhǔn)備這么干了)。 翻了一下這本書的目錄,發(fā)現(xiàn)它可以分為兩個(gè)階段第一階段:使用Java語法來實(shí)現(xiàn)面向?qū)ο?,面向?qū)ο蟮幕靖拍钤贑+課程里面已經(jīng)介紹了,我想這部分的進(jìn)行會(huì)相對(duì)容易,當(dāng)然了,需要給學(xué)生們指出Java和C+在實(shí)現(xiàn)面向?qū)ο笊系膮^(qū)別;第二階段:使用Java進(jìn)行圖形編程,簡(jiǎn)單說,用Java來實(shí)現(xiàn)VB那一套東西,不知道學(xué)生們用慣了VB的可視化編程,能不能適應(yīng)手工生成界面。 就這些內(nèi)容可能有些單薄吧,我在想,中心還專門為Java增加了3節(jié)理論課,這樣算下來會(huì)有14節(jié)課來介紹Java。嗯可以用增加的理論課來介紹設(shè)計(jì)模式(Design Pattern)!這應(yīng)該是個(gè)好主意,能讓學(xué)生們學(xué)到更專業(yè)的開發(fā)知識(shí),不過對(duì)于他們來說會(huì)不會(huì)太難呢?隨著課程進(jìn)行看吧,反正我也不準(zhǔn)備把23種設(shè)計(jì)模式都講一遍。 我制定的Java授課計(jì)劃 好了,開始上課了,課前大鵬問我Java難不難,引用一句古文“人之為學(xué)有難易乎,為之,則難者亦易矣”。 從頭講起,Java的歷史、發(fā)明者這些東西我最討厭,一筆代過。開始介紹Java的幾個(gè)基本特點(diǎn): 簡(jiǎn)單:沒有的指針操作; 健壯性:無須手工管理內(nèi)存; 可移植性:地球人都知道Java是跨平臺(tái)的。 就說這么多吧,關(guān)于Java高性能這部分實(shí)在不想多講,搞過Java開發(fā)的人都知道Java也許不是世界上最好的語言,但絕對(duì)是運(yùn)行速度最慢的語言。 重點(diǎn)要說一下Java虛擬機(jī)(JVM),它是保證Java語言能跨平臺(tái)運(yùn)行的關(guān)鍵。想象聯(lián)合國(guó)開大會(huì)的例子,來自中國(guó),美國(guó),法國(guó),德國(guó)的一大群發(fā)言人準(zhǔn)備說話了,為了保證其他人也能聽得懂,需要一個(gè)翻譯團(tuán),對(duì)翻譯團(tuán)中每個(gè)團(tuán)員的要求就是至少懂得英語和另一門語言?,F(xiàn)在中國(guó)的發(fā)言人說話了,懂英語和漢語的翻譯會(huì)首先將中文翻譯成英文,然后不同語種的翻譯再根據(jù)英文翻譯成各自的文字。如果聯(lián)合國(guó)增加了一個(gè)成員“土撥國(guó)”,他們講“土撥語”,那很簡(jiǎn)單,增加一名會(huì)說“土撥語”和英語的翻譯就可以了。 這也就是Java虛擬機(jī)的運(yùn)行模式,我們都知道寫好源代碼以后要進(jìn)行編譯,傳統(tǒng)語言(VB, VC)都會(huì)直接將源代碼編譯成能在某固定操作系統(tǒng)下運(yùn)行的EXE程序(我們都知道windows程序不能在Dos下運(yùn)行),而Java則是將源代碼編譯成我們稱之為“字節(jié)碼”的中間文件(我們例子中的英語),OK,就到此為止了。顯然這個(gè)中間文件是無法直接執(zhí)行的,現(xiàn)在Java虛擬機(jī)登場(chǎng)了,我們執(zhí)行一個(gè)中間文件的流程是:Java虛擬機(jī)將中間文件讀入,翻譯成能在本操作系統(tǒng)下運(yùn)行的文件,然后執(zhí)行之。假如現(xiàn)在我們新增一個(gè)操作系統(tǒng),名為“土撥系統(tǒng)2005”(Turbo System 2005),如果想讓我們的Java在上面跑起來,只需要sun公司開發(fā)一個(gè)在“土撥系統(tǒng)2005”下運(yùn)行的Java虛擬機(jī)就可以了(Java Virtual Machine for Turbo System 2005)。 講到這兒發(fā)現(xiàn)一些學(xué)生已面露迷茫之色,趕快講些容易的,從剛才的描述可知,我們開發(fā)Java程序需要先編寫源代碼(*.java文件),然后將源代碼編譯成中間文件(*.class文件),最后通過Java虛擬機(jī)執(zhí)行,對(duì)應(yīng)這個(gè)過程,我們需要三種武器:編輯器、編譯器和Java運(yùn)行環(huán)境。 編輯器的目的是讓我們方便的開發(fā)源代碼,好的編輯器支持語法高亮顯示,輸入“.”出現(xiàn)成員列表等功能,當(dāng)前企業(yè)開發(fā)中最常用的編輯器應(yīng)該是Borland公司的 JBuilder,最新版本2005版;還有現(xiàn)在最熱門的開源項(xiàng)目( 搜索互聯(lián)網(wǎng),了解開源項(xiàng)目) Eclipse,最新版本3.0;不過作為入門,我讓學(xué)生們先用 JCreator 3.5,注意,它的3.1版本在顯示中文時(shí)有問題。 編譯器包含在JDK(Java Develop Kits)中,它將源代碼轉(zhuǎn)換成中間文件,在sun公司的官方網(wǎng)站上,可以找到JDK1.4.2版和JDK1.5版,其中1.5版是最新的,里面還附帶了一個(gè)叫NetBeans的編輯器,但是速度很慢,我推薦學(xué)生下載JDK1.4.2版,如果英文基礎(chǔ)好的話,還可以同時(shí)下載JavaDoc,里面有java的幫助,有點(diǎn)像MSDN,只不過是純英文的。 Java運(yùn)行環(huán)境JRE(Java Runtime Environment)中最重要的組成部分就是Java虛擬機(jī),它也已經(jīng)包含在JDK中了,然而,如果我們想確保Java程序能在別人的機(jī)器上運(yùn)行,對(duì)方至少應(yīng)該安裝一個(gè)JRE。 最后講講配置問題,我建議學(xué)生先安裝JDK,再安裝編輯器,這樣可以省去很多配置的麻煩。從書上得知要運(yùn)行Java程序還需要配置三個(gè)系統(tǒng)參數(shù):Path,ClassPath和Java_Hone,它們指明了JDK的安裝為之;實(shí)際上,除非你想在DOS環(huán)境下手工編譯程序,否則你根本不需要它們,因?yàn)榫庉嬈魇菚?huì)自己尋找JDK安裝位置的,像JBuilder甚至還自帶了一個(gè)JDK。 呼長(zhǎng)舒一口氣,休息一下吧,口干舌燥了。 第二節(jié)課我先介紹了一下當(dāng)今Java比較流行的三個(gè)分支,這些名詞你肯定聽過:J2SE,J2EE和J2ME。 1. J2SE (Java 2 Platform,Standard Edition) 指Java 1.2版以上的標(biāo)準(zhǔn)開發(fā)包 開發(fā)J2SE程序需要的編譯器為JDK,編輯器有記事本,JCreator, JBuilder (Borland), Eclipse (OpenSource), NetBeans(SUN), Visual Age For Java(IBM)等 如果要運(yùn)行J2SE程序,需要安裝JRE (Java Runtime Environment) 2. J2EE (Java 2 Platform,Enterprise Edition) Java2企業(yè)版由Jsp + Servlet + JavaBean + EJB組成 運(yùn)行企業(yè)版程序需要J2EE容器,比如WebLogic, WebSphere等 3. J2ME (Java 2 Platform,Micro Edition) 專門運(yùn)行在移動(dòng)設(shè)備和無限設(shè)備上的Java,手機(jī)游戲很多用此開發(fā) 好了,介紹部分就這么多吧,我要開始演示Hello World了,學(xué)生都很奇怪,為什么Java的源文件名要和類名完全一致,哎,記住就行了,管它那么多。大家對(duì)main函數(shù)的聲明叫苦不迭,那么長(zhǎng)阿。其實(shí)我們仔細(xì)分析一下,會(huì)發(fā)現(xiàn)里面沒有一個(gè)多余的單詞: public static void main(String args) public將main聲明成公用,當(dāng)然了,因?yàn)閙ain函數(shù)是程序的起點(diǎn),由Java虛擬機(jī)自動(dòng)調(diào)用,如果是私有,不就訪問不到了嘛;下一個(gè)是static,將函數(shù)聲明稱靜態(tài),由C+的知識(shí)我們知道,只有靜態(tài)函數(shù)可以被直接訪問,這也是為了讓Java虛擬機(jī)能夠方便的開始我們的程序;void說明main函數(shù)沒有返回值,而括號(hào)里面的數(shù)組表示了命令行參數(shù),在我們還沒有圖形界面之前,我們幾乎只能靠這種方式來接收用戶的輸入??磁H巳绾螌W(xué)習(xí)JAVA-如何學(xué)習(xí)java(一)(二)2007年12月05日 星期三 07:52 P.M.看牛人如何學(xué)習(xí)JAVA如何學(xué)習(xí)java(一)最近論壇上看到好幾個(gè)朋友都在問,如何學(xué)習(xí) Java的問題,“我已經(jīng)學(xué)習(xí)了J2SE,怎么樣才能轉(zhuǎn)向J2EE?”,“我看完了Thinking in Java, 可以學(xué)習(xí)J2EE了么?”。于是就有了寫這篇文章的想法,希望能幫助初學(xué)者少走一些彎路。也算是對(duì)自己幾年來學(xué)習(xí)Java的一個(gè)總結(jié)吧。在開始之前有必要再討論一下J2ME,J2SE,J2EE這些概念。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手機(jī),PDA等等。J2SE,Java 2 Platform,Standard Edition,我們通常所說的JDK(Java Development Kit)包含在此,是J2EE的基礎(chǔ)。J2EE,Java 2 Platform,Enterprise Edition,就是所謂的企業(yè)級(jí)Java。這些只是從API級(jí)別上的劃分,實(shí)際上Sun給J2EE的定義是:開發(fā)基于組件的多層的企業(yè)級(jí)應(yīng)用的規(guī)范。也就是為各種不同的技術(shù)定義一個(gè)Java的規(guī)范,使這些不同的技術(shù)結(jié)合起來,在Java平臺(tái)上構(gòu)建強(qiáng)壯的企業(yè)級(jí)應(yīng)用。從這一點(diǎn)來看,J2EE這個(gè)概念應(yīng)該是涵蓋J2ME,J2SE的。比如一個(gè)典型的J2EE應(yīng)用,網(wǎng)上商店,它支持web方式下訂單,也支持手機(jī)下訂單。顯然必須用到J2SE,J2ME。所以也就不存在所謂的從J2SE轉(zhuǎn)向J2EE的問題了,只是后者包含的范圍更廣而已。來看看Sun給出的J2EE 相關(guān)技術(shù)主要分為幾大塊。1. Web Service技術(shù)- Java API for XML Processing (JAXP)- Java API for XML Registries (JAXR)- Java API for XML-based RPC (JAX-RPC)- SOAP with Attachments API for Java (SAAJ)2. 組件模型技術(shù)(Component Model Technologies)- Java Servlet- JavaServer Pages- JavaServer Faces- Enterprise JavaBeans- Java Message Service- J2EE Connector Architecture3. 管理技術(shù)(Management Technologies)- J2EE Deployment Specification- J2EE Management Specification- J2EE Client Provisioning- Java Authorization Contract for Containers4. 其他相關(guān)技術(shù)(Other J2EE Technologies)- JDBC- Java Data Objects (JDO)- CORBA (Java IDL and Java RMI-IIOP)- JavaMail- Transactions如此之多的技術(shù)難免使初學(xué)者無所適從,望而卻步。即使是一位經(jīng)驗(yàn)豐富的J2EE開發(fā)者,又有幾個(gè)人敢說J2EE相關(guān)的技術(shù)我都熟練掌握了。不過作為一名普通J2EE應(yīng)用程序的開發(fā)者來說,我們只需要重點(diǎn)學(xué)習(xí)其中的一部分技術(shù)就可以了,對(duì)于其他部分只要做到心中有數(shù),哪天需要用到了知道跑哪里去找到資料就行了。以我個(gè)人的觀點(diǎn),下面這些技術(shù)是一般J2EE應(yīng)用開發(fā)人員所必須熟練掌握的。Java Server Page,Java Servlet,Enterprise JavaBean,JDBC,Transactions。還有JAXP等XML相關(guān)技術(shù),Java Message Service,Java Mail,JDO等等是最好應(yīng)該掌握的。其他Management Technologies,Connector Architecture等等主要是給容器提供商中間件提供商參考的,應(yīng)用開發(fā)者不需要怎么關(guān)心,等用到了再去學(xué)習(xí)也不遲。語言學(xué)習(xí)篇首先是J2SE基礎(chǔ)。學(xué)習(xí)一門新技術(shù),無外乎閱讀和實(shí)踐了。而一本好的參考書對(duì)于初學(xué)者來說顯得格外重要?,F(xiàn)在市面上的 Java書籍可以說是鋪天蓋地,質(zhì)量也是良莠不齊,令初學(xué)者無所適從。所以還是先推薦幾本書籍吧。目前對(duì)于Java基礎(chǔ)知識(shí),大家一般都比較推薦兩本書,和。第一本書不必多說了,Bruce Eckel的大作,Jolt獲獎(jiǎng)書籍。內(nèi)容比較全面,基本涵蓋了java語言的方方面面。這本書提供了相當(dāng)豐富的例子,非常有利于對(duì)學(xué)習(xí)內(nèi)容的了解。另外書中第一部分對(duì)于OO基本書籍的介紹,我覺得對(duì)于剛接觸的人來說幫助會(huì)很大。而且此書是Open Source的,可以從作者網(wǎng)上下載/Books/TIJ/而對(duì)于習(xí)慣于讀中文版的學(xué)習(xí)者來說,侯捷翻譯的中文版是不錯(cuò)的選擇。要說這本說的缺點(diǎn)可能就是對(duì)于初學(xué)者來說厚了一點(diǎn),這也是一些人并不推薦此書作為初學(xué)者學(xué)習(xí)用書的原因吧。后面一本,目前已經(jīng)是第七版了,單從它出版的次數(shù)來看也可以看出此書受歡迎的程度,這本書特點(diǎn)也是講述比較全面系統(tǒng),基本上一路啃下來的話Java語言基礎(chǔ)應(yīng)該算過關(guān)了。缺點(diǎn)也是太厚了,有點(diǎn)像參考手冊(cè),前面部分花了不少篇幅講Swing和Applet,可能對(duì)初學(xué)者不是很有用。還有一些像也是比較不錯(cuò)的基礎(chǔ)書籍。學(xué)習(xí)了基本的語言基礎(chǔ),別忘了最重要也是最有用的資料還是JDK文檔。從你學(xué)習(xí)java的第一天開始JDK文檔應(yīng)該是常備手頭了。如果你碰到問題首先想到的是到論壇上去提問而不是查閱Jdk文檔,那先別繼續(xù)往下學(xué)習(xí)了,學(xué)會(huì)查JDK文檔先。不夸張的說在我們的初學(xué)者論壇中60%的問題是光查一下JDK文檔就能解決問題的。最新JDK Documentation下載地址/j2se/1.4.2/download.html(目前最新版是J2SE5 /j2se/1.5.0/download.jsp)不能光說不練,同一下載頁面把JDK給下載回來。安裝完后有一點(diǎn)我想提一下,安裝路徑下有一個(gè)src.zip(有些jdk版本是src.jar),好東西啊-JDK源代碼,老是有人在論壇上問哪里有JDK源代碼下載,你說東西就放在你家里還到處找。有了這個(gè)有些問題就需要在論壇上跟人家爭(zhēng)來爭(zhēng)去了,翻開源代碼瞧一下什么疑問都沒有了。幾個(gè)最重要的命令行工具是javac: 編譯源文件到class文件java: 運(yùn)行classjar: 打包工具。javadoc: 生成java doc的工具。對(duì)于初學(xué)java的人來說,我不推薦使用IDE而直接用文本編輯器,然后用命令行編譯運(yùn)行。這樣有利于理解CLASSPATH,PATH這些最基本概念。CLASSPATH是初學(xué)者比較容易感覺迷惑的地方?,F(xiàn)在的IDE太聰明了,給個(gè)名字就給你自動(dòng)生成java source code,自動(dòng)編譯。可能你運(yùn)行完了你的第一個(gè)Hello World程序,還不知道java和javac是用來做什么的。至于實(shí)際的項(xiàng)目開發(fā),一款合適的IDE還是十分重要的,我們稍后再對(duì)java開發(fā)工具做一些介紹。如何學(xué)習(xí)java(二)J2EE基礎(chǔ)和Java語言進(jìn)階學(xué)習(xí)完語言基礎(chǔ),就可以比較自然地轉(zhuǎn)入J2EE實(shí)際技術(shù)的學(xué)習(xí)了。J2EE實(shí)在是比較龐雜,而EJB,Servlet,這些核心技術(shù)是作為每一個(gè)J2EE開發(fā)人員所需要掌握的。關(guān)于servlet,我比較推薦和,第一本是Sun推薦的Servlet教材。第二本是當(dāng)年Amazon最暢銷Java書籍,五星級(jí)書籍。這本書機(jī)械工業(yè)出版社有中文版叫,感覺翻譯得還可以,第二版好像還沒有看到有中文版。兩本書都全面系統(tǒng)地介紹了JSP和Sevlet知識(shí),從web服務(wù)器配置,JSP,Servlet基本編程,標(biāo)記庫(Tag Lib),過濾器,事件框架都有很好地描述。提供地例子也比較實(shí)用。對(duì)于EJB學(xué)習(xí),比較著名有兩本書,和,兩位作者Richard Monson,Ed Roman都是屬于業(yè)界重量級(jí)人物。而Richard Monson本身就是EJB規(guī)范專家組成員。對(duì)我來說,兩本書難分優(yōu)劣,第二本書有個(gè)好處就是可以免費(fèi)下載/books/wiley/masteringEJB/index.tss。還是那句話,不能光說不練,不過J2EE的練習(xí)做起來有一點(diǎn)麻煩,應(yīng)用服務(wù)器是不可少的,最好還得準(zhǔn)備個(gè)輕量級(jí)的數(shù)據(jù)庫。下面簡(jiǎn)單介紹一下這些工具。web服務(wù)器(Servlet Container)方面有。Tomcat: /tomcat/Jetty: /jetty/應(yīng)用服務(wù)器常用的有,Jboss: /products/indexWeblogic: /framework.jsp?CNT=index.htm&FP=/content/products/serverWebSphere: /developerworks/downloads/ws/was/?S_TACT=105AGX28&S_CMP=DLMAIN。Tomcat,Jetty,Jboss都是Open Source。Weblogic和WebSphere是J2EE服務(wù)器中的老大級(jí)人物,價(jià)格也不菲。不過對(duì)于開發(fā)者有免費(fèi)的試用版下載。如果單單只是學(xué)習(xí)Servlet,推薦使用Tomcat,它是Sun官方指定的Servlet,JSP規(guī)范的參考實(shí)現(xiàn)。對(duì)初學(xué)者最重要的是它使用比較簡(jiǎn)單,自帶文檔比較齊全,使用者眾多,有什么問題容易在論壇上面得到幫助。如果學(xué)習(xí)EJB的話,推薦使用Jboss,不僅僅是因?yàn)樗荗pen Source的,主要是配置比較簡(jiǎn)單,使用方便。比如說對(duì)于連接數(shù)據(jù)庫,對(duì)于常用的MySQL,Oracle,MS SQL等等都提供了Sample Config文件,直接拿過來做些小改動(dòng)扔到Deploy目錄下就可以用DataSource了,部署J2EE應(yīng)用也簡(jiǎn)單,把整個(gè).ear或者.war扔到deploy下就可以了。唯一不方便的地方是從Jboss3.0開始,它的文檔開始收費(fèi)了。但是對(duì)于一些基本的配置,在網(wǎng)上還是非常容易找到的,畢竟它太流行了。至于Weblogic,也比較容易使用,不過比起Jboss來個(gè)頭大了很多,通過強(qiáng)大的管理界面使得一些常用的配置工作變得十分簡(jiǎn)單。和Jboss比起來它的文檔就太多了,簡(jiǎn)直是有點(diǎn)羅里八嗦,比如要部署一個(gè).ear文件,一般我們也就是直接扔到domain下的applications目錄下就會(huì)自動(dòng)deploy了,但是要看它的文檔可是長(zhǎng)篇大論,容易嚇著初學(xué)者,以為這又是什么高深的學(xué)問。至于WebSphere,個(gè)人不推薦初學(xué)者使用,相比前倆個(gè)Server比較難使,而且狂吃內(nèi)存。不過在企業(yè)級(jí)市場(chǎng)這個(gè)家伙表現(xiàn)不俗,畢竟是出生于IBM這樣的豪門。數(shù)據(jù)庫方面,目前常見的主要有PostgreSQL,MySQL,Oracle,MS SQL,DB2等等。前面兩個(gè)是開源數(shù)據(jù)庫,后面幾個(gè)基本上壟斷著大部分的數(shù)據(jù)庫市場(chǎng)。對(duì)于初學(xué)者用來做做EJB,JDBC的練習(xí),我推薦MySQL,理由還是很簡(jiǎn)單,開源軟件不要錢,個(gè)頭小使用方面,用戶眾多文檔齊全。下載地址/products/mysql/。PostgreSQL也可以考慮,不過國(guó)內(nèi)使用者遠(yuǎn)不如MySQL多,所以要在論壇上問起問題來就少方便一些了,下載地址/downloads/。至于后面那些比較重量級(jí)的數(shù)據(jù)庫,為了做做練習(xí)而言就不用考慮了, 咱也花不起這個(gè)錢啊。學(xué)習(xí)完J2EE的這些具體技術(shù),這個(gè)時(shí)候進(jìn)行基本的J2EE開發(fā)應(yīng)該是不成問題了。此時(shí)應(yīng)該考慮提高自己的代碼質(zhì)量了。這里我強(qiáng)烈推薦Martin Fowler的,這本書不是一本非常實(shí)際的書,作者完全是手把手地教你如何提高代碼質(zhì)量,從具體地代碼中告訴你什么是代碼的Bad Smell,如何去掉這些Bad Smell。不少書評(píng)是這么說的,這本書對(duì)于初級(jí),中級(jí)的讀者幫助是立桿見影的。至少就我接觸到的幾個(gè)學(xué)習(xí)編程不久的程序員,編碼質(zhì)量在短期內(nèi)都有很大提高。當(dāng)然重構(gòu)(Refactoring)這一概念并不只針對(duì)Java語言的,它對(duì)所有OO語言都是適用的。重構(gòu)的概念是如此深入人心,以至于今天幾乎所有流行的IDE工具都有對(duì)重構(gòu)的支持。這里我還想再推薦一本。從C+過來的程序員都知道在C+領(lǐng)域的地位,至今還流傳著這樣的趣話,C+程序員分為兩種,一種是讀過的,另一種是沒有讀過C+的。雖然這本在Java領(lǐng)域的影響也許沒有那么大,但對(duì)于Java程序員絕對(duì)有相當(dāng)?shù)闹笇?dǎo)價(jià)值。作者是Sun公司的Joshua Bloch,java Collection framework的設(shè)計(jì)者。作者站在JDK設(shè)計(jì)者的角度向你介紹他的Best Practice,應(yīng)該這樣做而不應(yīng)該那樣做,對(duì)于JDK中某些API設(shè)計(jì)的缺陷他也毫不袒護(hù)的指出。Java語言之父James Gosling為此書寫的前言是這么說的“I sure wish I had had this book ten years ago。 Some might think that I dont need any Java books, but I need this one”。這本書會(huì)讓你覺得原來你對(duì)Java還是有很多東西不了解的。舉個(gè)例子來說,對(duì)象的equals方法,我們認(rèn)為它很簡(jiǎn)單,也許你每天都在為你新寫的Class重載這個(gè)方法,但是你在重載的時(shí)候注意過“自反”,“對(duì)稱”,“傳遞”這些必須要考慮的因素,你是否同時(shí)還小心謹(jǐn)慎的重載了hashcode這個(gè)方法?如果沒有,建議你要讀一下這本書。讀完這本書,你會(huì)覺得離Java的距離更近了。上面兩本書都出過中文版,后面一本還有兩個(gè)版本的中文版,第一次翻譯的比較差一點(diǎn),后來機(jī)械工業(yè)出版社又委托潘愛民先生重新翻譯了一遍。同一本書在同一個(gè)出版社連續(xù)被翻譯了兩次也說明國(guó)內(nèi)出版界對(duì)這本書還是比較重視的。這個(gè)階段,在看書的同時(shí),可以結(jié)合著學(xué)習(xí)一些優(yōu)秀的開源項(xiàng)目的源代碼。這些開源項(xiàng)目的代碼風(fēng)格,注釋都是值得借鑒的。實(shí)在太懶也別忘了手頭上還有個(gè)Jdk的源代碼。其實(shí)也不用刻意去找源代碼,在實(shí)際的J2EE項(xiàng)目開發(fā)中,基本上都會(huì)用到一些優(yōu)秀的開源項(xiàng)目。Framework可能會(huì)用到Spring,Struts,Log機(jī)制基本上都會(huì)JarkartaCommons Log或者Log4j,單元測(cè)試會(huì)大多會(huì)用Junit,結(jié)合項(xiàng)目閱讀一下其中的一些源代碼,既可以提高自己又對(duì)項(xiàng)目會(huì)有所幫助,說不定因此而得到PM的賞識(shí)呢。一舉兩得,何樂而不為呢。呵呵,有點(diǎn)扯遠(yuǎn)了。過了初學(xué)者階段,該學(xué)會(huì)如何找到適合自己的Java書籍了。歷經(jīng)數(shù)十載,今天的Java技術(shù)已經(jīng)變的如此之龐雜,我相信即使窮凈一個(gè)人畢生之精力也不可能把Java所有的相關(guān)技術(shù)都學(xué)通,何況新技術(shù)還在層出不窮地推出,3年之前誰會(huì)知道Struts會(huì)成為Web框架事實(shí)上的工業(yè)標(biāo)準(zhǔn)。2年之前誰會(huì)知道Hibernate會(huì)在今天獨(dú)領(lǐng)風(fēng)騷。既然已經(jīng)不能指望一次性把java技術(shù)的方方面面都學(xué)個(gè)通,在實(shí)際中也只能是需要什么技術(shù)再學(xué)習(xí)什么技術(shù)了。而能否選擇一本好的參考書籍帶來的就是事半功倍和事倍工半的效果。所以我覺得花點(diǎn)時(shí)間放在選擇書籍上面還是很值得的,否則你在后面只會(huì)花更多的時(shí)間。下面我談?wù)勛约哼x擇書籍的一些經(jīng)驗(yàn),不一定正確。首先看作者,像上面提到的那些書的作者,都是業(yè)界鼎鼎大名的,選擇他們的書一般錯(cuò)不了。大家看的書多了,自己胸中自然也會(huì)有一個(gè)list,哪些作者是信得過的。二看出版社,計(jì)算機(jī)書籍方面,Oreilly,Addison-Wesley都是公認(rèn)比較好的出版社。對(duì)于目前比較流行的Java技術(shù),Oreilly的系列是不錯(cuò)的選擇。另外我還會(huì)去看看Amazon網(wǎng)站(/)的書評(píng),一般小于3星級(jí)的書我都不會(huì)考慮。還有一個(gè)好去處theserverside,/的書評(píng),這里的書評(píng)比較有趣,往往都有很激烈的爭(zhēng)論,里面經(jīng)常會(huì)看到一些名人在發(fā)言。我要向所有Java學(xué)習(xí)者推薦,如果我的收藏夾里面只能存放兩個(gè)網(wǎng)站,我會(huì)選擇java.sun和theserverside。在這里你可以了解最新的Java動(dòng)態(tài),可以學(xué)習(xí)第一手的Java資料,可以看到Java高手們(里面不乏業(yè)界大腕)激烈辯論。到此階段,Java Developer的基本功底應(yīng)該算是打好了吧,往后就是不斷學(xué)習(xí)嘍。結(jié)束這一段之前,最后再介紹一本書Oreilly的,因?yàn)槲矣X得多線程編程屬于Java基本功,每一個(gè)想學(xué)好Java的人都應(yīng)該好好掌握。提高篇在這個(gè)階段應(yīng)該從軟件架構(gòu),F(xiàn)ramework層次上來學(xué)習(xí)了。作為面向?qū)ο蟮氖ソ?jīng), 這本書是不得不推薦的。不用再多說了,這本在面向?qū)ο箢I(lǐng)域地位完全是屬于教父級(jí)別的。不管你學(xué)習(xí)的是什么OO語言,不管你現(xiàn)在是用.Net還是J2EE開發(fā),這本書都是你進(jìn)階之路上的必讀之書。而則專門針對(duì)于J2EE來討論設(shè)計(jì)模式,書中Sun Java Center的資深設(shè)計(jì)師描述了J2EE關(guān)鍵技術(shù)的模式。最佳實(shí)踐,設(shè)計(jì)策略和經(jīng)過驗(yàn)證的解決方案。對(duì)于每一個(gè)希望成為J2EE 架構(gòu)師或者設(shè)計(jì)師,這本書值得一讀。學(xué)習(xí)設(shè)計(jì)模式的時(shí)候,建議是結(jié)合實(shí)際的源代碼來看,比如看看Junit源代碼,你可以看到很多設(shè)計(jì)模式優(yōu)雅的實(shí)現(xiàn),作者之一Erich Gamma本身就是的作者。至于J2EE的設(shè)計(jì)模式,Sun還開辟了專門的空間/blueprints/patterns/,里面有對(duì)常用模式的討論又提供了詳細(xì)的源代碼樣例。正如Grady Booch所說,模式對(duì)于普遍問題提供了通用的解決方案,利用模式就等于擁有一個(gè)強(qiáng)大的專家隊(duì)伍。如果你還沒有學(xué)習(xí),現(xiàn)在就開始吧。此外對(duì)于面向?qū)ο蠓椒ㄕ?,極限編程的思想也應(yīng)該有所了解/。對(duì)于J2EE項(xiàng)目的具體實(shí)施,Rod Johnson的也很有價(jià)值,該書以作者豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)向我們展示如何用盡可能簡(jiǎn)單的解決方案構(gòu)建J2EE 應(yīng)用,書中作者第一次提出這樣的觀點(diǎn),很多時(shí)候,J2EE應(yīng)用完全沒有必要用到EJB,對(duì)于言必稱EJB的廣大J2EE開發(fā)者來說,怎么說也有點(diǎn)驚世咳俗的味道。當(dāng)然,作為Servlet和JDO兩個(gè)專家組的成員,這可不是作者信口胡騶的。今天風(fēng)靡Java世界的Spring框架最初便是源于此書,而IOC,AOP等概念更是被時(shí)下的java開發(fā)者掛在嘴邊。最后,作為對(duì)Java的深入學(xué)習(xí),Java技術(shù)的各個(gè)Specification也有必要一讀。暫時(shí)就寫到這里吧。一個(gè)牛人給java初學(xué)者的建議(1)2008年03月03日 星期一 20:41給初學(xué)者之一:淺談java及應(yīng)用 學(xué)java不知不覺也已經(jīng)三年了 從不知java為何物到現(xiàn)在一個(gè)小小的j2ee項(xiàng)目經(jīng)理 雖說不上此道高手,大概也算有點(diǎn)斤兩了吧 每次上網(wǎng),泡bbs逛論壇,沒少去java相關(guān)的版面 總體感覺初學(xué)者多,高手少,精通的更少 由于我國(guó)高等教育制度教材陳舊,加上java自身發(fā)展不過十年左右的時(shí)間 還有一個(gè)很重要的原因就是java這門語言更適合商業(yè)應(yīng)用 所以高校里大部分博士老師們對(duì)此語言的了解甚至不比本科生多 在這種環(huán)境下,很多人對(duì)java感到茫然,不知所措,不懂java能做什么 即便知道了java很有用,也不清楚該從哪里入手 所以就有了 java入門難 這一說法 ok,那我們就從java到底能做什么聊起 先說什么是java java是一種面向?qū)ο笳Z言,真正的面向?qū)ο?,任何函?shù)和變量都以類(class)封裝起來 至于什么是對(duì)象什么是類,我就不廢話了 關(guān)于這兩個(gè)概念的解釋任何一本面向?qū)ο笳Z言的教材里面都有 知道了什么是java,那自然就會(huì)對(duì)java能干什么感興趣 在說java能做什么之前,先說java作為一個(gè)真正面向?qū)ο笳Z言的優(yōu)點(diǎn) 首先第一個(gè),既然是真正的面向?qū)ο?,那就要做到徹底的封裝 這是java和c+最大的不同,java所有的源碼以及編譯后的文件都以類的形式存在 java沒有所謂的類外部定義,所有的函數(shù)(方法)以及變量(屬性)都必須在類內(nèi)部定義 這樣就不會(huì)出現(xiàn)一個(gè)類被切割成這里一塊那里一塊的情況,c+就可以,不是么? 這樣做使得整個(gè)程序的結(jié)構(gòu)異常清晰,明了 其次第二個(gè),最讓人歡呼雀躍的是完全屏蔽了指針,同時(shí)引入了垃圾回收機(jī)制 任何一個(gè)寫過c/c+代碼的人,都會(huì)對(duì)內(nèi)存管理深惡痛絕 因?yàn)檫@使得我們不能把主要精力放在我們關(guān)心的事情上 而需要考慮計(jì)算機(jī)內(nèi)部的一些事情,作為一個(gè)軟件工程師 我想沒有一個(gè)人愿意把大量的時(shí)間花在內(nèi)存管理上,畢竟我們不是電子工程師 此時(shí)java的優(yōu)勢(shì)體現(xiàn)出來了,它完全屏蔽了內(nèi)存管理 也就是說,如果你用java寫程序,寫出來的任何一個(gè)程序內(nèi)存上的開銷,都不受你控制 乍一看,似乎你受到了束縛,但實(shí)際上不是這樣 因?yàn)殡m然你的程序無法對(duì)內(nèi)存進(jìn)行管理,降低了一定的速度 但你的程序會(huì)非常非常的安全,因?yàn)槟銦o法調(diào)用一個(gè)空指針 而不像以前寫c的時(shí)候那樣,成天因?yàn)榭罩羔樁鴵?dān)驚受怕 當(dāng)然,如果你深入了解這一行,就會(huì)發(fā)現(xiàn)java其實(shí)也無法保證程序不去調(diào)用空的指針 但是它會(huì)在最大程度上避免空指針的調(diào)用 這已經(jīng)很好了,安全,這是java的最突出的優(yōu)點(diǎn) 第三個(gè),虛擬機(jī)跨平臺(tái),這是java最大的特點(diǎn),跨平臺(tái) 可能所有人都知道windows,但是不是所有人都知道unix 和java一樣,很多人都不知道unix這種操作系統(tǒng)干什么用 我不想多說unix的應(yīng)用,這不是主要,但是我要說,大部分小型機(jī) 工作站,都跑在unix一族的操作系統(tǒng)上,比如linux/solaris unix比起windows有一個(gè)最顯著的特點(diǎn),穩(wěn)定,這就好比思科和華為 思科的機(jī)器慢但穩(wěn)定,華為的機(jī)器快但不穩(wěn)定,作為服務(wù)器這一端來說 要的皇怯卸囁歟 俏榷 評(píng)nix在服務(wù)器端還是非常有市場(chǎng)的 而且很重要的windows不安全,在ms的宣傳中我想所有人都很少看到安全二字 因?yàn)閣indows操作系統(tǒng)針對(duì)的是pc用戶,pc死機(jī)就死機(jī)咯,大不了重啟 瘟95最經(jīng)常冒出來的就是藍(lán)屏,在服務(wù)器這一端上因?yàn)閙s沒有自己的芯片 所以要做系統(tǒng)有些力不從心啊。扯遠(yuǎn)了,那么java可以做到在windows上編譯 一個(gè)牛人給java初學(xué)者的建議(2)2008年03月03日 星期一 20:42那么說到這里,java能做什么逐漸清晰起來 剛才說到了,java程序有一個(gè)的特點(diǎn)是安全 這個(gè)安全是針對(duì)你的系統(tǒng)來說得,系統(tǒng)在跑了java程序之后會(huì)特別地穩(wěn)定 而且還能跨平臺(tái),那么很明顯,java主要應(yīng)用于除了windows操作系統(tǒng)以外所有的平臺(tái) 比如手機(jī),服務(wù)器 想想看,如果你寫的程序要跑在手機(jī)上,而手機(jī)有多少款用的是windows? 就算有,那如果你用c/c+,是不是要針對(duì)每一款手機(jī)寫一套程序呢? 累死,那跨平臺(tái)的java就不用,做到編譯一次,隨時(shí)運(yùn)行 同樣,在服務(wù)器這一端,如果我想給一個(gè)網(wǎng)絡(luò)門戶站點(diǎn),比如sina 寫一個(gè)應(yīng)用程序,pc的性能肯定無法滿足sina這樣大站點(diǎn)并發(fā)數(shù)量的要求 那么它就需要買服務(wù)器,那么服務(wù)器ms沒有市場(chǎng),而且windows很不安全 那么十之八九會(huì)買一個(gè)sun/ibm的機(jī)器,或者h(yuǎn)p,但不管是誰的機(jī)器 它裝的操作系統(tǒng)也不會(huì)是windows,因?yàn)閣indows太不安全了,而且多核的支持太差了 這個(gè)有空再說,那么如果你要寫一個(gè)程序在這樣的機(jī)器上跑 難道我們就在這個(gè)機(jī)器上做開發(fā)么?當(dāng)然不可能,一般程序員開發(fā)用的都是pc,windows 那么該怎么辦?寫一個(gè)程序,然后再拿到服務(wù)器上去編譯,去調(diào)試? 肯定不可能,所以我們就希望找到一個(gè)語言,編譯完生成程序之后 在pc上調(diào)試,然后直接移植到服務(wù)器上去,那么此時(shí),我們就會(huì)毫不猶豫地選擇java 因?yàn)樵诳缙脚_(tái)以及安全性來說,java永遠(yuǎn)是第一選擇 ok,下面說java的缺點(diǎn) 一慢,這其實(shí)是一種誤區(qū),這就好比goto語句一樣 java也拋棄了指針,雖然看上去似乎變慢了,但是在這個(gè)兩三年硬件性能就能翻番的年代 速度已經(jīng)不是我們關(guān)心的問題了,而且對(duì)于企業(yè)級(jí)的應(yīng)用來說 沒有什么比安全穩(wěn)定更重要的,換句話說,我們可以忍受慢,但是不能忍受死機(jī)和藍(lán)屏 而且越大型的應(yīng)用,這種慢的劣勢(shì)體現(xiàn)得越模糊 因?yàn)楫?dāng)系統(tǒng)項(xiàng)目越做越大,任何一個(gè)環(huán)節(jié)做不好都可能影響全局的情況下 安全尤其重要,而且就像goto語句一樣 這種過分追求速度的主張會(huì)給系統(tǒng)開發(fā)和糾錯(cuò)以及維護(hù)帶來無可挽回甚至不可避免的損失 把內(nèi)存交給計(jì)算機(jī)去管理吧,這種代價(jià)值得 我們做的不是pc游戲,沒必要把內(nèi)存的那一點(diǎn)點(diǎn)消耗當(dāng)親爹 二難看,又是一個(gè)誤區(qū),很多人甚至拿出java swing控件畫出的界面來說 呵呵,其實(shí)java不是不能畫得好看,IDEA就是java寫的IDE,挺漂亮的 但為什么難看呢,是因?yàn)閟wing控件它本身就是unix時(shí)代的產(chǎn)物,swing控件貼近unix界面 老外看unix界面其實(shí)挺順眼的,他們就是吃u(píng)nix飯長(zhǎng)大的 而unix又是吃百家飯的,不像ms那么唯利是圖,所以不怎么對(duì)中國(guó)人友好 加上我國(guó)又沒有公司在做操作系統(tǒng),所以看上去是不怎么順眼 其實(shí)玩過unix的人都知道,unix對(duì)中文的支持一直不怎么好 三我還沒想到,其他人補(bǔ)充一個(gè)牛人給java初學(xué)者的建議(3)2008年03月03日 星期一 20:44給初學(xué)者之二:從JDK說起在知道了java有什么優(yōu)點(diǎn),能做什么之后 就該說一下java該如何去學(xué)了 在說java如何去學(xué)之前,有必要把java的幾個(gè)大方向做一個(gè)簡(jiǎn)單說明 早在五年前,嗯,應(yīng)該說是六年前,也就是99年的時(shí)候 sun公司做出了一個(gè)決定,將java應(yīng)用平臺(tái)做一個(gè)劃分 畢竟在不同領(lǐng)域,語言應(yīng)用特性是有區(qū)別的 針對(duì)不同領(lǐng)域內(nèi)的應(yīng)用,sun公司可以發(fā)布相關(guān)高端標(biāo)準(zhǔn)來統(tǒng)一規(guī)范代碼 這三大塊就是J2SE,J2EE以及J2ME 這個(gè)舉措今天看來無疑是非常了不起的 正是由于這次革命性的發(fā)展,使java從一種小打小鬧游戲性的語言 發(fā)展成為今天企業(yè)級(jí)應(yīng)用的基礎(chǔ) 這里要特別說明一下J2SE J2EE J2ME中2的意思 其實(shí)2就是英文單詞to的諧音,就是to的意思 而不是second edition,當(dāng)然java 2本身版本號(hào)就是1.2,也有點(diǎn)2nd edition的味道 說點(diǎn)題外的,sun公司發(fā)布的java版本很有意思 雖然總是寫是1.X但其實(shí)外界對(duì)這種版的說法也就是X.0 比如java 2,其實(shí)就是java 1.2 1.3其實(shí)就是3.0,1.4就是4.0,現(xiàn)在所說的5.0 其實(shí)就是1.5 只是以前我們更習(xí)慣叫1.X而已 可能到了5.0以后,就全改叫X.0而不是1.X了 所以以后聽到別人說java 5.0,千萬別驚訝,其實(shí)就是1.5 在這三個(gè)J2*E中J2SE是基礎(chǔ),就是java 2的標(biāo)準(zhǔn)版(java 2 standard edition) 也就是最基礎(chǔ)的java語言部分,無論學(xué)什么java技術(shù),J2SE都是必須掌握的 要使用J2SE就必須安裝JDK(java development kit) JDK在sun公司的主頁上可以免費(fèi)下載,下載后需要安裝,具體安裝流程看教材 JDK包含有五個(gè)部分:核心API,集成API,用戶界面API,發(fā)布技術(shù)還有java虛擬機(jī)(JVM) 一個(gè)牛人給java初學(xué)者的建議(4)2008年03月03日 星期一 20:45先說運(yùn)行環(huán)境,運(yùn)行環(huán)境最主要要說的就是java虛擬機(jī)(JVM) 前面我們說過java是跨平臺(tái)的語言,那么如何做到跨平臺(tái)呢?畢竟每種操作系統(tǒng)都是不同的 java的設(shè)計(jì)者們提出了一個(gè)虛擬機(jī)的概念 在操作系統(tǒng)之上建立一個(gè)統(tǒng)一的平臺(tái),這個(gè)平臺(tái)必須實(shí)現(xiàn)某些功能以支持程序的運(yùn)行 如下圖: - | program | - | JVM | - | UNIX | Windows | Linux | Solaris |. - 程序員所寫的每一個(gè)程序都先運(yùn)行在虛擬機(jī)上 所有操作都必須經(jīng)過虛擬機(jī)才能和操作系統(tǒng)交互 這樣做不僅統(tǒng)一了所有操作系統(tǒng),同時(shí)也保證了操作系統(tǒng)的安全 要死機(jī)的話,死的是虛擬機(jī)(JVM)而操作系統(tǒng)并不會(huì)受此影響 而我們所說的java運(yùn)行環(huán)境指的主要是JVM,其他的不說了,省略 下面說說JDK(java development kit)的API,其實(shí)用JDK來包括運(yùn)行環(huán)境以及開發(fā)工具 個(gè)人感覺是不恰當(dāng)?shù)?,因?yàn)檫@三個(gè)單詞僅能說明開發(fā)工具,也就是幾個(gè)標(biāo)準(zhǔn)的API 而沒有讓人感覺到有運(yùn)行環(huán)境的意思在里面,這是題外 那么什么是API? 簡(jiǎn)單地說就是Application Programming Interface,應(yīng)用程序編程接口 在java里面,就是一些已經(jīng)寫好了的類打成的包 這又要解釋什么是類什么是包了,簡(jiǎn)單說一下,包就是類的集合 一個(gè)包包含零個(gè)或多個(gè)類,嗯,具體的可以去看書 這些類是java的基礎(chǔ)類,常用的類,可以簡(jiǎn)單理解成java的工具集 最后說一下JDK的發(fā)布技術(shù),其實(shí)按我的理解,講白了就是編譯器 將.java文件轉(zhuǎn)換成.class文件的一種技術(shù) 這三部分組成了JDK,有了JDK,就可以開發(fā)出J2SE應(yīng)用軟件了 最原始的只要用一個(gè)記事本寫幾行代碼就可以了 但一般來說我們會(huì)使用效果比較好的開發(fā)工具,也就是IDE 在J2SE這一塊,特別推薦JCreator這款I(lǐng)DE sun公司的產(chǎn)品,與JDK結(jié)合得幾乎是天衣無縫,非常適合初學(xué)者使用 教材方面中文的推薦電子工業(yè)出版社出版的java教程初級(jí)與高級(jí)篇各一本 還有就是21天學(xué)通java雖然有人說21天系列是爛書,但個(gè)人感覺 對(duì)于j2se,這本書翻譯得已經(jīng)很不錯(cuò)了,基本沒有什么語法錯(cuò)誤,語句也很通順 最后要說的就是thinking in java 這本書自然很經(jīng)典,說得比較細(xì),只是我覺得不太適合初學(xué)者,其實(shí)也不難 初學(xué)者直接看也不成問題,但個(gè)人感覺還是找本教材也就是前面推薦的兩款來看比較好 基本概念的理解還是用教材的,畢竟thinking in java有的版本翻譯得很爛 而且個(gè)人建議還是看原版比較好,當(dāng)然這幾本都看最好了,但如果沒時(shí)間 至少精讀其中一本,然后再看其他兩本就可以,其實(shí)三本書內(nèi)容也差不多 但看問題的角度方式以及面向的讀者也都不同,嗯,怎么說呢,找適合自己的吧 最后要說的是 由于虛擬機(jī)的存在,J2SE的大多數(shù)軟件的使用會(huì)比一般桌面軟件慢一些 效果不盡如人意,現(xiàn)在大概只有swing控件還在使用吧,其它沒怎么聽說 J2EE&J2ME 這是java應(yīng)用的重中之重,如果想拿高薪,最好把J2EE學(xué)好 記得以前在csdn上看過一個(gè)調(diào)查,月薪上萬的程序員主要從事哪方面的工作 十個(gè)中有八個(gè)是做J2EE的,其他兩個(gè)一個(gè)做J2ME,還有一個(gè)做嵌入式 也許有些夸張,但也從某一方面說明J2EE人才的稀缺以及應(yīng)用的廣泛 所以如果想學(xué)java,只精通j2se是永遠(yuǎn)不夠的,至少還需要時(shí)間去了解其它兩個(gè)J2*E給初學(xué)者之三:java企業(yè)級(jí)應(yīng)用之硬件篇總算講到企業(yè)級(jí)應(yīng)用了,內(nèi)容開始逐漸有趣起來java企業(yè)級(jí)應(yīng)用分為硬件篇和軟件篇重點(diǎn)在軟件,硬件是外延,嚴(yán)格地說與java沒有必然聯(lián)系但是,由于java是網(wǎng)絡(luò)語言,不了解硬件的一些基礎(chǔ)知識(shí)軟件知道再多也沒什么用,不要上了戰(zhàn)場(chǎng)還不知道為什么而打仗硬件是軟件的基礎(chǔ),在這個(gè)前提下,有必要專門花一點(diǎn)點(diǎn)篇幅來聊一下硬
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村板車出售合同范例
- 公司注銷業(yè)務(wù)合同范本
- 中醫(yī)診所招聘合同范本
- 單位出售土地合同范本
- 公司車定維修合同范本
- 共享出租場(chǎng)地合同范本
- 勞務(wù)聯(lián)營(yíng)合同范例
- 加油站出租合同范本
- 企業(yè)賦能合同范本
- 二手房房東出租合同范例
- (2024年)中國(guó)傳統(tǒng)文化介紹課件
- 糖尿病患者飲食指導(dǎo)課件
- 人工智能數(shù)據(jù)標(biāo)注百億產(chǎn)業(yè)詳細(xì)介紹
- 2023年高考真題-地理(天津卷) 含答案
- 2024年10月自考02160流體力學(xué)試題及答案含評(píng)分參考
- 2025年公務(wù)員考試《行測(cè)》模擬題及答案(詳細(xì)解析)
- 2024年黑龍江省牡丹江市中考?xì)v史試卷
- 滬科版八年級(jí)物理知識(shí)點(diǎn)總結(jié)
- 孫權(quán)勸學(xué)(原卷版)-2024年中考語文之文言文對(duì)比閱讀
- 高速公路日常清掃與養(yǎng)護(hù)方案
- 風(fēng)電epc合同模板
評(píng)論
0/150
提交評(píng)論