不可變對象(immutable objects)

  1. 不可變對象(immutable objects):同步類示例、不可變對象策略。
  2. 不可變對象能避免線程衝突、內存一致問題,但程序員一般不願意用,它們關注對象創建的消耗而不是對象更新消耗,其實不可變對象的創建消耗完全可以由其他方面帶來的效率低效,如gc消耗低、不必寫保護多線程下可變對象不遭到破壞的代碼。
  3. 可變對象會存在兩個線程干擾的情況,如兩個語句之間有另外的線程改變對象的狀態,那麼兩個語句獲取的對象狀態就會不一致,所以就需要利用同步代碼塊將兩個語句鎖起來。
  4. 不可變對象,final class、private final域、引用型變量被方法返回時用它的copy。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章