原创 證書管理:證書獲取和生成

證書獲取 通過瀏覽器查看網站證書已經可以看到許多信息,版本號、簽名算法、公鑰,證書鏈和各種擴展項,如果我們想獲取該證書,用瀏覽器的方式也很簡單。在查看證書處,詳細信息,複製到文件就可以選擇以某種格式導出證書。 獲取網站證書也可以讓我們看

原创 高併發筆記:StampedLock

回顧讀寫分離鎖 假如使用synchronized關鍵字或者重入鎖ReentrantLock來對讀寫操作進行加鎖,在多個讀寫線程情景下效率是非常低的,因爲獨佔鎖的方式,使得讀線程與讀線程,讀線程與寫線程之間都必須等待。對於讀-寫操作之間的等

原创 Validator接口校驗與全局異常處理器

Spring Validator接口校驗 上一篇日誌使用Bean Validation校驗機制,對基本數據類型進行校驗,方法是在實體類屬性上使用註解標識校驗方式,最後在Controller類中具體方法的形參裏添加@Vlidated註解。B

原创 CallStub:函數指針直接觸發機器指令

        上篇日誌總結CPU調用函數時的棧內存變化過程,用的C程序解釋成彙編來描述,目的是想說明,JVM在執行Java程序時,函數調用的過程和C程序函數調用的過程是相同的,C作爲靜態編譯型的語言,在程序執行先需要編譯成CPU能直接執

原创 總結匯編函數調用中的棧分配

       這篇日誌總結一下函數調用過程中,每一個函數的棧空間分配,參數傳遞等問題,在一些高級語言如Java,C#等,在源程序編譯後,交由虛擬機進行解釋運行,運行過程中實時翻譯成對應操作系統下的機器指令,這樣CPU才能直接執行,C語言也

原创 JVM執行引擎: 中間語言翻譯

    目錄 中間語言轉換 中間語言到機器碼 直接到機器碼 即時編譯-Hot Spot             這篇日誌把JVM中的中間語言轉換總結一下,看看從中間語言轉換成機器碼的方式是怎樣的。方法是程序最基本的單元,由指令的集合組成,

原创 TLS/SSL性能:密鑰長度性能測試

這篇日誌總結的是我在Ubuntu下用openssl測試各個密碼學算法的性能,從前面的HTTPS抓包裏看到,在客戶端和服務器端建立完整的TLS握手連接時,Client Hello子消息中帶有cipher_suites密碼套件列表,Serve

原创 HTTP/1.1隊首阻塞和HTTP/2優化

應用層的優化的方式很多,我知道的有瀏覽器上的優化,通常我們瀏覽一個HTML網頁時,客戶端向服務器端發送請求得到主頁面,主頁面上由很多元素組成,JS文件,CSS樣式文件和各種音頻圖片等資源,等待服務器端發送HTTP或HTTPS響應,在接收到

原创 性能問題:流量控制和阻塞控制

目錄 流量控制 窗口縮放 阻塞控制 慢啓動 擁塞避免 慢啓動重啓         說到網絡性能問題,影響的因素有很多,以前上課時老師講的主要有時延和帶寬兩個,時延簡單來說就是一條消息從一端發送到另一端接收的時間,長短也有很多方面決定,例如

原创 抓HTTPS報文分組來分析TLS/SSL協議

目錄   追蹤TCP流 捕獲HTTPS流量 Client Hello Server Hello Certificate Certificate extension Server Key Exchange Client Key Exchan