摘要:實(shí)現(xiàn)接口通過源碼可以看到繼承自實(shí)現(xiàn)了接口接口接口接口。因此也說明類是線程不安全的類。插入指定位置插入元素,其邏輯如下校驗(yàn)是否有效范圍,否則拋出數(shù)組越界異常擴(kuò)容確保能有效插入。雙指針的思路,一個讀指針,一個寫指針。ArrayList是最常用的一種集合類型。今天通過閱讀源碼的方式來加深對它的學(xué)習(xí)和理解。 ##實(shí)現(xiàn)接口 public class ArrayList extends Abstract...
摘要:序列化機(jī)制使得對象可以脫離程序的運(yùn)行而獨(dú)立存在。普通序列化接口是一個標(biāo)記接口,不用實(shí)現(xiàn)任何方法。如果此對象已經(jīng)序列化過,則直接輸出編號即可。圖示上述序列化過程。一、序列化的含義、意義及使用場景二、序列化實(shí)現(xiàn)的方式1、Serializable1.1 普通序列化1.2 成員是引用的序列化1.3 同一對象序列化多次的機(jī)制1.4 java序列化算法潛在的問題1.5 可選的自定義序列化2、Extern...
摘要:模板方法模式的更多應(yīng)用事實(shí)上很多有關(guān)生命周期的類都用到了模板方法模式,最典 將大象裝進(jìn)冰箱需要三步,那么老虎了?如何優(yōu)雅的將大象裝進(jìn)冰箱? 把大象裝進(jìn)冰箱 Step 大象 老虎 ... First 打開冰箱門 打開冰箱門 打開冰箱門 Second 把大象放進(jìn)去 把老虎放進(jìn)去 ... Third 關(guān)閉冰箱門 關(guān)閉冰箱門 關(guān)閉冰箱門 大象類 public ...
摘要:這個月的天數(shù)是否事閏年似地,一天中的時(shí)間,比如,可以使用類表示。使用靜態(tài)方法,你可以實(shí)現(xiàn)這一目的合并日期和時(shí)間這個復(fù)合類名叫,是和的合體。對于最常見的用例,日期和時(shí)間已經(jīng)提供了大量預(yù)定義的。Java的API提供了很多有用的組件,能幫助你構(gòu)建復(fù)雜的應(yīng)用。不過,Java API也不總是完美的。我們相信大多數(shù)有經(jīng)驗(yàn)的程序員都會贊同Java 8之前的庫對日期和時(shí)間的支持就非常不理想。然而,你也不用太...
摘要:寫域重排序規(guī)則寫域的重排序規(guī)則禁止對域的寫重排序到構(gòu)造函數(shù)之外,這個規(guī)則的實(shí)現(xiàn)主要包含了兩個方面禁止編譯器把域的寫重排序到構(gòu)造函數(shù)之外編譯器會在域?qū)懼?,?gòu)造函數(shù)之前,插入一個屏障。結(jié)論只有當(dāng)構(gòu)造函數(shù)返回時(shí),引用才應(yīng)該從線程中逸出。final關(guān)鍵字final的簡介final可以修飾變量,方法和類,用于表示所修飾的內(nèi)容一旦賦值之后就不會再被改變,比如String類就是一個final類型的類。f...
暫無介紹