版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Java基礎(chǔ)什么是類?類是某一種事物的一般性的集合體,是相同的或相似的各個(gè)事物共同特性的一種抽象。什么是對(duì)象?在面向?qū)ο蟾拍钪?,?duì)象是類的實(shí)例。對(duì)象與類的關(guān)系就像變量與數(shù)據(jù)類型的關(guān)系同樣。類的核心特性封裝性:類的封裝性為類的成員提供公有的、缺省的、保護(hù)的、私有的等多級(jí)訪問權(quán)限。目的是隱藏類中的私有變量和類中方法的實(shí)現(xiàn)細(xì)節(jié)。繼承性:類的繼承性提供從已存在的類創(chuàng)建新類的機(jī)制,繼承使一個(gè)新類自動(dòng)擁有被繼承類的所有可繼承的成員。多態(tài)性:類的多態(tài)性提供類中方法執(zhí)行的多樣性,有兩種表現(xiàn)形式:重載和覆蓋。方法:對(duì)象中方法表達(dá)了對(duì)象所具有的行為。屬性:一個(gè)對(duì)象的屬性是可以被外界或?qū)ο笏幍沫h(huán)境所感知或操縱的數(shù)據(jù)或狀態(tài)。什么是Java?Java是一門易于編程的跨平臺(tái)編程語(yǔ)言,同時(shí)又是一個(gè)開發(fā)、應(yīng)用、執(zhí)行和部署的平臺(tái)。為什么要有Java?Java與平臺(tái)無(wú)關(guān)、一次編譯處處運(yùn)營(yíng)、以及他的易于編程的特性。Java開發(fā)程序的環(huán)節(jié)?編寫源代碼(2)編譯(3)執(zhí)行Java的環(huán)境變量JAVA–HOMEjdk的安裝途徑CLASSPATHjvm轉(zhuǎn)載class字節(jié)碼文獻(xiàn)時(shí)的搜索途徑PATH是系統(tǒng)的環(huán)境變量、命令的搜索途徑JVM:JavaVirtualMachine是一個(gè)邏輯的操作系統(tǒng)、它屏蔽了硬件和平臺(tái)的信息、jvm能將字節(jié)碼文獻(xiàn)解釋并執(zhí)行、正是這種獨(dú)立執(zhí)行的方式是Java具有與平臺(tái)無(wú)關(guān)的特性。類的加載過(guò)程:類加載器加載字節(jié)碼文獻(xiàn)到內(nèi)存、jvm內(nèi)存數(shù)據(jù)區(qū)將對(duì)象狀態(tài)放置在堆區(qū)、各線程使用的變量放在棧區(qū)、類的特性放在方法區(qū)、然后進(jìn)行字節(jié)碼驗(yàn)證再執(zhí)行。常用的Java命令:Javac、java、javadoc、jar類的語(yǔ)法與規(guī)范一個(gè)源文獻(xiàn)只能有一個(gè)public的類Public源文獻(xiàn)可以有多個(gè)類定義源文獻(xiàn)名必須與public類名保持一致包名必須放在第一行包名可以有0個(gè)或1個(gè)但不能有多個(gè)源文獻(xiàn)假如帶包的話最佳存放在包結(jié)構(gòu)相應(yīng)的目錄下標(biāo)記符程序語(yǔ)言用于標(biāo)記變量名類名方法名的字符串就是標(biāo)記符。標(biāo)記符必須字母下劃線美元符開頭大小寫敏感。類名規(guī)定首字母大寫方法名首字母小寫每個(gè)單詞首字母大寫常量名所有字母大寫假如有兩個(gè)或幾個(gè)字母的聯(lián)合用下劃線連接關(guān)鍵字:程序語(yǔ)言中、程序已經(jīng)所有用戶不能再使用的單詞一般關(guān)鍵字都是小寫14.數(shù)據(jù)類型:基本數(shù)據(jù)類型:整型(byte、short、int、long)默認(rèn)是int浮點(diǎn)型(float、double)、默認(rèn)是double布爾型(boolean)、字符型(char)引用類型:類、接口、數(shù)組15.main()方法執(zhí)行過(guò)程1)先到方法區(qū)搜索student、假如搜索不到則去加載student的字節(jié)碼文獻(xiàn)2)通過(guò)classpath查找相應(yīng)的student字節(jié)碼文獻(xiàn)找不到就返回錯(cuò)誤(ClassNotFound)3)將字節(jié)碼文獻(xiàn)的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為class對(duì)象放置于方法區(qū)(class對(duì)象描述了student類的方法特性及靜態(tài)成員等)加載完畢4)驗(yàn)證字節(jié)碼文獻(xiàn)5)在堆區(qū)中劃分空間放置student對(duì)象6)在棧區(qū)放置應(yīng)用類型變量stu、stu指向student對(duì)象的地址7)student對(duì)象存放了class對(duì)象的地址8)通過(guò)studentstu引用類型變量的值找到student對(duì)象、通過(guò)student對(duì)象存放class對(duì)象的地址找到相應(yīng)的study()方法然后執(zhí)行。9)釋放資源jvm運(yùn)營(yíng)結(jié)束16.基本類型和引用類型的區(qū)別引用類型存放的是對(duì)象的地址、基本類型存放的是變量的實(shí)際值引用類型變量可用指向復(fù)雜的數(shù)據(jù)結(jié)構(gòu)引用類型變量可使用“.”操作來(lái)訪問它所指向的方法或?qū)傩?7.表達(dá)式運(yùn)算符和操作數(shù)按照一定的規(guī)則組成的語(yǔ)句.賦值運(yùn)算符“=”比較運(yùn)算符“<”“>”“<=”“>=”相等運(yùn)算符“==”位運(yùn)算符~:取反、^:異或、|:或、&:與邏輯運(yùn)算符“&&”“||”條件運(yùn)算符a?b:c18.變量的作用域(1)類的成員變量:靜態(tài)成員變量:生命周期從類加載開始到類被卸載結(jié)束初始化后被放在方法區(qū)實(shí)例成員變量:變量初始化放在堆區(qū)、生命周期從生成對(duì)象開始到對(duì)象被回收時(shí)結(jié)束(2)局部變量:方法或代碼塊中定義的變量、局部變量從棧區(qū)彈出結(jié)束、局部變量在使用前必須初始化(3)方法的參數(shù)(4)異常的參數(shù)19.數(shù)組:是相同類型元素的線性集合是一個(gè)指向數(shù)組的引用對(duì)象20.集合框架Iterator是一個(gè)迭代器接口ListIterator繼承自Iterator是子接口只能用于list接口Collection是集合框架的頂層接口List有序可反復(fù)ArrayList實(shí)現(xiàn)了可變數(shù)組的數(shù)據(jù)結(jié)構(gòu)LinkedList實(shí)現(xiàn)了雙向鏈表的數(shù)據(jù)結(jié)構(gòu)Set無(wú)序不可反復(fù)HashSet實(shí)現(xiàn)了無(wú)序不可反復(fù)LinkedHashSet有序不可反復(fù)(插入的順序)TreeSet升序不可反復(fù)Map是一個(gè)key、value對(duì)映射HashMap按照key無(wú)序LinkedHashMap按照key有序TreeMap按照key升序Collections是集合框架的輔助類(工具類)里邊的所有方法都是static的Arrays是對(duì)數(shù)組的工具類Comparable、Comparator是做比較排序的21.Vector和ArrayList的區(qū)別:1)Vector是線程安全的(同步的)ArrayList不是ArrayList的效率高一些2)當(dāng)初始容量滿的時(shí)候Vector增長(zhǎng)本來(lái)的一倍、ArrayList增長(zhǎng)本來(lái)的一半22.HashTable和HashMap的區(qū)別:1)HashTable是線程安全HashMap不是HashMap的效率會(huì)高一些2)HashMap允許null的key存在HashTable不允許23.Setset=Map.keySet();Iteratorit=set.iterator();While(it.hasnext()){}24.類的結(jié)構(gòu)類名、屬性名(靜態(tài)屬性、實(shí)例屬性)、方法(靜態(tài)方法、實(shí)例方法)、構(gòu)造器(缺省構(gòu)造器、帶參構(gòu)造器)靜態(tài)代碼塊static、實(shí)例代碼塊this.25.參數(shù)傳遞對(duì)于基本類型將實(shí)際的變量的值原樣的賦值以便傳值對(duì)于引用類型將引用類型變量的地址賦值給實(shí)參26.this關(guān)鍵字都在什么地方使用1)實(shí)例變量與局部變量同名用this區(qū)分實(shí)例變量名與局部變量名2)在構(gòu)造器重載時(shí)、用this調(diào)用其它構(gòu)造器3)在實(shí)例方法中用來(lái)當(dāng)作當(dāng)前對(duì)象的引用傳給其它方法27.方法的重載方法名要相同、在同一類中多個(gè)方法有不同的方法署名方法署名具有參數(shù)類型參數(shù)個(gè)數(shù)和參數(shù)順序、返回類型不做規(guī)定28.類的初始化過(guò)程1)在堆區(qū)分派空間new的過(guò)程2)給對(duì)象屬性賦默認(rèn)值3)調(diào)用構(gòu)造方法進(jìn)一步賦值29.構(gòu)造器類中提供的用于初始化對(duì)象的特殊的方法、這個(gè)方法于類同名無(wú)返回值、類中沒有提供構(gòu)造器jvm會(huì)提供一個(gè)不帶參的缺省構(gòu)造器、類中有帶參的構(gòu)造器jvm就不提供了30.具體說(shuō)明封裝、繼承、和多態(tài)封裝:將類的實(shí)現(xiàn)細(xì)節(jié)隱藏起來(lái)、對(duì)外提供一致的接口、提高系統(tǒng)的維護(hù)性繼承:定義:一個(gè)類自動(dòng)獲得另一個(gè)類的屬性或者方法的過(guò)程使用方面:extends關(guān)鍵字、單根繼承、所有類都是Object類的子類、構(gòu)造器不能被繼承、子類初始化時(shí)會(huì)默認(rèn)情況下調(diào)用父類缺省的構(gòu)造器、子類調(diào)用父類帶參的構(gòu)造器則父類可以不提供缺省的構(gòu)造器否則一定要有個(gè)缺省的構(gòu)造器如何使用繼承?1)區(qū)分has-a和is-a2)子類要擴(kuò)充父類的功能3)子類需要大量置換父類的功能時(shí)不能使用繼承4)不要從工具類中繼承優(yōu)缺陷:優(yōu)點(diǎn):繼承是最容易復(fù)用代碼的形式、修改父類的功能時(shí)子類可以自動(dòng)獲得新的功能缺陷:打破了封裝、只是類型復(fù)用多態(tài):編譯時(shí)編譯器檢查聲明類型和方法信息運(yùn)營(yíng)時(shí)jvm對(duì)實(shí)例方法和引用變量和實(shí)際引用對(duì)象動(dòng)態(tài)綁定,對(duì)靜態(tài)方法和引用變量聲明的類型靜態(tài)綁定類的屬性在編譯階段綁定31.instanceof:判斷實(shí)例是否為某個(gè)類型或子類型只能在父子類進(jìn)行比較Null可以進(jìn)行比較結(jié)果為false判斷實(shí)例類型時(shí),一般從子類開始,然后父類32.override:方法覆蓋。子類重寫父類中的方法子類重寫父類中的方法的條件:方法名相同方法署名相同(參數(shù))返回值相同子類的修飾符要大于等于父類的修飾符子類拋出的異常要小于等于父類拋出的異常33.依賴關(guān)系一個(gè)類中的方法,其局部變量類型是另一個(gè)類,則這兩個(gè)類具有依賴關(guān)系一個(gè)類中的方法調(diào)用另一個(gè)類中的靜態(tài)方法,則這兩個(gè)類具有依賴關(guān)系一個(gè)類中的方法中參數(shù)是另一個(gè)類的靜態(tài)方法,則這兩個(gè)類具有依賴關(guān)系34.多態(tài)的運(yùn)營(yíng)機(jī)制(1)在類編譯階段,編譯器會(huì)檢查類型是否匹配(2)在運(yùn)營(yíng)階段,jvm會(huì)調(diào)用實(shí)例的相應(yīng)方法,先檢查父類方法,然后檢查子類方法,然后會(huì)檢查實(shí)例聲明的類型35.Super調(diào)用父類的屬性和方法、子類和父類有同名的方法時(shí),子類可用super區(qū)分是父類的方法36.final(1)final修飾的類不能被繼承(2)final修飾的方法不能被覆蓋(3)final修飾的變量是常量,常量不可修改但有例外實(shí)例常量:若定義時(shí)沒有賦值,則可以在構(gòu)造器或?qū)嵗a塊中賦值,構(gòu)造器或者代碼塊賦值只能有一個(gè)靜態(tài)常量:若定義時(shí)沒有賦值,則可以在靜態(tài)代碼塊中賦值,37.抽象類具有部分實(shí)現(xiàn)的類。使用時(shí)的注意事項(xiàng):不能實(shí)例化可有0到多個(gè)抽象方法可有構(gòu)造器具體類繼承抽象類時(shí)必須實(shí)現(xiàn)所有的抽象方法抽象類可以間接的被子類調(diào)用其構(gòu)造器,并在內(nèi)存中分派空間,間接實(shí)例化抽象類可以有靜態(tài)方法,可以返回其子類的實(shí)例如何使用抽象類?把各個(gè)類中可以共用的方法和邏輯放到抽象的父類中,越多越好屬性應(yīng)盡也許放到子類中38.接口定義:從宏觀角度說(shuō)是一個(gè)規(guī)范,從面向?qū)ο蠼嵌日f(shuō),接口是一種抽象類型屬性是常量,一定要賦值方法是抽象方法沒有構(gòu)造器接口支持casting(強(qiáng)制類型轉(zhuǎn)換)接口可以繼承自多個(gè)接口實(shí)現(xiàn)接口的類必須要實(shí)現(xiàn)所有的方法,假如是抽象類可以選擇實(shí)現(xiàn)部分的方法為什么要使用接口?可插拔性的保證,可以隨意更換接口的實(shí)現(xiàn)類接口可以解決多繼承的問題接口使規(guī)范的制定者、實(shí)現(xiàn)者、使用者分開39.接口和抽象類的區(qū)別(1)接口沒有任何實(shí)現(xiàn),而抽象類可以有部分實(shí)現(xiàn)也可以沒有(2)假如需要復(fù)用或者共享代碼,應(yīng)當(dāng)用抽象類而不是接口(3)繼承無(wú)法解決的類型轉(zhuǎn)換問題,接口是為解決這問題而產(chǎn)生的40.訪問控制作用域當(dāng)前類同一package子孫類其他packagepublic√√√√protected√√√×default√√××private√×××41.static修飾符可以修飾屬性,稱為靜態(tài)屬性,全類公有常叫做類變量,和具體對(duì)象無(wú)關(guān),無(wú)多態(tài),類名去訪問,類加載的時(shí)候初始化修飾方法,靜態(tài)方法中只能訪問靜態(tài)成員,非靜態(tài)方法可以訪問靜態(tài)成員,工具類的對(duì)象都是static的修飾代碼塊,初始代碼塊是在類中,而不在任何方法之內(nèi)的代碼塊,被static修飾的代碼塊稱為靜態(tài)代碼塊,靜態(tài)代碼塊在類加載的時(shí)候運(yùn)營(yíng)一次42.異常定義:jvm將程序運(yùn)營(yíng)中的不正常情況的現(xiàn)場(chǎng)信息打包成一個(gè)對(duì)象,這個(gè)對(duì)象就是異常類對(duì)象。并且將此對(duì)象拋出,交由相應(yīng)的方法或?qū)ο蠼鉀Q。異常信息記錄了錯(cuò)誤的因素,指出了錯(cuò)誤的位置,打印錯(cuò)誤的棧信息。異常解決機(jī)制是責(zé)任鏈機(jī)制即子類取默認(rèn)值不解決,交由父類解決直到追究到j(luò)vm然后拋給用戶43.為什么解決異常?最本質(zhì)的因素是讓程序執(zhí)行完畢44.異常類的層次結(jié)構(gòu)Throwable:Error:是錯(cuò)誤,程序運(yùn)營(yíng)中發(fā)生的系統(tǒng)異常,此種異常當(dāng)前程序一般無(wú)法解決Exeption:checked()編譯器逼迫必須捕獲并解決的異常Unchecked(RuntimeExeption、)對(duì)于此種異常編譯器不規(guī)定捕獲因素是:低檔錯(cuò)誤(low-grademistake)、程序員可以避免的錯(cuò)誤當(dāng)錯(cuò)誤發(fā)生時(shí)、捕獲異常也無(wú)濟(jì)于事45.如何解決異常(1)交給自己解決、交由當(dāng)前方法解決(2)交給別人解決、由調(diào)用該方法的方法來(lái)解決(3)自己解決一部分、然后調(diào)用系統(tǒng)的異常方法方法(2)的環(huán)節(jié):在方法后聲明也許發(fā)生的異常類型(throwsExceptiontype)該方法不用在做其它異常解決調(diào)用方法必須解決被調(diào)用方法的異常46.throw的注意事項(xiàng)(1)throw可以拋另一種類型的異常(2)throw語(yǔ)句后不能再有其它代碼、throw后的代碼永遠(yuǎn)不會(huì)被執(zhí)行47.異常的捕獲try{}catch(Exceptiontype1){methodbody1}catch(Exceptiontype2){methodbody2}在try{}catch{}語(yǔ)句中也許拋出不止一個(gè)異常、但是每個(gè)時(shí)刻只能拋出一個(gè)異常對(duì)也許拋出的每一種異常分別用catch{}來(lái)解決Catch語(yǔ)句解決多重異常應(yīng)遵從從子類到父類的順序48.finally用于資源的釋放、在異常解決中finally一定會(huì)被執(zhí)行到、Finally語(yǔ)句中假如有return語(yǔ)句、正常運(yùn)營(yíng)先執(zhí)行finally再執(zhí)行return語(yǔ)句返回當(dāng)發(fā)生異常時(shí)、先執(zhí)行catch語(yǔ)句捕獲異常、假如沒有catch語(yǔ)句、則執(zhí)行finally語(yǔ)句及其后語(yǔ)句49.自定義異常為什么要自定義異常?Java程序員可定義更多的方法來(lái)解決異常、自定義異??梢蕴峁└鼜?fù)雜更具體的方法、這樣能極大的加強(qiáng)軟件的健壯性、代碼更加清楚如何自定義異常(1)繼承Exeption使你的自定義異常變成checked異常(2)繼承RuntimeExeption使你的自定義異常變成unchecked異常50.IO:流是數(shù)據(jù)輸入輸出的通道、流中的數(shù)據(jù)是有序的流的分類:按數(shù)據(jù)流動(dòng)方向:輸入流、輸出流輸入流:只能從中讀取字節(jié)數(shù)據(jù)、而不能向其寫出數(shù)據(jù)輸出流:只能從中寫出字節(jié)數(shù)據(jù)、而不能向其讀取數(shù)據(jù)按流所解決的數(shù)據(jù)類型:字節(jié)流:解決字節(jié)數(shù)據(jù)字符流:解決字符數(shù)據(jù)按流所解決的源:節(jié)點(diǎn)流:從一個(gè)特定的IO設(shè)備讀寫數(shù)據(jù)的流解決流:對(duì)已存在的流進(jìn)行連接和封裝的流intread():讀取一個(gè)字節(jié),并將它返回。intread(byte[]buffer):將數(shù)據(jù)讀入一個(gè)字節(jié)數(shù)組,同時(shí)返回讀取的字節(jié)數(shù)。voidclose():關(guān)閉流。51.線程線程和進(jìn)程的區(qū)別:每個(gè)進(jìn)程都有獨(dú)立的代碼和數(shù)據(jù)空間、進(jìn)程間的切換會(huì)有較大的開銷線程可以當(dāng)作是輕量級(jí)的進(jìn)程、同一類線程共享代碼和數(shù)據(jù)空間、每個(gè)線程有獨(dú)立的運(yùn)營(yíng)棧和程序計(jì)數(shù)器、線程切換的開銷小。多線程是在同一應(yīng)用程序中有多個(gè)順序流同時(shí)執(zhí)行。多進(jìn)程是在操作系統(tǒng)中能同時(shí)運(yùn)營(yíng)多個(gè)任務(wù)。52.創(chuàng)建線程的兩種方式:(1)定義一個(gè)線程類它繼承Thread并重寫其中的run()方法,方法run()稱為線程體(2)提供一個(gè)實(shí)現(xiàn)接口runable的類作為線程的目的對(duì)象、在初始化一個(gè)thread類或者thread子類的線程對(duì)象時(shí)把目的對(duì)象傳遞給這個(gè)線程實(shí)例、由該目的對(duì)象提供線程體53.比較創(chuàng)建線程的兩種方式:使用runable接口可以(1)將cpu、代碼、數(shù)據(jù)分開、形成清楚的模型(2)可以從其它類繼承(3)保持程序風(fēng)格一致性直接繼承Thread類不能從其它類繼承、編寫簡(jiǎn)樸可以直接操縱線程54.線程狀態(tài)New:創(chuàng)建狀態(tài)。當(dāng)創(chuàng)建一個(gè)新的線程時(shí)、它就處在創(chuàng)建狀態(tài)、此時(shí)它僅僅是一個(gè)空的線程對(duì)象、系統(tǒng)不為它分派資源Runnable:可運(yùn)營(yíng)狀態(tài)。當(dāng)線程處在創(chuàng)建狀態(tài)時(shí)、可調(diào)用start()方法來(lái)啟用它、產(chǎn)生運(yùn)營(yíng)這個(gè)線程所需的系統(tǒng)資源、安排其運(yùn)營(yíng)Dead:死亡狀態(tài)。線程終止(1)自然撤消。線程的run()正常退出(2)強(qiáng)制停止。調(diào)用線程實(shí)例的stop()可以強(qiáng)制停止當(dāng)前線程Blocked:停滯狀態(tài)。(1)通過(guò)sleep()讓線程進(jìn)入休眠狀態(tài)(2)通過(guò)wait()暫停線程(3)線程正等待某個(gè)IO設(shè)備動(dòng)作完畢(4)線程試著調(diào)用另一個(gè)對(duì)象的synchronized函數(shù)、并且尚未取到對(duì)象的機(jī)鎖55.守護(hù)線程(daemonThread)是為其它線程提供服務(wù)的線程、一般應(yīng)是一個(gè)獨(dú)立的線程、它的run()是一個(gè)無(wú)限循環(huán)56.守護(hù)線程與其它線程的區(qū)別假如守護(hù)線程是唯一運(yùn)營(yíng)著的線程、程序會(huì)自動(dòng)退出。57.互斥鎖(對(duì)象鎖)保證共享數(shù)據(jù)的完整性每個(gè)對(duì)象都相應(yīng)于一個(gè)可稱為互斥鎖的標(biāo)記、這個(gè)標(biāo)記用于保證在任意時(shí)候只能有一個(gè)線程訪問該對(duì)象58.使用synchronized的時(shí)機(jī)(1)這個(gè)函數(shù)是否修改對(duì)象內(nèi)關(guān)鍵變量的狀態(tài)、(關(guān)鍵變量是能被其它線程讀取或修改的變量)(2)這個(gè)函數(shù)是否和關(guān)鍵變量的狀態(tài)有依存關(guān)系(3)基類的方法為synchronized時(shí)、synchronized不能被繼承、復(fù)寫時(shí)重新采用synchronized59.釋放鎖假如一個(gè)線程一個(gè)占用一個(gè)對(duì)象的鎖、則其它線程將永遠(yuǎn)無(wú)法訪問該對(duì)象、因此需要在適當(dāng)?shù)臅r(shí)候?qū)?duì)象的鎖歸還當(dāng)線程執(zhí)行到synchronized的塊結(jié)束時(shí)、釋放對(duì)象鎖當(dāng)在synchronized塊中碰到break、return或拋出異常、則自動(dòng)釋放對(duì)象鎖當(dāng)一個(gè)線程調(diào)用wait()時(shí)、它放棄擁有的對(duì)象鎖并進(jìn)入等待隊(duì)列60.死鎖是指兩個(gè)線程都互相等待對(duì)方釋放鎖、是不可預(yù)知或避開的、應(yīng)采用措施避免死鎖的出現(xiàn)。61.sleep()和wait()的區(qū)別(1)Sleep()是Thread類的方法、wait()是Object類的方法(2)Sleep()可以在非synchronized函數(shù)中被調(diào)用、wait()只能在synchronized函數(shù)或同步塊中被調(diào)用(3)Sleep()不會(huì)釋放對(duì)象機(jī)鎖、wait()會(huì)釋放對(duì)象鎖(4)使用場(chǎng)景不同、sleep()方法同一個(gè)線程內(nèi)間隔多長(zhǎng)時(shí)間后再次執(zhí)行此任務(wù)、wait()是多個(gè)線程之間JDBC1.JDBC連接數(shù)據(jù)庫(kù)的基本環(huán)節(jié):(1)注冊(cè)驅(qū)動(dòng)程序(2)建立連接(3)發(fā)送和執(zhí)行sql語(yǔ)句(4)解決結(jié)果(5)釋放資源2.常用對(duì)象(1)connection建立與數(shù)據(jù)庫(kù)的連接DriverManager類的getConnection()將建立數(shù)據(jù)庫(kù)的連接(2)statement將sql語(yǔ)句發(fā)送到數(shù)據(jù)庫(kù)中存在三種statement對(duì)象StatementPreparedStatementCallableStatement(3)Result包含符號(hào)sql語(yǔ)句執(zhí)行結(jié)果集、并且通過(guò)一套get方法提供了對(duì)這些行中的數(shù)據(jù)的訪問3.事務(wù)的基本概念及如何在JDBC中實(shí)現(xiàn)事務(wù)事務(wù)是一些事件的集合、執(zhí)行一條sql語(yǔ)句可以理解成一個(gè)事務(wù)、事務(wù)中包含多個(gè)事件、假如每一個(gè)事件都能執(zhí)行成功的時(shí)候、事務(wù)才執(zhí)行、假如任何一個(gè)事務(wù)不能成功執(zhí)行、事務(wù)的其它事件也不能被執(zhí)行。JDBC解決事務(wù)的代碼:booleandefaultCommit=conn.getAutoCommit();conn.setAutoCommit(false);try{stmt.executeUpdate(strSQL1);stmt.executeUpdate(strSQL2);mit();}catch(Exceptione){conn.rollback();e.printStackTrace();}finally{if(stmt!=null){stmt.close();}if(conn!=null){conn.close();}}conn.setAutoCommit(defaultCommit);Servlet和JSP1.servlet和JSP的關(guān)系JSP是以此外一種方式實(shí)現(xiàn)了servlet、servlet是JSP的初期版本、在JSP中更加注重頁(yè)面的表現(xiàn)、而在servlet中更加注重業(yè)務(wù)邏輯的實(shí)現(xiàn)。因此當(dāng)編寫的頁(yè)面顯示效果比較復(fù)雜時(shí)、首選JSP、或者在開發(fā)過(guò)程中、html代碼經(jīng)常發(fā)生變化而Java代碼相對(duì)比較固定期可以選擇JSP、而我們?cè)诮鉀Q業(yè)務(wù)邏輯時(shí)首選則是servlet、同時(shí)JSP只能解決瀏覽器的請(qǐng)求、而servlet可以解決一個(gè)客戶端的應(yīng)用程序請(qǐng)求、因此servlet加強(qiáng)了web服務(wù)器的功能2.servlet的生命周期(1)服務(wù)器加載servlet(2)創(chuàng)建servlet實(shí)例(3)調(diào)用servlet實(shí)例的init()(4)收到請(qǐng)求(5)調(diào)用service()(6)service()解決請(qǐng)求并將輸出結(jié)果返回客戶端(7)servlet等待下一個(gè)請(qǐng)求、轉(zhuǎn)到(4)繼續(xù)向下執(zhí)行(8)servlet在服務(wù)器調(diào)用destory()然后卸載3.init()調(diào)用時(shí)機(jī)(1)服務(wù)器第一次訪問servlet的時(shí)候被調(diào)用(2)在web.xml中設(shè)立load-on-startup>=0情況下、服務(wù)器啟動(dòng)的時(shí)候調(diào)用4.Destroy()調(diào)用時(shí)機(jī)(1)servlet在被卸載前(2)servlet很長(zhǎng)時(shí)間沒有被使用5.HttpSession接口的功能和使用方法這是一個(gè)java.servelt.http包中的接口、它封裝了會(huì)話的概念它的定義為publicinterfaceHttpSession可以使用HttpSessionsession=request.getSession();來(lái)這種類型的對(duì)象、語(yǔ)法為HttpSessionsession=request.getSession();6.什么是組件、使用組件有什么優(yōu)點(diǎn)現(xiàn)代件開發(fā)都已轉(zhuǎn)向基于組件的開發(fā)、目前代表性的組件技術(shù)有微軟的com和com+、有sun的javabean和EJB、此外尚有CORBA(CommonObjectRequestBrokerArchitecture,公共對(duì)象代理結(jié)構(gòu))、javabean規(guī)范將軟件組件的概念引入到了java編程里面、組件是自包含的、可重用的軟件單元、而javabean組件則可使用可視的應(yīng)用程序開發(fā)工具、可視的將他們編寫到j(luò)ava程序中、javabean規(guī)范為java開發(fā)人員提供了一種組件化其java類的方法、其最大優(yōu)點(diǎn)是代碼的復(fù)用。7.編寫javabean時(shí)需要注意哪些?(1)假如類的成員變量的名字是xxx、為了更改和獲得其成員變量的值、在類中使用兩個(gè)方法:getXxx()是用來(lái)獲取屬性、setXxx()是用來(lái)修改屬性(2)類中的方法訪問屬性必須是public的(3)必須放在一個(gè)包中(4)類中要有public(公有的)無(wú)參的構(gòu)造函數(shù)8.簡(jiǎn)述JSP的設(shè)計(jì)模式Modle1JSP+Javabean在這種模式中JSP頁(yè)面獨(dú)自響應(yīng)請(qǐng)求并將解決結(jié)果返回客戶、所有的數(shù)據(jù)庫(kù)操作通過(guò)javabean來(lái)實(shí)現(xiàn)、大量的使用這種設(shè)計(jì)模式常會(huì)導(dǎo)致在jsp頁(yè)面中嵌入大量的java代碼、當(dāng)需要解決的業(yè)務(wù)邏輯非常復(fù)雜時(shí)、這種情況就變得很糟糕、大量的java代碼使得jsp頁(yè)面變得非常臃腫、前端的頁(yè)面設(shè)計(jì)人員稍有不慎就有也許破壞關(guān)系到業(yè)務(wù)邏輯的代碼優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)樸、適合快速的開發(fā)小型項(xiàng)目Modle2MVC設(shè)計(jì)模式采用只包含控制邏輯的servlet作為前端控制器接受客戶請(qǐng)求、再轉(zhuǎn)發(fā)到相應(yīng)的jsp頁(yè)面解決顯示邏輯、并輔以javabean實(shí)現(xiàn)相關(guān)的業(yè)務(wù)邏輯、合用于大規(guī)模系統(tǒng)的開發(fā)和管理缺陷:增長(zhǎng)了應(yīng)用開發(fā)的復(fù)雜限度9.在javaservletAPI中forward()和redirect()的區(qū)別前者僅是容器中控制權(quán)的轉(zhuǎn)向、在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址后者則是完全跳轉(zhuǎn)、瀏覽器將會(huì)得到跳轉(zhuǎn)的地址、并重新發(fā)送請(qǐng)求連接、從瀏覽器地址欄中可以看到跳轉(zhuǎn)后的連接地址、所以前者更加高效、在前者可以滿足需要時(shí)盡量使用forward()并且這樣也有助于隱藏實(shí)際的連接、比如需要跳轉(zhuǎn)到一個(gè)其它服務(wù)器上的資源、則必須使用sendRedirect()10.JSP的內(nèi)置對(duì)象request客戶端請(qǐng)求response網(wǎng)頁(yè)傳回客戶端的回應(yīng)pageContext管理頁(yè)面屬性session與請(qǐng)求有關(guān)的會(huì)話期application應(yīng)用程序級(jí)變量out用來(lái)傳送回應(yīng)傳送的輸出configservletConfig的一個(gè)實(shí)例代表jsp頁(yè)面自身exeption針對(duì)錯(cuò)誤網(wǎng)頁(yè)未捕獲的例外11.Jsp的標(biāo)準(zhǔn)動(dòng)作Jsp:include在頁(yè)面請(qǐng)求的時(shí)候引入一個(gè)文獻(xiàn)Jsp:usebean尋找或?qū)嵗粋€(gè)javabeanJsp:setProperty設(shè)立javabean的屬性Jsp:getProperty輸出javabean的屬性Jsp:forward把請(qǐng)求轉(zhuǎn)到一個(gè)新的頁(yè)面12.Jsp中的動(dòng)態(tài)include與靜態(tài)include的區(qū)別語(yǔ)法上、靜態(tài)<%@includefile=””%>動(dòng)態(tài)<jsp:includepage=””/>狀態(tài)上、靜態(tài)的是編譯時(shí)包含、動(dòng)態(tài)的是運(yùn)營(yíng)時(shí)包含針對(duì)對(duì)象來(lái)說(shuō)、靜態(tài)包含的是靜態(tài)頁(yè)面、動(dòng)態(tài)的包含靜態(tài)頁(yè)面和動(dòng)態(tài)頁(yè)面均可包含靜態(tài)的是jsp引擎對(duì)所包含的文獻(xiàn)進(jìn)行語(yǔ)法分析動(dòng)態(tài)的是jsp引擎不對(duì)所包含的文獻(xiàn)進(jìn)行語(yǔ)法分析、只獲得解決結(jié)果、假如包含的內(nèi)容是靜態(tài)內(nèi)容、那么使用include指令、由于它的運(yùn)營(yíng)速度快Struts1.struts的運(yùn)營(yíng)機(jī)制struts架構(gòu)從本質(zhì)上MVC設(shè)計(jì)模式的具體實(shí)現(xiàn)、表達(dá)層一般使用試圖組件實(shí)現(xiàn)、控制器使用控制器組件實(shí)現(xiàn)、而應(yīng)用邏輯層使用模型組件實(shí)現(xiàn)、作為表達(dá)層和應(yīng)用層之間的中介、控制器解決模型和視圖之間、起到了橋梁的溝通作用2.控制器組件的相關(guān)類ActionServlet是struts架構(gòu)中的中央控制器RequestProcessor包含了struts控制器解決servlet請(qǐng)求時(shí)所遵循的控制邏輯Action解決業(yè)務(wù)邏輯ActionForm保存用戶表單數(shù)據(jù)、以便于在不同頁(yè)面間傳遞ActionMapping用于控制在狀態(tài)數(shù)據(jù)改變后的事件解決方式ActionForward用戶指向或者視圖選擇3.struts標(biāo)簽庫(kù)struts-html.tld擴(kuò)展htmlform的jsp標(biāo)記struts-bean.tld擴(kuò)展解決javabean的jsp標(biāo)記struts-logic.tld擴(kuò)展測(cè)試屬性值的jsp標(biāo)記4.struts1的Action是否是線程安全的Struts1Action是單例模式并且必須是線程安全的、由于僅有Action的一個(gè)實(shí)例來(lái)解決所有請(qǐng)求、單例策略限制了struts1Action能做的事、并且要在開發(fā)是特別小心、Action資源必須是線程安全或同步的5.struts的工作流程在web應(yīng)用啟動(dòng)時(shí)就會(huì)加載初始化actionServlet、actionServlet從struts-config.xml文獻(xiàn)中讀取配置信息、把他們存放到各種配置對(duì)象中、當(dāng)ActionServlet接受到一個(gè)客戶請(qǐng)求時(shí)將執(zhí)行如下流程檢索和用戶請(qǐng)求匹配的ActionMapping實(shí)例、假如不存在就返回請(qǐng)求途徑無(wú)效信息假如actionForm實(shí)例不存在、就創(chuàng)建一個(gè)ActionForm對(duì)象、把客戶提交的表單數(shù)據(jù)保存到ActionForm對(duì)象中根據(jù)配置信息決定是否需要表單驗(yàn)證、假如需要驗(yàn)證就會(huì)調(diào)用ActionForm的validate()假如ActionForm的validate()返回null或返回一個(gè)不包含ActionMessage的ActionErrors對(duì)象就表達(dá)表單驗(yàn)證成功ActionServlet根據(jù)ActionMapping所包含的映射信息決定將請(qǐng)求轉(zhuǎn)發(fā)給哪個(gè)Action、假如相應(yīng)的Action實(shí)例不存在、就先創(chuàng)建這個(gè)實(shí)例、然后調(diào)用Action的execute()Action的execute()返回一個(gè)ActionForward對(duì)象、ActionServlet再把客戶請(qǐng)求轉(zhuǎn)發(fā)給ActionForward對(duì)象所指向的jsp組件ActionForward對(duì)象指向jsp組件生成動(dòng)態(tài)網(wǎng)頁(yè)、返回給客戶6.struts1的優(yōu)缺陷優(yōu)點(diǎn):是開源軟件、使開發(fā)者能更進(jìn)一步的了解其內(nèi)部的機(jī)制、業(yè)界標(biāo)準(zhǔn)學(xué)習(xí)資源豐富、標(biāo)簽和頁(yè)面導(dǎo)航(1)運(yùn)用struts提供的標(biāo)簽可以大大節(jié)約開發(fā)時(shí)間(2)維護(hù)擴(kuò)展比較方便、通過(guò)一個(gè)配置文獻(xiàn)即可把握整個(gè)系統(tǒng)個(gè)部分之間的聯(lián)系、這對(duì)于后期的維護(hù)有莫大的好處(3)表現(xiàn)與邏輯分離(4)便于團(tuán)隊(duì)開發(fā)缺陷:(1)大量使用標(biāo)簽對(duì)于初學(xué)者難度很大(2)ActionForm使用不便無(wú)法進(jìn)行單元測(cè)試7.Tiles框架是什么?Tiles框架為創(chuàng)建web頁(yè)面提供了一種模板機(jī)制、它能將網(wǎng)頁(yè)的布局和內(nèi)容分離8.struts的MVC框架Modlestruts沒有提供modle類、這個(gè)業(yè)務(wù)邏輯必須由web應(yīng)用程序的開發(fā)者以javabean或EJB的形式提供、Viewstruts提供ActionForm創(chuàng)建FormBean、用于在controler和view間傳輸數(shù)據(jù)、此外、struts提供了自定義jsp標(biāo)簽庫(kù)、輔助開發(fā)者用jsp創(chuàng)建交互式的以表單為基礎(chǔ)的應(yīng)用程序、應(yīng)用程序資源文獻(xiàn)(.property文獻(xiàn))保存了一些文本常量和錯(cuò)誤信息、可轉(zhuǎn)變成其它語(yǔ)言用于jsp中Controler提供了一個(gè)核心控制器ActionServlet、通過(guò)這個(gè)核心控制器來(lái)調(diào)用其它用戶注冊(cè)的自定義控制器Action、自定義Action需要符號(hào)Struts1的自定義Action的規(guī)范、還需要在struts-config.xml特定配置文獻(xiàn)中進(jìn)行配置、接受jsp輸入字段形成ActionForm、然后調(diào)用一個(gè)Action控制器、9.Struts1和struts2的比較(1)Action類:struts1規(guī)定Action類要擴(kuò)展自一個(gè)抽象基類、struts1的一個(gè)共有的問題是面向抽象類編程而不是面向接口編程struts2的Action類實(shí)現(xiàn)了一個(gè)Action接口、連同其它接口一起實(shí)現(xiàn)可選擇和自定義服務(wù)、提供了一個(gè)名叫ActionSupport的基類實(shí)現(xiàn)一般使用的接口、Action接口不是必須的、任何使用execute()的普通java對(duì)象可以被當(dāng)作struts2的action對(duì)象使用(2)線程模型:struts1Action是單例的、因只有一個(gè)實(shí)例控制所有的請(qǐng)求、單例策略導(dǎo)致了一定的限制、Action資源必須是線程安全或者同步的Struts2對(duì)象對(duì)每一個(gè)請(qǐng)求都實(shí)例化對(duì)象所有沒有線程安全問題(3)Servlet依賴:struts1的Action類的依賴于ServletAPI以HttpServletRequest和HttpServletResponse作為參數(shù)傳遞給execute()Struts2的Action不和容器有關(guān)、Servlet上下文被表現(xiàn)成簡(jiǎn)樸的maps(4)易測(cè)性:測(cè)試struts1的重要障礙是execute()方法暴露了API、stuts2的Action可以通過(guò)實(shí)例化Action測(cè)試、設(shè)立屬性然后調(diào)用方法(5)接受輸入Struts1使用actionform對(duì)象捕獲輸入,向action同樣,actionform必須擴(kuò)展基類。因其他的javabean不能做actionform使用,開發(fā)者經(jīng)常創(chuàng)建多余的類捕獲輸入。Struts2的action屬性做為輸入屬性。排除第2個(gè)輸入對(duì)象的需要,輸入屬性也許有豐富的對(duì)象類型,這些屬性有他們自己的屬性。Action的屬性可以通過(guò)標(biāo)簽庫(kù)訪問(6)表達(dá)式語(yǔ)言:Struts1整合jstl所以使用jstl的表達(dá)式語(yǔ)言、表達(dá)式語(yǔ)言有基本的圖形對(duì)象移動(dòng)、但是相對(duì)很弱的集合和被索引的屬性支持、Struts2使用jstl、但是框架也支持更大更靈活的表達(dá)式、叫做“對(duì)象圖形符號(hào)語(yǔ)言”(OGNL)(7)將值綁定到視圖上Struts使用標(biāo)準(zhǔn)jsp機(jī)制來(lái)綁定對(duì)象到頁(yè)面上下文、struts2使用ValueStack技術(shù)、標(biāo)簽庫(kù)可以不用連接你的視圖到對(duì)象的表現(xiàn)類型訪問值(8)類型轉(zhuǎn)換Struts1的ActionForm屬性經(jīng)常都是String的、Struts1使用Commons-Beanutils類型轉(zhuǎn)換、轉(zhuǎn)換每一個(gè)類而不是每一個(gè)實(shí)例配置Struts2使用ognl類型轉(zhuǎn)換、框架包含轉(zhuǎn)換器基本的和共同的對(duì)象類型和原始類型(9)驗(yàn)證:struts1支持手動(dòng)驗(yàn)證、憑借ActionForm的validate()或者通過(guò)擴(kuò)展公用驗(yàn)證器Struts2支持手動(dòng)驗(yàn)證、憑借validate()和Xwork驗(yàn)證框架(10)Action執(zhí)行控制:struts1支持獨(dú)立的請(qǐng)求解決器對(duì)于每一個(gè)模型、但是所有在模型中的Action必須共享同一個(gè)生命周期Struts2支持在每一個(gè)Action基礎(chǔ)上憑借攔截器棧創(chuàng)建不同的生命周期HibernateORM:(Object/RelationalMapping)對(duì)象關(guān)系映射基本概念:面向java環(huán)境的對(duì)象映射工具、開源持久層框架、連接java應(yīng)用和數(shù)據(jù)庫(kù)的中間件、對(duì)jdbc進(jìn)行簡(jiǎn)樸封裝、負(fù)責(zé)對(duì)java對(duì)象的持久化、在分層結(jié)構(gòu)中處在持久層、封裝對(duì)數(shù)據(jù)庫(kù)的訪問細(xì)節(jié)、使業(yè)務(wù)邏輯層更專注于實(shí)現(xiàn)業(yè)務(wù)邏輯。工作原理:(1)讀取并接配置文獻(xiàn)(2)讀取并解析映射信息創(chuàng)建sessionFactory(3)打開session(4)創(chuàng)建事務(wù)Transaction(5)持久化操作(6)提交事務(wù)(7)關(guān)閉session(8)關(guān)閉sessionFactory優(yōu)缺陷:優(yōu)點(diǎn):Hibernate使用java反射機(jī)制而不是字節(jié)碼增強(qiáng)程序來(lái)實(shí)現(xiàn)透明性、hibernate性能非常好、由于它是個(gè)輕量級(jí)框架、映射的靈活性很杰出。支持各種關(guān)系數(shù)據(jù)庫(kù)、從一對(duì)多到多對(duì)多的各種復(fù)雜關(guān)系缺陷:它限制了你所使用對(duì)象模型、一個(gè)持久化類不能映射到多個(gè)表load()和get()的區(qū)別查找數(shù)據(jù)庫(kù)中一個(gè)不存在的對(duì)象假如通過(guò)get()加載則返回一個(gè)null、假如通過(guò)load()加載則返回一個(gè)代理對(duì)象、后面代碼假如調(diào)用該對(duì)象的某個(gè)屬性會(huì)拋出異常org.hibernate.ObjectNotFoundExeptionLoad支持延遲加載、get不支持延遲加載hibernate的緩存機(jī)制內(nèi)部緩存存在hibernate中又叫一級(jí)緩存屬于應(yīng)用事務(wù)級(jí)緩存二級(jí)緩存分為應(yīng)用級(jí)緩存、分布式緩存、第三方緩存事件如何優(yōu)化hibernate使用雙向一對(duì)多關(guān)聯(lián)不使用單向一對(duì)多關(guān)聯(lián)靈活使用單向一對(duì)多關(guān)聯(lián)不用一對(duì)一關(guān)聯(lián)、而用多對(duì)一取代配置對(duì)象緩存不使用集合緩存一對(duì)多集合使用bag、多對(duì)多集合使用set表字段要少、表關(guān)聯(lián)不用怕多TransientObject(臨時(shí)對(duì)象):使用new操作符初始化的對(duì)象不是立刻就持久的、他們的狀態(tài)是瞬時(shí)的也就是說(shuō)他們沒有任何跟數(shù)據(jù)庫(kù)表相關(guān)聯(lián)的行為、只要應(yīng)用不再引用這些對(duì)象他們的狀態(tài)會(huì)丟失、并由垃圾回收機(jī)制回收PersistentObject(持久化對(duì)象)持久實(shí)例是任何具有數(shù)據(jù)庫(kù)標(biāo)記的實(shí)例、它由持久化管理器Session統(tǒng)一管理、持久實(shí)例是在事務(wù)中進(jìn)行操作的、它們的狀態(tài)在事務(wù)結(jié)束時(shí)、同數(shù)據(jù)庫(kù)進(jìn)行同步、當(dāng)事務(wù)提交時(shí)通過(guò)執(zhí)行SQL的insert、update和delete語(yǔ)句、把內(nèi)存中的狀態(tài)同步到數(shù)據(jù)庫(kù)中DetachedObject(托管對(duì)象)Session關(guān)閉之后、持久化就變?yōu)橥泄軐?duì)象、表達(dá)這個(gè)對(duì)象不能再與數(shù)據(jù)庫(kù)保持同步、它們不再受hibernate管理Spring1.什么是Spring、它有什么特點(diǎn)Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)和面向切面的容器框架。特點(diǎn):輕量:從大小和開銷兩方面而言、Spring都是輕量的、完整的Spring框架可以在一個(gè)大小只有1M多的jar文獻(xiàn)中發(fā)布、并且Spring所需解決開銷也是微局限性道的、此外、Spring是非侵入式的、典型的是Spring應(yīng)用中的對(duì)象不依賴于Spring的特定類控制反轉(zhuǎn):Spring通過(guò)一種稱作控制反轉(zhuǎn)的技術(shù)促進(jìn)了松耦合、當(dāng)應(yīng)用了IOC一個(gè)對(duì)象依賴的其它對(duì)象會(huì)通過(guò)被動(dòng)的方式傳遞進(jìn)來(lái)、而不是這個(gè)對(duì)象自己創(chuàng)建或查找依賴對(duì)象、你可以認(rèn)為IOC與JNDI相反不是對(duì)象從容器中查找依賴而是容器在對(duì)象初始化時(shí)不等對(duì)象請(qǐng)求就積極將依賴傳遞給他面向切面:Spring提供了面向切面編程的豐富支持、允許通過(guò)度離應(yīng)用程序的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)進(jìn)行內(nèi)聚性的開發(fā)、應(yīng)用對(duì)象只實(shí)現(xiàn)他們應(yīng)當(dāng)做的、完畢業(yè)務(wù)邏輯僅此而已、他們并不負(fù)責(zé)其它的系統(tǒng)級(jí)關(guān)注點(diǎn)、例如日記和事務(wù)支持容器:Spring包含并管理應(yīng)用對(duì)象的配置和生命周期、在這個(gè)意義上它是一種容器、可以配置你的bean如何被創(chuàng)建、你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例、或者每次需要時(shí)都生成一個(gè)新的實(shí)例、以及它們是如何互相關(guān)聯(lián)的、然而Spring不應(yīng)當(dāng)被混同于傳統(tǒng)、重量級(jí)的EJB容器、它們經(jīng)常是龐大笨重的難以使用框
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建設(shè)項(xiàng)目招投標(biāo)供應(yīng)鏈管理合同3篇
- 宜賓四川宜賓市綜合應(yīng)急救援隊(duì)編外人員招聘5人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年房產(chǎn)出售協(xié)助合同3篇
- 大連2025年遼寧大連醫(yī)科大學(xué)招聘高層次和急需緊缺人才106人筆試歷年參考題庫(kù)附帶答案詳解
- 南京2024年江蘇南京大學(xué)電子科學(xué)與工程學(xué)院專用先進(jìn)技術(shù)準(zhǔn)聘長(zhǎng)聘教師崗位招聘筆試歷年參考題庫(kù)附帶答案詳解
- 亳州2025年安徽亳州利辛縣第二人民醫(yī)院招聘護(hù)理10人筆試歷年參考題庫(kù)附帶答案詳解
- 臨滄云南臨滄永德縣委社會(huì)工作部招聘公益性崗位人員筆試歷年參考題庫(kù)附帶答案詳解
- 2025年廣西桂林甑皮巖遺址博物館招聘5人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年廣西桂林市事業(yè)單位赴陜西師范大學(xué)招聘80人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年廣西柳州鹿寨縣民政局招聘9人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 北京市朝陽(yáng)區(qū)2024-2025學(xué)年高二上學(xué)期期末考試生物試卷(含答案)
- 2025年西藏拉薩市柳梧新區(qū)城市投資建設(shè)發(fā)展集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2025年部編版一年級(jí)語(yǔ)文上冊(cè)期末復(fù)習(xí)計(jì)劃
- 2024年新高考II卷數(shù)學(xué)高考試卷(原卷+答案)
- 儲(chǔ)罐維護(hù)檢修施工方案
- 地理2024-2025學(xué)年人教版七年級(jí)上冊(cè)地理知識(shí)點(diǎn)
- 2024 消化內(nèi)科專業(yè) 藥物臨床試驗(yàn)GCP管理制度操作規(guī)程設(shè)計(jì)規(guī)范應(yīng)急預(yù)案
- 2024-2030年中國(guó)電子郵箱行業(yè)市場(chǎng)運(yùn)營(yíng)模式及投資前景預(yù)測(cè)報(bào)告
- 基礎(chǔ)設(shè)施零星維修 投標(biāo)方案(技術(shù)方案)
- 人力資源 -人效評(píng)估指導(dǎo)手冊(cè)
- 大疆80分鐘在線測(cè)評(píng)題
評(píng)論
0/150
提交評(píng)論