1、readObject方法實際上相當于另一個公有的構造器,如同其他的構造器一樣,它也要滿足所有注意事項。構造器必須檢查其參數的有效性,并且在必要的時候對參數進行保護...

1、readObject方法實際上相當于另一個公有的構造器,如同其他的構造器一樣,它也要滿足所有注意事項。構造器必須檢查其參數的有效性,并且在必要的時候對參數進行保護...
1、如果事先沒有認真考慮默認的序列化形式是否合適,則不要貿然接受; 2、如果一個對象的物理表示法等同于它的邏輯內容,可能就適合于使用默認的序列化形式; ...
作為Java自帶的一個序列化方式,實現Serializable接口就可以對類進行序列化,不過,書中列舉了許多這種方式的問題。 1、實現Serializable...
多線程部分的看的我有點不好理解,先看序列化的章節,轉換一下內容。 序列化和反序列化簡單來說就是把對象變成字節流,再把字節流變成對象。從書中的內容中可以發現字節...
這一章提到的ExecutorService在系統里有用到。使用的過程大致如下: 這一種就是每個線程單獨運行,然后設置一定的返回參數,等過所有線程結束之后匯總結...
這一章的主題是并發,第一篇講的是線程同步問題,這里面主要是提到了兩個概念,一個是活性失敗,另一個是安全性失敗。 首先是活性失敗,這一個概念我個人的理解是同一個...
今天提到了一個異常相關的概念——異常鏈,也就是下層拋出的 異常經由try - catch 處理轉換成一種上層需要的異常。比如提到的下面這個AbstractSequen...
今天這篇主要提到了兩種Java本身提供的異常illegalArgumentException和illegalStatusException,這兩個看名字就很容易知道是...
這一篇作者沒有給出明確的tips,只是在最后總結有提到受檢異常可以提升可讀性,但過度的受檢異常會使得API使用起來非常痛苦。同時要根據情況來決定是否拋出異常以及拋出什...
關于異常的使用書中給了兩條主要的提示。 1.如果期望調用者能夠適當地恢復,對于這種應該情況使用受檢異常。 2.用運行時異常來表明編程錯誤。 正...
Java首先命名的習慣是駝峰命名規則,而這個也使得Java所有的部件——包、類、變量、常量、方法都能清楚地分辨出來。對于母語不是英語的開發者而言,如何簡單有效地傳遞自...
代碼的優化和重構都是一件應該慎而又慎的事情,關于優化書中給了幾條tips。 第一,要努力編寫好的程序而不是快的程序。這一句話我理解的應該是說要一個更穩定的程序...
反射是一個很強大的功能,但也有以下幾個缺點: 1、使用反射會損失編譯時類型檢查的優勢; 2、執行反射所需的代碼非常笨拙冗長; 3、反射調用方法比普通調...
正常情況下拼接字符串都是使用“+”,但是如果為連接n個字符串而重復使用字符串連接操作符,就會需要n的平方級時間。 字符串和其他對象不同的是,如果我們將"1"和...
字符串本身是用來做文本的,很多時候的資料也是只需要支持save和load就好,同時,String本身和其他一些對象也支持字符串和其他類型互相轉換。也因此人們在編程時會...
Float和Double類型是為了科學計算和工程計算而設計的,采用的是二進制浮點運算運算,但也它們無法提供完全精確的結果,所以無法在需要精確值的場景下使用。作者提到了...
使用類庫的第一個好處,可以充分利用編寫類庫的專家知識,以及在你之前的其他人的使用經驗。 第二個好處,不必浪費時間為那些工作不太相關的問題提供特別的解決方案。 ...
隨著接口方面的代碼接觸越來越多,全局變量和局部變量一直在糾結,比較典型的就是系統中的company和order,很多時候要校驗或者檢查某個字段和信息就需要compan...
可變參數是指在方法入參中可以有0個或者多個的參數。使用可變參數的時候需要注意,可變參數的本質是個數組,同時一個參數列表只能有一個可變參數,而且可變參數只能放在參數列表...
提到重載很難不提到另一個東西,那就是重寫。這兩個機制是完全不同的,重載是在同一個類中,編寫方法名相同,參數不同,返回體可以不同的方法。重寫則是子類重新編寫父類中相同名...