《码农翻身》读后感第二天
? ?? 今天看了幾個小時,直接看了三分之一多。中間主要講到了多線程的鎖,遞歸算法,java語言的發展過程,虛擬機(棧和堆,java文件編譯過程,gc機制),數據持久化框架ejb,ibitis,hibernate,jdbc,以及數據庫的事務,分布式事務和利用消息隊列實現數據的最終統一性。jsp的發家史,頁面的動態代理,自定義注解,泛型的引入和實現,日志系統的實現,數據的序列化。
? ?? 當中大多數知識說的比較淺吧,像虛擬機,只是大概的講了下類的加載過程,感覺對于棧的描述有點過多和重復。堆只是稍微提了下。還有持久化的東西,重點是介紹了jdbc的實現過程,里面的代碼也很清晰。
? ? ? 遞歸算法,尾遞歸——當遞歸調用的是函數中最后執行的語句,并且它的返回值不屬于表達式的一部分時,這個遞歸就是尾遞歸。用階乘算法為列;int? A(int n,int result){? if n==1?return 1:return A(n-1,n*result)? }.尾遞歸的優點;編譯器會生成優化的代碼,復用棧楨;
? ?? 事務特性:1.原子性,2.一致性,3.隔離性,4.持久性。分布式事務(JTA):主要是通過一個全局的事務管理器來管理不同數據庫的操作。當需要跨數據庫操作時,管理器向各個數據庫發出準備消息,讓本地數據庫準備好執行操作,鎖住資源,記錄日志,但不能提交數據。準備完畢再通知管理器OK。當所有數據庫都準備完畢,管理器再向數據庫發出提交請求。數據庫再提交數據??偨Y就是分為兩個階段,準備和提交。但是這兩個階段都必須先通知管理,再由管理器發出下一步的命令。初步看來可以實現數據的一致性,但是性能反面確不讓人滿意。因為在和管理器交互的過程中,可能什么網絡會中斷或者超時,導致接收不到命令。這樣的問題還不好解決。于是就出現了,消息隊列來代替分布式事務。在本地數據庫建一個事務列表,需要執行跨數據庫操作時就在事務列表中新增一條數據。然后用消息隊列每天定時查詢事務列表中的需要執行的事務。以達到數據最終的一致性。
? ? ? 總的來說這本書偏理論性的東西較多,都是用故事的形式描述出來原理,不會刻意強調。知識點需要靠自己理解和捕捉。估計明天不出意外可以全部看完,確實是沒想到這么快的。但是看到現在感覺學到的東西不多。估計還會再重新讀一遍。
總結
以上是生活随笔為你收集整理的《码农翻身》读后感第二天的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习《码农翻身》之精进
- 下一篇: 关于程序员35岁的坎:年龄不是挡板,图灵