這是我們研究Tomcat的第四篇文章,前三篇文章我們搭建了源碼框架塘辅,了解了tomcat的大致的設(shè)計架構(gòu), 還寫了一個簡單的服務(wù)器。按照我們最初訂的計劃跷乐,今天,我們要開始研究t...
前言 嗯石景,我應該是有一段實現(xiàn)沒有寫過博客了劈猿,在寫完了細說Spring——AOP詳解(AOP概覽)之后,我發(fā)現(xiàn)我不知道該怎么寫AOP這一部分潮孽,所以就把寫博客這件事給放下了揪荣,但是...
一、主從模式 通過持久化功能往史,Redis保證了即使在服務(wù)器重啟的情況下也不會損失(或少量損失)數(shù)據(jù)仗颈,因為持久化會把內(nèi)存中數(shù)據(jù)保存到硬盤上,重啟會從硬盤上加載數(shù)據(jù)。但是由于數(shù)據(jù)...
Java 在運行時識別對象和類的信息挨决,主要有兩種方式:一種是傳統(tǒng)的RTTI(Run-Time Type Identification)请祖,它假定在編譯時已經(jīng)知道了所有的類型信息...
1. 算法背景 狀態(tài)復制(State Replication). 對于一組節(jié)點,如果所有節(jié)點均以相同的順序執(zhí)行一個(可能是無限的)命令序列c1, c2, c3, ..., 則...
我們這篇文章來了解一下synchronized和ReentrantLock兩個同步鎖的區(qū)別盖高。 相似點:這兩個同步方式有很多相似之處慎陵,他們都是加鎖方式同步,而且都是阻塞式同步喻奥,...
字節(jié)碼 我們知道C程序可以直接編譯成為二進制文件交由硬件系統(tǒng)執(zhí)行。而Java程序則不然撞蚕,一個A.java文件經(jīng)過編譯以后生成的是A.class文件润梯,而這個A.class并不是...
寫在前面 當在10億數(shù)據(jù)進行不到30次比較就能查找到目標時,不禁感嘆編程之魅力甥厦!人類之偉大呀纺铭! —— 學紅黑樹有感。 終于矫渔,在學習了幾天的紅黑樹相關(guān)的知識后彤蔽,我想把我所學所想...
一 并發(fā)編程相關(guān) 引用了一些博客的資料顿痪,并非全部原創(chuàng)。 前言: 只要數(shù)據(jù)需要被跨線程共享油够,就需要進行恰當?shù)耐揭舷7駝t可能會訪問到過期值。java允許將64位的讀或?qū)懖僮鲃澐譃?..
曄哥太強了JА揩悄!
初學JVM(1):初識JVM一、初識JVM ??我們寫好一份Java代碼鬼悠,要將其部署到線上的機器去運行删性,就要將其打包成.jar或.war后綴的包,再進行部署焕窝。其中關(guān)鍵的一步是“編譯”蹬挺,也就是要把.jav...
為了換取性能巴帮,JVM在內(nèi)置鎖上做了非常多的優(yōu)化,膨脹式的鎖分配策略就是其一。理解偏向鎖榕茧、輕量級鎖垃沦、重量級鎖的要解決的基本問題,幾種鎖的分配和膨脹過程用押,有助于編寫并優(yōu)化基于鎖的...