原创 HTTP相關知識回顧

1、網絡模型 1.1 OSI七層網絡模型 物理層、數據鏈路層(MAC定位)、網絡層(IP地址定義子網)、傳輸層(TCP/UDP)、會話層、表示層、應用層 1.2 TCP/IP四層網絡模型 鏈路層、網絡層、傳輸層、應用層 鏈

原创 Netty啓動流程總結

1、什麼是netty Netty,一個異步事件驅動的網絡應用框架,用於快速開發可維護的高性能服務器和客戶端。(對java的NIO進行封裝,簡化開發) 1.1 java Nio BIO模型,一個client線程請求服務端之後

原创 java併發一

java 自旋鎖、偏向鎖、輕量級鎖、重量級鎖 https://blog.csdn.net/zqz_zqz/article/details/70233767 synchronized、volatile、final關鍵字 synchro

原创 java虛擬機(一)

1、java如何不關注底層技術細節實現兼容性? 使用中間語言 ,通過中間語言實現跨平臺兼容的目標。 2、中間語言不是本地機器指令,機器cpu無法直接識別,因此中間語言不能直接在物理cpu上直接執行,怎麼解決? 用虛擬機來解釋中間語言,

原创 雜文(一)

java內存回收案例一 Vector v = new Vector(10); for (int i = 1; i < 100; i++) { Object o = new Object(); v.add(o); o = null;

原创 java併發二

1、concurrentHashMap 針對jdk1.8,主要針對put方法與擴容方法。 容器往往在第一次put的時候進行初始化,默認大小16,每次擴容n<<1,即擴大一倍,通過元素的hash值與數組容量取餘找到元素index,當數組

原创 java虛擬機(二)

JVM函數調用機制 JVM要實現直接由C語言直接調用機器指令,通過兩種方式。 第一、C語言內嵌彙編,內嵌彙編只能實現C語言直接調用匯編指令,而不是機器指令,機器指令和彙編指令還是有很大差距,例:(MOV AX,1234H 對應的機器碼