版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2.面向?qū)ο蟮睦斫饷嫦驅(qū)ο笫荍ava的基本特性,是軟件開發(fā)過程使用的基于面向過程一種思維方式,將功能封裝進(jìn)對(duì)象,強(qiáng)調(diào)具有功能的對(duì)象和調(diào)用結(jié)果,不關(guān)注具體實(shí)現(xiàn)這個(gè)功能的過程。面向?qū)ο筇攸c(diǎn):是一種更符合人們思考習(xí)慣的思想,可以將復(fù)雜的事情簡(jiǎn)樸化,將程序由執(zhí)行者轉(zhuǎn)換成為指揮者。面向?qū)ο筇匦裕悍庋b,繼承,多態(tài)封裝:封裝是把數(shù)據(jù)和方法包裝進(jìn)類中,隱藏其具體實(shí)現(xiàn)細(xì)節(jié),對(duì)外提供公共訪問方法。封裝的結(jié)果是一個(gè)同時(shí)帶有特性和行為的數(shù)據(jù)類型。(安全性,復(fù)用性)繼承:當(dāng)一個(gè)類的屬性與行為均與現(xiàn)有類相似,屬于現(xiàn)有類的一種時(shí),這一個(gè)類可以定義為現(xiàn)有類的子類?;蛘?,當(dāng)多個(gè)類具有相同的屬性和行為,我們可以抽取出共性的內(nèi)容定義父類,再創(chuàng)建相似的〃兄弟〃類時(shí)只要繼承父類即可。當(dāng)子類繼承父類后,擁有了父類非私有的方法并可以直接調(diào)用。假如認(rèn)為父類提供的方法不夠強(qiáng)大,子類可以按照子類自身的邏輯重寫繼承過來的父類方法。(復(fù)用性,可維護(hù)性,多態(tài)前提)多態(tài):繼承是多態(tài)的前提,多態(tài)是指一種事物具有多種形態(tài),比如貓具有貓類的形態(tài),也具有動(dòng)物的形態(tài),多態(tài)的具體表現(xiàn)是父類引用指向子類對(duì)象,父類的引用也可以接受自己子類的對(duì)象。(可維護(hù)性,擴(kuò)展性)面試:跟我談?wù)勈裁词敲嫦驅(qū)ο?面向?qū)ο笫腔诿嫦蜻^程的2什么是面向過程什么是面向?qū)ο?面向?qū)ο蟮奶攸c(diǎn)3.面向?qū)ο蠛兔嫦蜻^程的區(qū)別.不借用第三方變量,互換兩個(gè)變量。n=nAm;m=nAm;//(nAm)Am一個(gè)數(shù)異或另一個(gè)數(shù)兩次,還是得本來那個(gè)數(shù)n=nAm//nA(nAm).傳統(tǒng)for和增強(qiáng)for有什么區(qū)別呢?.增強(qiáng)for對(duì)集合進(jìn)行遍歷,集合不能為空。只能獲取集合元素,但是不能對(duì)集合進(jìn)行操作。增強(qiáng)for有一個(gè)局限性,必須要有被遍歷的目的。.迭代器除了遍歷,還可以進(jìn)行remove集合中元素的動(dòng)作。假如是用ListIterator,還可以在遍歷過程中進(jìn)行增刪改查的動(dòng)作。建議在遍歷數(shù)組的時(shí)候,還是希望是用傳統(tǒng)for,由于傳統(tǒng)for可以定義角標(biāo)。.增強(qiáng)f?!秆h(huán)和ite「at。r遍歷的效果是同樣的,也就說增強(qiáng)f?!秆h(huán)的內(nèi)部也就是調(diào)用iterat。er實(shí)現(xiàn)的,但是增強(qiáng)for循環(huán)有些缺陷,例如不能在增強(qiáng)循環(huán)里動(dòng)態(tài)的刪除集合內(nèi)容。不能獲取下標(biāo)等。.ArrayList由于使用數(shù)組實(shí)現(xiàn),因此下標(biāo)明確,最佳使用普通循環(huán)。34.CollectionColections的區(qū)別是什么?Collecti。n是一個(gè)單列集合的頂層接口,它是List、Set、Queue等接口的父接口。在這個(gè)接口中,定義了集合類中通用的方法。Collections是針對(duì)集合操作的工具類,有對(duì)集合進(jìn)行排序和二分查找等靜態(tài)方法。37.線程的狀態(tài):線程的五種狀態(tài):1)新建(new)用new語句創(chuàng)建的線程對(duì)處在新建狀態(tài),此時(shí)它和其它Java對(duì)象同樣,僅僅在Heap中被分派了內(nèi)存。當(dāng)一個(gè)線程處在新建狀態(tài)時(shí),它僅僅是一個(gè)空的線程對(duì)象,系統(tǒng)不為它分派資源。Threadt=newThread(newRunner());2)就緒(Runnab1e)程序通過線程對(duì)象調(diào)用啟動(dòng)方法start()后,系統(tǒng)會(huì)為這個(gè)線程分派它運(yùn)營(yíng)時(shí)所需的除解決器之外的所有系統(tǒng)資源。這時(shí),它處在隨時(shí)可以運(yùn)營(yíng)的狀態(tài),在隨后的任意時(shí)刻,只要它獲得解決器即會(huì)進(jìn)入運(yùn)營(yíng)狀態(tài)。t.start()3)運(yùn)營(yíng)(Running)處在這個(gè)狀態(tài)的線程占用CPU,執(zhí)行程序代碼。在并發(fā)環(huán)境中,假如計(jì)算機(jī)只有一個(gè)CPU,那么任何時(shí)刻只會(huì)有一個(gè)線程處在這個(gè)狀態(tài)。假如計(jì)算機(jī)中有多個(gè)CPU,那么同一時(shí)刻可以讓幾個(gè)線程占用不同的CPU,使它們都處在運(yùn)營(yíng)狀態(tài),只有處在就緒狀態(tài)的線程才有機(jī)會(huì)轉(zhuǎn)到運(yùn)營(yíng)狀態(tài)。4)阻塞(Blocked)阻塞狀態(tài)是指線程由于某些因素放棄CPU,暫時(shí)停止運(yùn)營(yíng)。當(dāng)線程處在阻塞狀態(tài)時(shí),Java虛擬機(jī)不會(huì)給線程分派CPU,直到線程重新進(jìn)入就緒狀態(tài),它才有機(jī)會(huì)轉(zhuǎn)到運(yùn)營(yíng)狀態(tài)。阻塞狀態(tài)可分為以下3種:位于對(duì)象等待池中的阻塞狀態(tài)(B1ockedinobject'swaitpool):當(dāng)線程處在運(yùn)營(yíng)狀態(tài)時(shí),假如執(zhí)行了某個(gè)對(duì)象的wait()方法,Java虛擬機(jī)就會(huì)把線程放到這個(gè)對(duì)象的等待池中。位于對(duì)象鎖池中的阻塞狀態(tài)(Blockedinobject's1ockpool):當(dāng)線程處在運(yùn)營(yíng)狀態(tài),試圖獲得某個(gè)對(duì)象的同步鎖時(shí),假如該對(duì)象的同步鎖已經(jīng)被其他線程占用,虛擬機(jī)就會(huì)把這個(gè)線程放到這個(gè)對(duì)象的鎖池中。其他阻塞狀態(tài)(OtherwiseBlocked):當(dāng)前線程執(zhí)行了sleep()方法,或者調(diào)用了其他線程的join()方法,或者發(fā)出了1/0請(qǐng)求時(shí),就會(huì)進(jìn)入這個(gè)狀態(tài)。當(dāng)一個(gè)線程執(zhí)行System.out.println?;蛘逽ystem.in.read()方法時(shí)是,就會(huì)發(fā)出一個(gè)I/0請(qǐng)求,該線程放棄CPU,進(jìn)入阻塞狀態(tài),直到I/O解決完畢,該線程才會(huì)恢復(fù)執(zhí)行。5)死亡(Dead)當(dāng)線程退出run()方法時(shí),就進(jìn)入死亡狀態(tài),該線程結(jié)束生命周期。線程有也許是正常執(zhí)行完run()方法而退出,也有也許是碰到異常而退出。不管線程是正常結(jié)束還是異常結(jié)束,都不會(huì)對(duì)其他線程導(dǎo)致影響。40.集合集合名稱閱讀技巧:JDK1.2出現(xiàn)的集合框架中常用的子類對(duì)象前綴名是結(jié)構(gòu)名,后綴名是體系名。ArrayList:數(shù)組結(jié)構(gòu),看到Array就知道直詢速度快,看到List就知道可以又反復(fù)元素,可以增刪改查L(zhǎng)inkedList:鏈表結(jié)構(gòu),增刪快HashSet:哈希結(jié)構(gòu),查詢速度更快,不保證有序,不可以反復(fù),必須覆蓋hashCode和equals方法LinkedHashSet:鏈表加哈希結(jié)構(gòu),可以實(shí)現(xiàn)有序TreeSet:二叉樹結(jié)構(gòu),可以排序。有兩種方法:1.自然排序compable,2.比較器comparatorJava提供了只包含一個(gè)compareTo()方法的Comparable接口。這個(gè)方法可以個(gè)給兩個(gè)對(duì)象排序。具體來說,它返回負(fù)數(shù),0,正數(shù)來表白輸入對(duì)象小于,等于,大于已經(jīng)存在的對(duì)象。Java提供了包含compare()和equals()兩個(gè)方法的Comparator接口。compare()方法用來給兩個(gè)輸入?yún)?shù)排序,返回負(fù)數(shù),0,正數(shù)表白第一個(gè)參數(shù)是小于,等于,大于第二個(gè)參數(shù)。equals()方法需要一個(gè)對(duì)象作為參數(shù),它用來決定輸入?yún)?shù)是否和comparator相等。只有當(dāng)輸入?yún)?shù)也是一個(gè)comparato「并且和當(dāng)前c。mparator的排序結(jié)果是相同的時(shí)候,這個(gè)方法才返回true.ArrayList和Vector都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以便增長(zhǎng)和插入元素,允許直接按序號(hào)索引元素.但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于使用了synchronized方法(線程安全),通常性能上較ArrayList差,Vector屬于遺留容器,現(xiàn)在已經(jīng)不推薦使用,LinkedList使用雙向鏈表實(shí)現(xiàn)存儲(chǔ)(將內(nèi)存中零散的內(nèi)存單元通過附加的引用關(guān)聯(lián)起來,形成一個(gè)可以按序號(hào)索引的線性結(jié)構(gòu),這種鏈?zhǔn)酱鎯?chǔ)方式與數(shù)組的連續(xù)存儲(chǔ)方式相比,其實(shí)對(duì)內(nèi)存的運(yùn)用率更高),按序號(hào)索引數(shù)據(jù)需要進(jìn)行前向或后向遍歷,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。由于ArrayList和LinkedListed都是非線程安全的,假如需要多個(gè)線程操作同一個(gè)容器,可以通過工具類Co1lections中的synchronizedList方法將其轉(zhuǎn)換成線程安全的容器后再使用(這其實(shí)是裝潢模式最佳的例子,將已有對(duì)象傳入另一個(gè)類的構(gòu)造器中創(chuàng)建新的對(duì)象來增長(zhǎng)新功能)。Map集合Map(k,v)k:此映射所維護(hù)的鍵的類型v:映射值的類型Map集合:雙例集合,一次存一對(duì),稱為鍵值對(duì)。要保證鍵的唯一性。Map集合沒有迭代器,必須先將map集合轉(zhuǎn)成set集合,在使用迭代器,就可以取出結(jié)合中的元素;或者使用map集合特有的entrySet方法,也可以取出map集合中雖有元素。Map集合常見子類:.HashTab1e:底層數(shù)據(jù)結(jié)構(gòu)是哈希表結(jié)構(gòu),線程同步的,不允許n川鍵,nu11值;.HashMap:哈希表結(jié)構(gòu),不同步,允許null鍵,null值.TreeMdp:二叉樹結(jié)構(gòu),不同步,可以對(duì)m叩集合眾多鍵進(jìn)行排序。41.為什么需要配置path,什么時(shí)候需要答:path途徑:是操作系統(tǒng)的環(huán)境變量,目的是希望在任意目錄下都能執(zhí)行該命令操作起來更加方便快捷;classpath是給類提供途徑:想在其他目錄下執(zhí)行java程序時(shí)需要配置classpath途徑。42.工。流輸入流:InputStream輸出流:0utputStream字節(jié)輸入流:FiIeInputStream字節(jié)輸出流:FiIeOutoutStream字節(jié)輸入流緩沖區(qū):BufferedInputStream字節(jié)輸出流緩沖區(qū):BufferedOutputStream轉(zhuǎn)換流:InputStrearnReader字符輸出流:OutputStreamWriter字符流:Fi1eReaderFileWriter字符輸入流緩沖區(qū):BufferedReader字符輸出流緩沖區(qū):BufferedWriterlist,set,map是否繼承自collection接口?Iist,set是map不是。array1ist和vector的區(qū)別。一.同步性:vector是線程安全的,也就是說是同步的,而arraylist是線程序不安全的,不是同步的二.數(shù)據(jù)增長(zhǎng):當(dāng)需要增長(zhǎng)時(shí),Vector默認(rèn)增長(zhǎng)為本來一培,而array1ist卻是本來的一半.hashmap和hashtable的區(qū)另(J一.歷史因素:hashtable是基于陳舊的dietionary類的,hashmap是java1.2引進(jìn)的map接口的一個(gè)實(shí)現(xiàn)二.同步性:hashtable是線程安全的,也就是說是同步的,而hashmap是線程不安全的,不是同步的三.值:只有hashmap可以讓你將空值作為一個(gè)表的條目的key或va1ue7:給成員變量賦值的方式有幾種?分別怎么實(shí)現(xiàn)?答:A:給靜態(tài)的成員變量賦值(1)可以通過類中的方法給成員變量賦值(私有成員變量的也可以)publicvoidsetXXX(){...}(2)可以通過構(gòu)造方法給成員變量賦值(私有成員變量的也可以)publicXXX。{…}(3)可以通過代碼塊完畢成員變量的初始化值(私有成員變量的也可以){xxx=...;}(4)可以通過類名.成員變量賦值B:給非靜態(tài)的成員變量賦值(1)可以通過類的方法賦值publicvoidsetXXX(){...)(2)可以通過對(duì)象調(diào)用(3)可以通過代碼塊完畢成員變量的初始化值{xxx=...;}如何理解字符串一旦初始化就不可以被改變。不可以被改變說的是常量池中的值,并不是引用S(S是可以重新被賦值的)2、Strings1=newString(nabe");Strings2="abe";兩者的區(qū)別第一種方式:第一種方式在內(nèi)存中存在兩個(gè)七be"字符串,一個(gè)是在常量池中,一個(gè)是在堆內(nèi)存當(dāng)中.第二種方式:在內(nèi)存中只存在一個(gè)“abc”在常量池中.異常:異常是在程序運(yùn)營(yíng)過程中,發(fā)生的各種不正常狀況。Java中引入異常,以異常類Exception對(duì)這些不正常狀況進(jìn)行封裝,通過異常解決機(jī)制對(duì)程序運(yùn)營(yíng)時(shí)也許發(fā)生的各種問題進(jìn)行解決。Throwable頂層類,涉及err。r錯(cuò)誤,Exception異常,異常分為運(yùn)營(yíng)時(shí)異常和編譯時(shí)異常解決方式:throws聲明拋出,trycatch捕獲解決,finally一定會(huì)被執(zhí)行(釋放資源)運(yùn)營(yíng)時(shí)異常,運(yùn)營(yíng)時(shí)也許會(huì)報(bào)錯(cuò),可以不解決。編譯時(shí)異常,編譯時(shí)無法編譯通過,必須解決。throw和throws:throws表達(dá)拋出異常類,由方法調(diào)用者使用;throws用在方法聲明后面,跟的是異常類名;throws后可以跟多個(gè)異常類名,用逗號(hào)隔開。throw用在方法體內(nèi),跟的是異常對(duì)象名;表達(dá)拋出異常,由方法體內(nèi)的語句解決。只能拋出一個(gè)異常對(duì)象名;異常注意事項(xiàng):子類拋出的異常比父類拋出的異常小。假如父類拋出了多個(gè)異常,子類覆蓋父類方法時(shí),只能拋出相同的異?;蛘呤撬淖蛹割惙椒]有拋出異常,子類覆蓋父類該方法時(shí)也不可拋出異常。此時(shí)子類產(chǎn)生該異常,只能捕獲解決,不能聲明拋出泛型:(提前使用未知數(shù)據(jù)類型)什么是泛型:泛型的本質(zhì)是參數(shù)化類型,也就是說所操作的數(shù)據(jù)類型被指定為一個(gè)參數(shù)。這種參數(shù)類型可以用在類、接口和方法的創(chuàng)建中,分別稱為泛型類、泛型接口、泛型方法。泛型替代了0bject來代表任意類型,在編譯時(shí)會(huì)擦除。泛型類:定義:類名后〈變量〉使用嗆(J建對(duì)象時(shí)擬定類型泛型方法:定義:方法返回值前〈變量〉.使用:調(diào)用方法時(shí)擬定類型泛型接口:定義:接口名后〈變量〉使用:1、定義類時(shí)擬定類型,2、始終不擬定類型,直到創(chuàng)建對(duì)象時(shí)擬定類型泛型優(yōu)點(diǎn):提高程序的安全性,將運(yùn)營(yíng)期問題轉(zhuǎn)移到了編譯期,省去了類型強(qiáng)轉(zhuǎn)的麻煩,優(yōu)化了程序設(shè)計(jì)線程:每個(gè)運(yùn)營(yíng)的程序都是一個(gè)進(jìn)程,在一個(gè)進(jìn)程中還可以有多個(gè)執(zhí)行單元同時(shí)運(yùn)營(yíng),這些執(zhí)行單元均是程序執(zhí)行的一條條執(zhí)行途徑,這些執(zhí)行途徑就是線程,假如希望程序中實(shí)現(xiàn)多段程序代碼同時(shí)運(yùn)營(yíng),則需要多線程技術(shù)。是由cpu高速切換執(zhí)行,java使用的是搶占式調(diào)度模型。1,直接繼承Thread類重寫run方法,2.線程與線程執(zhí)行目的分離方式,實(shí)現(xiàn)runnable接口,重寫run方法,相比較而言,2避免了1方法單繼承的局限性,且可以用多個(gè)線程操作同一份共享數(shù)據(jù),把線程和線程數(shù)據(jù)有效的分離開,也體現(xiàn)java面向?qū)ο笏枷?。此外,尚有線程池技術(shù)才是交任務(wù),啟動(dòng)線程。五種狀態(tài):新建狀態(tài):new,??蛇\(yùn)營(yíng)狀態(tài):start方法啟動(dòng),運(yùn)營(yíng)狀態(tài):獲得cpu面向過程強(qiáng)調(diào)的是功能行為,分析解決問題所需的環(huán)節(jié),以函數(shù)為基礎(chǔ),完畢各種環(huán)節(jié)的操作和實(shí)現(xiàn)。面向?qū)ο笫腔诿嫦蜻^程的,將功能封裝成對(duì)象,強(qiáng)調(diào)的是具有了這些功能的對(duì)象,讓對(duì)象去調(diào)用方法來解決問題。面向?qū)ο笈e例abstract與哪些關(guān)鍵字不能共存為什么private:私有的方法是不可見的,無法被重寫finaI:被final修飾的方法是最終方法,無法被重寫static:被static修飾的方法,要隨類加載到方法區(qū),由于抽象方法沒有方法體所以不能加載static的特點(diǎn)(1)隨著類的加載而加載;優(yōu)先于對(duì)象存在;被所有對(duì)象所共享;可以直接被類名所調(diào)用。(2)靜態(tài)方法只能訪問靜態(tài),非靜態(tài)方法既可以訪問靜態(tài)也可訪問非靜態(tài)死亡狀態(tài):run方法執(zhí)行完,Exception,error等待或阻塞狀態(tài):wait-notify,j。in-調(diào)用jion的線程終止,sleep-時(shí)間到,io阻塞方法如read-阻塞方法返回,等待同步鎖-獲得同步鎖線程安全問題:當(dāng)多個(gè)線程共同操作一份數(shù)據(jù)時(shí),當(dāng)線程1操作數(shù)據(jù)到一半時(shí),線程2搶走CPU,會(huì)導(dǎo)致〃1使用的數(shù)據(jù)已經(jīng)被其他數(shù)據(jù)修改為1不想要的數(shù)據(jù)了〃。Java中使用synchronized關(guān)鍵字來解決,將一個(gè)完整動(dòng)作使用synchronized包裹。即線程A中操作數(shù)據(jù)的代碼與線程B中操作數(shù)據(jù)的代碼均使用synchronized包裹,并使用相同的鎖對(duì)象。這時(shí)線程B會(huì)等待線程A中synchronized包裹的代碼執(zhí)行完畢后再執(zhí)行,此時(shí)線程A已經(jīng)操作完了代碼,反之線程A也會(huì)等待線程B。線程執(zhí)行目的類成員位普定義多個(gè)線程要共享的同一份數(shù)據(jù)。線程執(zhí)行目的類成員位置定義多個(gè)線程要共享的同一把鎖對(duì)象。鎖可以是任意類型的對(duì)象,只要多個(gè)線程使用同一把鎖就可以使多個(gè)線程操作相同數(shù)據(jù)時(shí)同步。死鎖:兩個(gè)線程在運(yùn)營(yíng)時(shí)都在等待對(duì)方的鎖,導(dǎo)致了程序的停滯,稱為死鎖?;緮?shù)據(jù)類型包裝類:基本類型是內(nèi)置的數(shù)據(jù)類型,為了使基本數(shù)據(jù)類型代表的數(shù)據(jù)使用起來更方便,統(tǒng)一面向?qū)ο蟮乃枷?,Java設(shè)計(jì)了基本類型包裝類,即每一種基本類型都相應(yīng)一種引用類型的包裝數(shù)據(jù)類型。除去整型與字符型,其他基本數(shù)據(jù)類型將首字母大寫即為包裝數(shù)據(jù)類型。自動(dòng)裝箱拆箱:jdkl.5之后裝箱就是把基礎(chǔ)類型封裝成一個(gè)類。比如把int封裝成Integer,這時(shí)你就不能把他當(dāng)成一個(gè)數(shù)了,而是一個(gè)類了,對(duì)他的操作就需要用它的方法了。拆箱就是把類轉(zhuǎn)換成基礎(chǔ)類型。比如你算個(gè)加法什么的是不能用類的,就得把它轉(zhuǎn)換成基本類型迭代器:使用迭代器完畢集合遍歷的過程是反復(fù)獲得集合中元素的過程,通常我們將這個(gè)反復(fù)獲取的過程叫做迭代。增強(qiáng)for循環(huán)底層也是通過迭代器實(shí)現(xiàn)的。迭代過程中不能對(duì)集合元素進(jìn)行增刪動(dòng)作,否則會(huì)發(fā)生并發(fā)修改異常(運(yùn)營(yíng)時(shí))遞歸:遞歸就是"在一個(gè)方法內(nèi)可以再次調(diào)用自身”遞歸調(diào)用必須要在某個(gè)條件下結(jié)束,否則就是死遞歸。遞歸調(diào)用的層次不能太多,否則會(huì)堆棧溢出。構(gòu)造方法不能遞歸調(diào)用。四種訪問權(quán)限:Private:類訪問級(jí)別默認(rèn):包訪問級(jí)別Protected:子類訪問級(jí)別Public:公共訪問級(jí)別10:工。是output和input,是Java中實(shí)現(xiàn)程序與設(shè)備之間數(shù)據(jù)交互動(dòng)作的途徑Java中將這種數(shù)據(jù)傳輸抽象為流。字節(jié)流:頂層父類:outputstream,inputstreamFi1eoutputstream,Fileinputstream,bufferedoutputstreamzbufferedinputstream字符流:頂層父類:Writer,readerFileWriter,FileReaderzBufferedWriterzBufferedReader轉(zhuǎn)換流:0utputStreamWriter,InputStreamReader字節(jié)流和字符流區(qū)別:字節(jié)流以字節(jié)為單位傳輸數(shù)據(jù),傳輸?shù)氖?101數(shù)據(jù),所以可以解決任何數(shù)據(jù),字符流是為了方便解決文本數(shù)據(jù),通過字符碼表實(shí)現(xiàn)字符與二進(jìn)制數(shù)的轉(zhuǎn)換。常見的字符碼表:ASCII,Unicode,UTF-8,GBK(兼容GB2312并提供更多中文),GB2312匿名內(nèi)部類:匿名內(nèi)部類是創(chuàng)建某個(gè)類型子類對(duì)象的快捷方式。匿名內(nèi)部類有兩個(gè)環(huán)節(jié):臨時(shí)定義一個(gè)類型的子類定義后即刻創(chuàng)建剛剛定義的這個(gè)類的對(duì)象匿名內(nèi)部類就是沒有名字的內(nèi)部類,是內(nèi)部類的簡(jiǎn)化形式。一般只使用一次的時(shí)候使用匿名內(nèi)部類,匿名內(nèi)部類本質(zhì)上是一個(gè)匿名子類對(duì)象。匿名內(nèi)部類的使用前提:內(nèi)部類繼承一個(gè)類或?qū)崿F(xiàn)接口。匿名內(nèi)部類涉及兩個(gè)環(huán)節(jié):創(chuàng)建一個(gè)類或者接口的子類,即刻創(chuàng)建該子類的對(duì)象。簡(jiǎn)化書寫。網(wǎng)絡(luò)通信協(xié)議:在計(jì)算機(jī)網(wǎng)絡(luò)中進(jìn)行連接和通信的規(guī)則。對(duì)數(shù)據(jù)的傳輸格式,傳輸速率,傳輸環(huán)節(jié)等有統(tǒng)一的規(guī)定,通信雙方需要同時(shí)遵守才干完畢數(shù)據(jù)互換。IP地址:網(wǎng)絡(luò)通信中計(jì)算機(jī)設(shè)備的唯一標(biāo)記端口:用于標(biāo)記計(jì)算機(jī)設(shè)備中接受數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用程序具體是哪一個(gè),有效端口。?65535,0?1024為系統(tǒng)端口及保存端口TCP與UDP:UDP:面向無連接,是不可靠協(xié)議,不能保證數(shù)據(jù)完整性,不安全。每個(gè)數(shù)據(jù)報(bào)限制在64k以內(nèi),發(fā)送數(shù)據(jù)較少,速度快,視頻。TCP:面向連接的通信協(xié)議,通過三次握手建立連接通路,是可靠協(xié)議,保證數(shù)據(jù)安全,可進(jìn)行大量的數(shù)據(jù)傳輸,速度慢,效率較低。OSI和TCP/IP模型:OSI:應(yīng)用層,表達(dá)層,會(huì)話層,。傳輸層,網(wǎng)絡(luò)層,數(shù)據(jù)鏈路層,物理層TCP/IP:應(yīng)用層。傳輸層,網(wǎng)際層,主機(jī)至網(wǎng)絡(luò)層網(wǎng)絡(luò)編程:在Internet上的主機(jī)一般運(yùn)營(yíng)了多個(gè)服務(wù)軟件,同時(shí)提供幾種服務(wù)。每種服務(wù)都打開一個(gè)Socket,并綁定到一個(gè)端口上,不同的端口相應(yīng)于不同的服務(wù)。Socket就是為網(wǎng)絡(luò)編程提供的一種機(jī)制,又叫套接字編程。特點(diǎn):網(wǎng)絡(luò)編程三要素:IP(網(wǎng)絡(luò)通信中計(jì)算機(jī)設(shè)備的唯一標(biāo)記),端口(用于表達(dá)計(jì)算機(jī)中接受網(wǎng)絡(luò)數(shù)據(jù)的應(yīng)用程序是哪一個(gè)),通信協(xié)議(客戶端和服務(wù)器之間連接和通信的規(guī)則,通常使用TCP/IP,三次握手建立連接)通信的兩端都有Socket。網(wǎng)絡(luò)通信其實(shí)就是Socket間的通信。數(shù)據(jù)在兩個(gè)Socket間通過10傳輸。Socket編程一般使用TCP與UDP兩種協(xié)議,我們重要使用TCP:TCP協(xié)議通過三次握手協(xié)議將客戶端與服務(wù)器端連接,兩端使用各自的Socket對(duì)象。Socket對(duì)象中包含了IO流,供數(shù)據(jù)傳輸。數(shù)據(jù)庫(kù):L數(shù)據(jù)庫(kù)就是存儲(chǔ)數(shù)據(jù)的倉(cāng)庫(kù),其本質(zhì)是一個(gè)文獻(xiàn)系統(tǒng),數(shù)據(jù)按照特定的格式將數(shù)據(jù)存儲(chǔ)起來,用戶可以對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行增長(zhǎng),修改,刪除及查詢操作。比如MySQL,Oracle,SQLServer,DB2等等。2.數(shù)據(jù)庫(kù)是真正存儲(chǔ)數(shù)據(jù)的地方。數(shù)據(jù)庫(kù)中以表為組織單位存儲(chǔ)數(shù)據(jù),類似于java中的類。根據(jù)表字段鎖規(guī)定的數(shù)據(jù)類型,可以向其中添加數(shù)據(jù),表中的每條數(shù)據(jù)類似于對(duì)象。SQL語句是用于我們和數(shù)據(jù)庫(kù)進(jìn)行交互的命令,完畢增刪改查等等。數(shù)據(jù)定義語言:DDL,用來定義數(shù)據(jù)庫(kù)對(duì)象:數(shù)據(jù)庫(kù),表,列等,例如創(chuàng)建、刪除、修改:數(shù)據(jù)庫(kù)、表結(jié)構(gòu)等;數(shù)據(jù)操作語言:DML,用來對(duì)數(shù)據(jù)庫(kù)中表的記錄進(jìn)行更新,例如:增、刪、改表記錄;數(shù)據(jù)控制語言:DCL,用來定義數(shù)據(jù)庫(kù)的訪問權(quán)限和安全級(jí)別,及創(chuàng)建用戶;數(shù)據(jù)查詢語言:簡(jiǎn)稱DQL,用來查詢數(shù)據(jù)庫(kù)中表的記錄。具體命令查文檔JDBC用于完畢在Java代碼中操作數(shù)據(jù)庫(kù)。作用:連接數(shù)據(jù)庫(kù);向數(shù)據(jù)庫(kù)發(fā)送SQL語句;操作SQL語句的返回結(jié)果JDBC連接數(shù)據(jù)庫(kù)過程:導(dǎo)入mysql的驅(qū)動(dòng)程序jar包通過DriverManager注冊(cè)驅(qū)動(dòng)通過DriverManager獲取連接對(duì)象Connection通過Connection獲取一個(gè)可以向數(shù)據(jù)庫(kù)發(fā)送sql語句的對(duì)象Statement通過Statement對(duì)象執(zhí)行sql語句(select)得至!J一個(gè)結(jié)果集ResultSet遍歷結(jié)果集Resultset,得到數(shù)據(jù)表中的數(shù)據(jù)釋放資源JDBC優(yōu)點(diǎn):Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺(tái)編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺(tái)上運(yùn)營(yíng)。接口和抽象類:抽象類即不能創(chuàng)建實(shí)例的類,僅用來描述一種類型應(yīng)當(dāng)具有的基本特性與功能。抽象方法即只有功能聲明,沒有功能主體實(shí)現(xiàn)的方法。包含抽象方法的類一定是抽象類。接口是功能的集合,是比抽象類更為抽象的類,同樣是一種數(shù)據(jù)類型,定義的是一種規(guī)則。必須實(shí)現(xiàn)抽象類或接口的所有抽象方法才可以實(shí)例化。區(qū)別:(1)成員特點(diǎn):構(gòu)造方法:接口沒有構(gòu)造方法;抽象類有構(gòu)造方法。成員變量:接口中只有常量;抽象類中可以是常量,也可以是變量。成員方法:接口中只有抽象方法;抽象類中既有抽象方法,也有非抽象方法。(2)關(guān)系特點(diǎn):類與類:類與類之間只有單繼承,可以有多層繼承。類與接口:類與接口之間是實(shí)現(xiàn)關(guān)系,可以單實(shí)現(xiàn),也可以多實(shí)現(xiàn)。接口與接口:接口與接口之間是繼承關(guān)系,可以單繼承,也可以多繼承。抽象類被繼承體現(xiàn)的是所屬關(guān)系isa關(guān)系,抽象類中定義的是繼承體系中的共性功能;接口被實(shí)現(xiàn)體現(xiàn)的是likea關(guān)系,接口中定義的是繼承體系中的擴(kuò)展功能。接口特點(diǎn):Java支持繼承一個(gè)類同時(shí)實(shí)現(xiàn)多個(gè)接口。接口可以繼承接口。類可以在繼承一個(gè)類的同時(shí),實(shí)現(xiàn)多個(gè)接口。接口與父類的功能可以反復(fù),均代表要具有某種功能。接口中的成員是固定的:變量修飾符為:pub1icstaticfinal(staticfinal明天講解)方法修飾符為:pub1icabstract(所以重寫接口方法時(shí),必須使用pub1ic)方法重寫與方法重載:所謂方法重載是指在一個(gè)類中,多個(gè)方法的方法名相同,但是參數(shù)列表不同。參數(shù)列表不同指的是參數(shù)個(gè)數(shù)、參數(shù)類型或者參數(shù)的順序不同。構(gòu)造方法就是重載形式存在的。重載注意事項(xiàng):方法名相同,參數(shù)列表不同(參數(shù)個(gè)數(shù)、參數(shù)類型或者參數(shù)的順序不同),與返回值無關(guān)。當(dāng)子類繼承父類后,擁有了父類非私有的方法并可以直接調(diào)用。假如認(rèn)為父類提供的方法不夠強(qiáng)大,子類可以按照子類自身的邏輯重新定義繼承過來的父類方法,這個(gè)重新定義一個(gè)方法的過程叫做方法重寫。重寫的結(jié)果是子類的方法便將父類的方法覆蓋。一般情況下,繼承就是為了方法重寫,不重寫子類和父類同樣就沒故意義了。Java中方法重寫規(guī)則:訪問權(quán)限相同或子類方法權(quán)限更大方法名稱和參數(shù)列表必須相同返回值為基本類型時(shí)必須相同返回值為引用類型時(shí)相同或子類小構(gòu)造方法的特點(diǎn)?構(gòu)造方法的注意事項(xiàng)?構(gòu)造方法的特點(diǎn):1.方法名與類名相同2.沒有返回值類型,連void都沒有構(gòu)造方法注意事項(xiàng):假如我們沒有給出構(gòu)造方法,系統(tǒng)將自動(dòng)提供一個(gè)無參構(gòu)造方法假如我們給出了構(gòu)造方法,系統(tǒng)將不再提供默認(rèn)的無參構(gòu)造方法。注意:這個(gè)時(shí)候,假如我們還想使用無參數(shù)構(gòu)造方法,就必須自己給出。建議永遠(yuǎn)自己給出無參數(shù)構(gòu)造方法。This和super:this:訪問本類對(duì)象成員變量調(diào)用本類普通方法本類構(gòu)造方法調(diào)用本類其他構(gòu)造super:(3)靜態(tài)方法中不可以定義this、super關(guān)鍵字,由于靜態(tài)優(yōu)先于對(duì)象存在,this和super所代表的對(duì)象還不存在。.類與類、類與接口、接口與接口的關(guān)系繼承(單繼承,多層繼承,。bject),實(shí)現(xiàn)(多實(shí)現(xiàn)),繼承(多繼承).final、final1ysfinalize的區(qū)別final:可以修飾類、方法和變量,被finaI修飾的類無法被繼承,方法無法被重寫,變量為常量只能賦值一次finally:異常解決,和try.catch結(jié)合使用,可以添加也可以不添加,用于執(zhí)行一些必須執(zhí)行的代碼,如釋放資源等finalize:Object類中的方法,其中定義了對(duì)象要被垃圾收集器回收之前要做的相關(guān)的清理工作.什么是多態(tài),多態(tài)的好處和弊端多態(tài)可以理解為事物存在的多種體現(xiàn)形態(tài)。父類的引用指向了自己的子類對(duì)象;父類的引用也可以接受自己子類的對(duì)象。提高了程序的可維護(hù)性和擴(kuò)展性弊端:父類的引用只能訪問父類中有的成員而無法調(diào)用子類中特有的方法10.wait()和sleep。的區(qū)別
訪問本類對(duì)象當(dāng)中的父類成員變量調(diào)用本類對(duì)象當(dāng)中的父類普通方法本類構(gòu)造方法調(diào)用父類構(gòu)造注意:this與super在調(diào)用構(gòu)造方法時(shí),均必須在第一行,只能調(diào)用其中的一個(gè)。3.對(duì)象內(nèi)存圖堆內(nèi)存棧內(nèi)存1x2254堆內(nèi)存Chinesec=Chinesec=0x2254For,while,dowhile:循環(huán)變量作用域for循環(huán)的循環(huán)變量其作用域僅限于循環(huán)體內(nèi),而While循環(huán)的循環(huán)變量作用域不局限在循環(huán)體內(nèi)。2.循環(huán)條件for循環(huán)的循環(huán)條件為空是是死循環(huán),而whi1e循環(huán)的循環(huán)條件不能為空。3.dowhile無論條件是否滿足,循環(huán)體至少執(zhí)行一次。Break,continue,return:break:(1).結(jié)束當(dāng)前整個(gè)循環(huán),執(zhí)行當(dāng)前循環(huán)下邊的語句。忽略循環(huán)體中任何其它語句和循環(huán)條件測(cè)試。(2).只能跳出一層循環(huán),假如你的循環(huán)是嵌套循環(huán),那么你需要按照你嵌套的層次,逐步使用break來跳出。[逐層判斷,逐步跳出](3).break在循環(huán)體內(nèi),強(qiáng)行結(jié)束循環(huán)的執(zhí)行,也就是結(jié)束整個(gè)循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立,直接轉(zhuǎn)向循環(huán)語句下面的語句。⑷.當(dāng)break出現(xiàn)在循環(huán)體中的Switch語句體內(nèi)時(shí),其作用只是跳出該switch語句體??偟膩碚f:就近原則,結(jié)束當(dāng)前的整個(gè)循環(huán)。2.continue:終止本次循環(huán)的執(zhí)行,即跳過當(dāng)前這次循環(huán)中continue語句后尚未執(zhí)行的語句,接著進(jìn)行下一次循環(huán)條件的判斷。3.return:結(jié)束方法,帶參返回一個(gè)值給調(diào)用者。類與對(duì)象的關(guān)系:具有相同特性(屬性)和行為(功能)的一類事物的抽象。,體現(xiàn)的是現(xiàn)實(shí)事物的映射關(guān)系,對(duì)象是類的具體實(shí)例。類的使用是創(chuàng)建對(duì)象,一個(gè)類可以有多個(gè)對(duì)象,可以說創(chuàng)建對(duì)象是類最重要的使用方式。String,StringBuffer,StringBuilder:String是不可變的字符序列,String對(duì)象一經(jīng)創(chuàng)建就不會(huì)發(fā)生變化了,即便是賦新值也不是在原對(duì)象的基礎(chǔ)上改變,而是創(chuàng)建一個(gè)新的字符串對(duì)象,將引用指向這個(gè)新的對(duì)象,會(huì)導(dǎo)致空間的浪費(fèi),效率較低。StringBuffer只創(chuàng)建一個(gè)對(duì)象,是在同一個(gè)實(shí)例的基礎(chǔ)之上追加,效率更高,當(dāng)需要用到String的時(shí)候toString就可以了StringBuffer和StringBuilder的區(qū)別StringBuffer是同步的,所以線程安全,但是效率低,StringBuiIder是不同步的,所以線程不安全,但是效率高。StringBuilderStlSStringBuffer快。單線程的程序使用StringBui1der比較好,多線程的情況下可以自己加鎖,也可以直接使用StringBuffer0什么時(shí)候使用字符串緩沖區(qū):數(shù)據(jù)多,個(gè)數(shù)無所謂擬定,類型無所謂擬定,只要最后都轉(zhuǎn)變成字符串,就用字符串緩沖區(qū)。對(duì)于三者使用的總結(jié):效率:StringBuilder>StringBuffer>StringString中的對(duì)象是不可變的,也可以理解為常量,線程安全,效率低;StringBuffer和StringBuilder是可變的。StringBuffer是同步的,所以線程安全,但是效率低,StringBui1der是不同步的,所以線程不安全,但是效率高。1)假如要操作少量的數(shù)據(jù)用String)單線程操作字符串緩沖區(qū)下操作大量數(shù)據(jù)StringBuilder)多線程操作字符串緩沖區(qū)下操作大量數(shù)據(jù)StringBuffer(多線程中通常不建議使用StringBuffer,最佳使用StringBuilder然后自己加同步)Personp=ncwPerson();創(chuàng)建一個(gè)對(duì)象都在內(nèi)存中做了什么事情?1:擔(dān)各硬盤上指定位置的Person.clasS文獻(xiàn)加載進(jìn)內(nèi)存。2:執(zhí)行main方法時(shí),在棧內(nèi)存中開辟了main方法的空間(壓棧-進(jìn)棧),然后在main方法的棧區(qū)分派了f變量p。3:在堆內(nèi)存中開辟一個(gè)實(shí)體空間,分派了一個(gè)內(nèi)存首地址值。new4:在該實(shí)體空間中進(jìn)行屬性的空間分派,并進(jìn)行了默認(rèn)初始化。:對(duì)空間中的屬性進(jìn)行顯示初始化。:進(jìn)行實(shí)體的構(gòu)造代碼塊初始化。7:調(diào)用該實(shí)體相應(yīng)的構(gòu)造函數(shù),進(jìn)行構(gòu)造函數(shù)初始化。()8:將首地址賦值給p,p變量就引用了該實(shí)體。(指向了該對(duì)象)JDBC是Java連接不同數(shù)據(jù)庫(kù)的類庫(kù),它有三個(gè)核心功能:連接數(shù)據(jù)庫(kù),向數(shù)據(jù)庫(kù)發(fā)送SQL語句,操作SQL語句的返回結(jié)果Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺(tái)編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺(tái)上運(yùn)營(yíng),這也是Java語言'編寫一次,處處運(yùn)營(yíng)〃的優(yōu)勢(shì)。SQL注入是通過巧妙的拼寫SQL語句,讓語句中的條件永遠(yuǎn)成立,以達(dá)成欺騙數(shù)據(jù)庫(kù)的效果,查詢出不該查詢到的內(nèi)容。通過預(yù)編譯來避免sq1注入問題。DBUti1s的基本使用:DBUtils的使用是相對(duì)固定的環(huán)節(jié),是常規(guī)Java項(xiàng)目的基本操作。導(dǎo)入r?包(我們提供的版本為commons-dbutils-1.6.jar)通過DriverManger注冊(cè)驅(qū)動(dòng)通過DriverManager獲取連接對(duì)象Connection通過DBUtils的QueryRunner使用相應(yīng)的Connection完畢SQL操作針對(duì)執(zhí)行查詢語句時(shí),通過不同的Resu1tSetHandler子類可以在查詢數(shù)據(jù)后,直接將得到的數(shù)據(jù)封裝為想要的數(shù)據(jù)類型常用Handler:ArrayHandler“。將結(jié)果集第一行轉(zhuǎn)成對(duì)象數(shù)組ArrayListHandler"將結(jié)果集中的每一行數(shù)據(jù)都轉(zhuǎn)成一個(gè)對(duì)象數(shù)組,再將轉(zhuǎn)成的多個(gè)對(duì)象數(shù)組存放到List中BeanHandler。。將結(jié)果集第一行數(shù)據(jù)封裝到一個(gè)相應(yīng)的業(yè)務(wù)類實(shí)例中BeanListHandler?將結(jié)果集中的每一行數(shù)據(jù)都封裝到一個(gè)相應(yīng)的業(yè)務(wù)類實(shí)例中,再將多個(gè)業(yè)務(wù)類實(shí)例對(duì)象存放到List里。MapHandlero將結(jié)果集中的第一行數(shù)據(jù)封裝到一個(gè)Map中,key是列名,va1ue是相應(yīng)的值。MapListHand1er。將結(jié)果集中的每一行數(shù)據(jù)都封裝到一個(gè)Map里,然后再將多個(gè)Map存放到ListColumnListHandler。將結(jié)果集中某一列的數(shù)據(jù)存放到List中。如:QueryRunner對(duì)象.query(連接對(duì)象,"select*fromaaa”,newColumnListHandlerC'name〃))ScalarHandlero進(jìn)行單值查詢,如:selectcount(*)fromKeyedHandler。將結(jié)果集中的每一行數(shù)據(jù)都封裝為一個(gè)Map(List<Map>),再將這些Map再存到一個(gè)M叩里,其key為KeyedHandler指定的列,假如沒有指定則使用第一個(gè)查詢的字段。如:QueryRunner對(duì)象.query(連接對(duì)象,"selectidznamefromaaa",newKeyedHandlers字段類型〉(”name");(1)所在的類不同:wait是Object類中的方法,s1eep是Thread類中的方法(2)sleep方法沒有釋放同步鎖,而wait方法釋放了同步鎖,使得其他線程可以使用。(3)sleep()必須指定期間,wait(何以指定也可以不指定期間。(4)wait,notify和notifyA11只能在同步方法或者同步代碼塊里面使用,而sleep可以在任何地方使用(5)sleep必須捕獲異常,而wait,notifyfflnotifyAll不需要捕獲異常16.對(duì)匿名內(nèi)部類的理解匿名內(nèi)部類就是沒有名字的內(nèi)部類,是內(nèi)部類的簡(jiǎn)化形式。一般只使用一次的時(shí)候使用匿名內(nèi)部類,匿名內(nèi)部類本質(zhì)上是一個(gè)匿名子類對(duì)象。匿名內(nèi)部類的使用前提:內(nèi)部類繼承一個(gè)類或?qū)崿F(xiàn)接口。匿名內(nèi)部類涉及兩個(gè)環(huán)節(jié)嗆I」建一個(gè)類或者接口的子類,即刻創(chuàng)建該子類的對(duì)象。簡(jiǎn)化書寫。17.10體系字節(jié)流InputStream/OutputStream|-FileInputStream/FileOutputStream:文獻(xiàn)字節(jié)流,用于文獻(xiàn)的讀寫操作|-BufferedlnputStream/BufferedOutputStream:加緩沖區(qū)的字節(jié)流,用于提高效率字符流Reader/Writer|-FileReader/FileWriter:文獻(xiàn)字符流,用于文本文獻(xiàn)的讀寫操作卜-BufferedReader/BufferedWrite:加緩沖區(qū)的字符流,用于提高效率轉(zhuǎn)換流InputStreamReader/OutputStreamWriter:是字節(jié)流和字符流之間的橋梁18.集合體系I-Vector:功能同ArrayList類似,底層也是數(shù)組,線程是同步的,所以是安全的,效率較低,數(shù)據(jù)增長(zhǎng)是50%的增長(zhǎng)。I--Set:元素是無序的,元素不允許反復(fù),底層用到了Map|--HashSet:底層hash表,存儲(chǔ)的對(duì)象最佳復(fù)寫hashCode和equals方法,I--TreeSet:底層自平衡的二叉樹,存儲(chǔ)的對(duì)象具有比較性,有兩種方法:自然排序、比較器排序l-Collection|--List:元素是有序的,元素允許反復(fù),由于該集合體系都具有索引|-ArrayList:底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組,查詢速度快,增刪操作較慢,線程不同步l-LinkedList:底層數(shù)據(jù)結(jié)構(gòu)是鏈表,查詢效率較低,增刪操作快,線程不同步,數(shù)據(jù)增長(zhǎng)是100%的增長(zhǎng)。保證元
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南空港飛機(jī)維修服務(wù)有限公司2025年四季度員工招聘考試題庫(kù)附答案
- 2026年房地產(chǎn)經(jīng)紀(jì)協(xié)理之房地產(chǎn)經(jīng)紀(jì)操作實(shí)務(wù)考試題庫(kù)(考試直接用)
- 2025年西安科亞精密裝備制造有限公司招聘(10人)參考題庫(kù)附答案
- 2026年材料員之材料員基礎(chǔ)知識(shí)考試題庫(kù)300道附參考答案(模擬題)
- 2026年昆明衛(wèi)生職業(yè)學(xué)院春季學(xué)期教師招聘(4人)備考題庫(kù)附答案
- 2026年勞務(wù)員考試題庫(kù)含答案ab卷
- 2026中國(guó)光華科技基金會(huì)高校畢業(yè)生招聘1人備考題庫(kù)附答案
- 2026年資料員之資料員基礎(chǔ)知識(shí)考試題庫(kù)300道(達(dá)標(biāo)題)
- 2026年材料員之材料員基礎(chǔ)知識(shí)考試題庫(kù)300道【綜合題】
- 貴州國(guó)企招聘:2026貴州貴陽(yáng)花溪智聯(lián)數(shù)智科技服務(wù)有限公司招聘9人考試參考題庫(kù)附答案
- 七年級(jí)下學(xué)期歷史必背知識(shí)清單(填空版)
- 國(guó)家開放大學(xué)電大《國(guó)際私法》形考任務(wù)1-5題庫(kù)及答案
- 《市場(chǎng)營(yíng)銷專業(yè)申報(bào)》課件
- 三年級(jí)數(shù)學(xué)上冊(cè) (提高版)第8章《分?jǐn)?shù)的初步認(rèn)識(shí)》單元培優(yōu)拔高測(cè)評(píng)試題(教師版含解析)(人教版)
- 19計(jì)科機(jī)器學(xué)習(xí)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 全國(guó)職業(yè)院校技能大賽賽項(xiàng)規(guī)程(高職)農(nóng)產(chǎn)品質(zhì)量安全檢測(cè)
- DB51∕T 3179-2024 杵針技術(shù)操作規(guī)范
- 專利共同申請(qǐng)合同模板(2024版)
- 國(guó)開機(jī)考答案21-人文英語1(閉卷)
- AQ∕T 7009-2013 機(jī)械制造企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化規(guī)范
- MOOC 近代物理實(shí)驗(yàn)-西南大學(xué) 中國(guó)大學(xué)慕課答案
評(píng)論
0/150
提交評(píng)論