原创 《深入分析JavaWeb技術內幕》讀書筆記六.JVM

JVM體系結構 何謂JVM JVM體系結構詳解 類加載器 執行引擎 Java內存管理 JVM工作機制 機器如何執行代碼 JVM爲何選擇基於棧的架構 執行引擎的架構設計 JIT:JVM在執行時

原创 《深入理解計算機系統》1.1:計算機系統漫遊

目錄 信息 = 位+上下文  系統的硬件組成 1.總線 2.I/O設備 3.主存 4.處理器 運行hello程序 ​ 信息 = 位+上下文 系統中的所有信息,包括磁盤文件、內存中的程序、內存中存放的用戶數據以及網絡上傳送的數據,都是由一串

原创 設計模式之---橋接模式

還是舉例說明吧!現在有一個問題,那就是手機和手機應用。手機有很多牌子,應用也有很多,那某個手機上的應用,該怎麼實現呢。 第一種架構: 這種架構非常簡單,但有個明顯的問題,那就是可擴展性差。比如再來一種手機或者應用,那類又得增加好幾個。他

原创 設計模式之---解釋器模式

解釋器模式是個不怎麼常用的設計模式。我們先來舉一個簡單的例子說明它。 a+b-c這麼一個表達式,+,-都是非終結符表達式,a,b,c都是終結符表達式。非終結表達式一般是文法中的運算符或者關鍵字,而終結表達式一般是文法中的運算單元。 p

原创 設計模式之---訪問者模式

package visitor; public interface IVisitor { void visit(Element element); } package visitor; public abstract cla

原创 數據庫隔離級別以及Spring事務傳播

數據庫隔離級別 說這個問題之前我們先說說三個概念。 髒讀 當一個事務正在訪問數據,並且對數據進行了修改,但這個修改了的數據還沒提交到數據庫中,然後另一個事務也訪問了這個數據,那麼我們就稱這個事務讀到的數據是髒數據。這個錯誤過程就叫髒讀。

原创 設計模式之---總結

前面已經把設計模式都介紹了一遍,最後做個總結。 先說分類: 可根據模式的目的即模式是用來做什麼的將模式分爲三類:創建型( Creational)、結構型( Structural)、或行爲型( Behavioral )三種。 創建型模式與對

原创 《深入分析JavaWeb技術內幕》讀書筆記八.Tomcat

書中介紹了兩個Servlet引擎,分別是Jetty和Tomcat。由於本人更熟悉Tomcat,所以只講Tomcat部分吧。 書中也明確說了,Tomcat很複雜,不是一章內容能說清楚的。這一章以Tomcat5爲基礎,也兼顧Tomcat6。T

原创 Struts2和Hibernate原理與架構

前一陣子寫了《深入分析JavaWeb技術內幕》的讀書筆記,最後一章寫的是框架。趁此機會把另外兩個比較流行的框架也一起介紹了。 Struts2 整體架構 先看一下Struts2的整體架構: 現在的FilterDispatcher已經過時,

原创 《深入分析JavaWeb技術內幕》讀書筆記七.Servlet,Session與Cookie

這三個東西接觸過JavaWeb的同學應該都很熟悉吧,我們就依次聊一聊這三個東西。 Servlet Servlet容器 Servlet與Servlet容器就好比子彈和槍,槍爲子彈而生而子彈又讓槍有了殺傷力。它們通過標準化接口來相互協作,

原创 設計模式之---迭代器模式

現在很多編程語言都通過發語法糖來支持這種模式了,比如Java的for-each,但我們對這個模式做個瞭解還是有必要的。 package iterator; public interface Iterator { publ

原创 Java中的四大引用(強引用,弱引用,軟引用,虛引用)

引用這個概念經常被提及,今天總結一下。 強引用 強引用即(StrongReference)我們最常使用的引用,A a=new A()。這個a就是一個強引用。 軟引用 即(SoftReference), Object obj = ne

原创 設計模式之---享元模式

下面來個實例,大家應該就明白了。 package flyweight; public interface Flyweight { void operate(); } package flyweight; public class

原创 《深入分析JavaWeb技術內幕》讀書筆記九.Spring,SpringMVC,MyBatis

這三個框架在JavaWeb項目中非常常見,書中也對它們進行了相關介紹,但書中講的是iBatis,我這裏則介紹MyBatis。這三個框架都非常優秀,也不是三言兩語能講清楚的,我這裏只是對它們的架構和原理進行簡單的介紹,具體應用請自行學習。

原创 設計模式之---命令模式

定義:將一個請求封裝成一個對象,從而讓你使用不同的請求把客戶端參數化,對請求排隊或者記錄請求日誌,可 以提供命令的撤銷和恢復功能。 package command; public class Receiver { public v