2021年黑馬程序員視頻總結(jié)_第1頁
2021年黑馬程序員視頻總結(jié)_第2頁
2021年黑馬程序員視頻總結(jié)_第3頁
2021年黑馬程序員視頻總結(jié)_第4頁
2021年黑馬程序員視頻總結(jié)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

面向?qū)ο螅好嫦驅(qū)ο笫窍鄬τ诿嫦蜻^程而言。面向過程強調(diào)是功能,面向?qū)ο髮⒐δ芊庋b進對象,強調(diào)是具備功能對象。類是對現(xiàn)實生活描述。對象是一類事物實實在在存在個體。堆內(nèi)存和棧內(nèi)存:基本類型變量和對象引用存儲在棧內(nèi)存;用new創(chuàng)立對象和數(shù)組存儲在堆內(nèi)存。封裝:隱藏對象屬性和實現(xiàn)細節(jié),僅對外提供公共訪問辦法。原則:將不需要對外提供內(nèi)容都隱藏起來,將屬性都隱藏,提供公共辦法對其訪問。好處:提高安全性,便于使用,提高重用性。什么時候使用靜態(tài)?成員變量:當對象中有共享數(shù)據(jù)時。成員函數(shù):函數(shù)內(nèi)部沒有訪問到非靜態(tài)數(shù)據(jù)(對象特有數(shù)據(jù))。協(xié)助文檔制作:/***/@author作者;@version版本;@param參數(shù);@return返回成果命令:javadoc-d文獻夾-author-versionxxx.java。將生成一系列網(wǎng)頁。靜態(tài)代碼塊:static{}。用于給類進行初始化,只執(zhí)行一次,優(yōu)先于主函數(shù)。Personp=newPerson():1、找到Person.class加載到內(nèi)存。2、執(zhí)行static代碼塊。3、在棧內(nèi)存中開辟main()辦法空間,并分派一種變量p。4、在堆內(nèi)存中開辟實體空間。5、進行屬性空間分派,并進行默認初始化。6、對空間屬性進行顯示初始化。7、實體構(gòu)造代碼初始化。8、調(diào)用相應構(gòu)造函數(shù),進行構(gòu)造函數(shù)初始化。9、將實體空間首地址賦給p。單例:classSingle{privateSingle(){}//私有化構(gòu)造函數(shù)。privatestaticSingles=newSingle();//靜態(tài)辦法要訪問它,因此也要靜態(tài)化。靜態(tài)辦法不能訪問非靜態(tài)辦法和屬性。創(chuàng)立私有并靜態(tài)本類對象。publicstaticSinglegetInstance(){//無法通過對象調(diào)用,只能是靜態(tài)。定義公有并靜態(tài)辦法,返回該對象。returns;}}//懶漢式:延遲加載方式。classSingle2{privateSingle2(){}privatestaticSingle2s=null;publicstaticsynchronizedSingle2getInstance(){if(s==null)s=newSingle2();returns;}}繼承:提高代碼復用性,并為多態(tài)打下基本。Java只支持單繼承。多繼承隱患:各種父類定義相似功能時,子類對象不擬定要運營哪一種。重載:辦法名相似,但參數(shù)不同各種同名函數(shù);覆蓋:子類重寫父類辦法,規(guī)定辦法名和參數(shù)類型完全同樣(參數(shù)不能是子類),返回值和異常比父類小或者相似(即為父類子類),訪問修飾符比父類大或者相似隱藏:父類和子類擁有相似名字屬性或者辦法時,父類同名屬性或者辦法形式上不見了,實際是還是存在。多態(tài):同一操作作用于不同對象,可以有不同解釋,產(chǎn)生不同執(zhí)行成果。內(nèi)部類:內(nèi)部類可以直接訪問外部類成員,涉及私有。外部類必要建立內(nèi)部類對象才干訪問內(nèi)部類成員。異常體系:error和exception==和equals()區(qū)別:"=="和"!="比較是"棧"中內(nèi)容(對象地址),而equals()比較是"堆"中內(nèi)容(對象內(nèi)容)。多線程:建立線程兩種辦法:1、繼承Thread類;2、實現(xiàn)Runnable接口。繼承辦口避免了單繼承局限性。線程對象.setDaemon(true)設(shè)立守護線程。線程啟動前調(diào)用,當正在運營線程只有守護線程時,java虛擬機退出。當a線程執(zhí)行b線程.join()辦法時,a會等待b線程執(zhí)行完才會執(zhí)行。線程對象.setPriority()設(shè)立線程優(yōu)先級。StringBuilder不是線程安全,速度快;StringBuffer線程安全,慢。泛型是一種類型安全機制,用于解決安全問題。集合:為以便存儲和操作對象,浮現(xiàn)集合類。數(shù)組可以存儲對象,但長度固定,集合長度可變;數(shù)組可以存儲基本數(shù)據(jù)類型,集合只能存儲對象。Collection:List和SetList:有序,元素可以重復,有索引。ArrayList,底層數(shù)據(jù)構(gòu)造是數(shù)組。查找速度快。刪除元素用equals()判斷LinkList,鏈表,增刪速度快。Vector。線程同步,數(shù)組,查找速度快。Set:無序。元素唯一。HashSet:底層數(shù)據(jù)構(gòu)造式哈希表。通過hashCode()和equals()辦法保持唯一性。 如果元素hashCode值相似才會判斷equals與否為true;TreeSet:底層是二叉樹??梢詫υ剡M行排序。按自然順序就是compareTo()。實現(xiàn)排序兩種辦法:實現(xiàn)Comparable接口,覆蓋comapreTo(Objectobj)辦法。實現(xiàn)Comparator接口,覆蓋compare(Object,Object)辦法。Map:Hashtable,底層哈希表,不可以存儲null值或鍵。線程同步。效率低。HashMap,哈希表,容許使用null值或鍵。不同步,效率高。TreeMap。底層是二叉樹,線程不同步。可以給鍵進行排序。獲取Map元素兩種辦法:Set<k>keyset,將Map集合中鍵存入Set集合;Set<Map.Entry<k,v>>mapEntry,將Map集合中映射關(guān)系存入Set集合。Collections:java集合工具類,用于操作集合類。Arrays集合:用于操作數(shù)組工具類。1.5新特性:可變參數(shù),int...arr靜態(tài)導入:importstaticjava.lang.System.*;用于導入靜態(tài)辦法;importjava.lang.*;用于導入類文獻。System類:getProperties()辦法獲得返回系統(tǒng)屬性Properties(Map集合子類)對象。Runtime類:運營時操作類。單例設(shè)計模式。Calendar類:抽象類,用getInstance()獲得對象。Math類。IO流:慣用基類:派生子類用父類名做后綴字節(jié)流:InputStream,OutputStream字符流:Reader,Writer字符流:FileWriter,FileReader,需要flush();字符流緩沖區(qū):BufferedReader,BufferedWriter;要結(jié)合流才干使用。需要flush(),關(guān)閉緩沖區(qū)就是關(guān)閉緩沖區(qū)流對象。LineNumberReader(FileReader)類,getLineNumber()辦法可以獲得行號字節(jié)流:FileOutputStream,F(xiàn)ileInputStream。操作多媒體文獻。轉(zhuǎn)換流:InputStreamReader,OutputStreamWriter。屬于字符流子類。In(System.in),out返回字節(jié)流。System.setIn(InputStream),System.setOut(PrintStream);變化原則輸入輸出。File類:合并流:SequenceInnputStream。用vectorelements()得到Enumeration。切割文獻:循環(huán)里邊創(chuàng)立流、關(guān)閉流。講一種文獻分某些存儲在幾種文獻中。java.Awt:需要調(diào)用本地系統(tǒng)辦法實現(xiàn)功能。javax.Swing:完全由java實現(xiàn),增強移植性。 Component:1、Container:Window,Panel布局管理器:1、FlowLayout,Panel默認布局;2、BorderLayout,F(xiàn)ram默認。TCP和UDP:TCP要通過三次握手建立連接,傳播大量數(shù)據(jù),可靠合同,效率低。UDP不需要建立連接,不可靠合同,速度快。Socket:網(wǎng)絡(luò)服務一種機制,網(wǎng)絡(luò)通信就是Socket間通信,數(shù)據(jù)在兩個Socket間通信。TCP:Socket,ServerSocketUDP:DatagramSocket,DatagramPacket加強:overload:重載,存在于父類和子類、同類中。只能通過不同參數(shù)樣式重載。override:重寫,存在于父類和子類之間。辦法名、參數(shù)、返回值相似。子類辦法不能縮小父類辦法訪問權(quán)限。不能拋出更多異常??勺儏?shù):int...arrFor循環(huán)增強:for(inti:int[])枚舉:讓某個變量取值只能為若干個固定值中一種。反射:在運營狀態(tài)可以懂得類所有屬性和辦法,并調(diào)用對象任意一種辦法。獲取類信息以及調(diào)用對象辦法。類加載器:負責加載java類字節(jié)碼到虛擬機中。每個類加載器加載類時先委托給其上級加載器,當所有祖宗類加載器都沒有加載到類,回到發(fā)起者類加載器時,還沒加載到類,拋出ClassNotFoundException異常。JavaBean:有set和get辦法獲得類屬性特殊java類。用于傳遞數(shù)據(jù)信息。內(nèi)?。篒ntroSpector,java語言對Javabean屬性、事件某些缺省解決辦法。Beanutils工具包注解:@Override表達當前辦法是覆蓋父類辦法。@Deprecated表達當前元素是不贊成使用。@SuppressWarnings表達關(guān)閉某些不當編譯器警告信息。Java系統(tǒng)默認三個類加載器:BootStrap,ExtClassLoader,AppClassLoader創(chuàng)立動態(tài)類實例對象:1、通過實現(xiàn)接口告訴要實現(xiàn)動態(tài)類要實現(xiàn)哪些辦法。2、產(chǎn)生類字節(jié)碼要有一種關(guān)聯(lián)類加載器對象。3、執(zhí)行代碼對象InvocationHandler。代理:用Proxy類getProxyClass(classLoader,interface)獲得動態(tài)類字節(jié)碼文獻。用反射獲得構(gòu)造器。用構(gòu)造器newInstance()InvocationHandler接口對象做參數(shù)獲得一種類對象。InvocationHandler對象重寫pubicObjectinvoke(Objectproxy,Methodmethod,Object[]args)辦法返回method.invoke(target,args)。創(chuàng)立動態(tài)代理對象環(huán)節(jié):實現(xiàn)InvocationHandler接口創(chuàng)立自己調(diào)用解決器。重寫invoke辦法。用Proxy.newProxyInstance(classLoader,newClass[]{Interface.class},handler}辦法獲得代理類實例。Bank:NumberManager類:產(chǎn)生客戶PrivateintlastNumber;PrivateList<Integer>queueNumber;intsynchronizedgenerateNewManager():產(chǎn)生新客戶號碼??蛻艟€程調(diào)用。intsynchronizedfetchServiceNumber():取走客戶號碼。窗口線程調(diào)用。List是共享數(shù)據(jù)。需要互斥。NumberMachine類:號碼管理器,采用單例設(shè)計模式 privateNumberManagercommonManager;用get()返回對象。 privateNumberManagerexpressManager;用get()訪問。 privateNumberManagervipManager;用get()訪問。EnumCustomerTypeCOMMON,EXPRESS,VIP;ServiceWindow類:窗口 privateintwindowId;窗標語碼 enumCustomerTypetype; publicvoidstart()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論