這里我們介紹幾個(gè)常用的分析jvm內(nèi)存使用情況的工具 jmap: jmaps是JDK自帶的一個(gè)工具軟件,主要用于打印堆內(nèi)存細(xì)節(jié)image.png jhat是用來將jmap導(dǎo)出的...
這里我們介紹幾個(gè)常用的分析jvm內(nèi)存使用情況的工具 jmap: jmaps是JDK自帶的一個(gè)工具軟件,主要用于打印堆內(nèi)存細(xì)節(jié)image.png jhat是用來將jmap導(dǎo)出的...
@琥珀光 多謝指正
跳表(skip list)我們知道二叉搜索算法能夠高效的查詢數(shù)據(jù),但是需要一塊連續(xù)的內(nèi)存,而且增刪改效率很低。跳表,是基于鏈表實(shí)現(xiàn)的一種類似“二分”的算法。它可以快速的實(shí)現(xiàn)增,刪,改,查操作。我們先來...
mybatis鼓勵(lì)我們自己寫sql,而不是自動(dòng)生成sql,這樣的好處是我們可以對(duì)sql進(jìn)行管理和優(yōu)化。如果我們懂sql開發(fā)和調(diào)優(yōu),那么這種方式是一個(gè)很好的方式。我們可以定義一...
mybatis 因?yàn)槠浜?jiǎn)單易用性,被廣泛使用。它既簡(jiǎn)化了我們對(duì)DB curd操作,同時(shí)也保留了我們寫sql語句的權(quán)利(不是自動(dòng)生成),這樣我們就可以基于sql做更多的優(yōu)化(如...
zookeeper提供了兩種語言的api,一種是java的一種是c的,這里我們學(xué)習(xí)java api, c語言的api接口和java的結(jié)構(gòu)是一樣的。在使用之前首先我們需要將用到...
zookeeper的主要用來協(xié)同多個(gè)應(yīng)用直接的合作。它通過暴露一些類似文件系統(tǒng)的API,讓用戶調(diào)用來定義自己的協(xié)同原則。如下圖所示,zookeeper維護(hù)一個(gè)類似樹形結(jié)構(gòu)的目...
我們?cè)趯W(xué)習(xí)一個(gè)東西的時(shí)候,往往只有真正了解它背后的含義,才能一步一步的掌握它,直到運(yùn)籌帷幄。對(duì)于Kafka來說,我也是一個(gè)小白,本篇文章我就以一個(gè)小白的角度來初探一下Kafk...
JDK7 中將StringPool從永久代移動(dòng)到了老生代,并且可以通過-XX:StringTableSize=99991來改變常量池的大小。 jdk7下面第一段代碼打印的是t...
Golang的數(shù)據(jù)聲明格式如下data := [7]int{}data:=[3]int{1, 2, 3}data := [...]int{1, 2, 3}我們注意到,與其他語...
JMM描述了Java多線程對(duì)共享變量的訪問規(guī)則,以及在JVM中將變量存儲(chǔ)到內(nèi)存和從內(nèi)存中讀取變量這樣的底層細(xì)節(jié)。 java內(nèi)存模型如上圖所示,每個(gè)線程都有自己獨(dú)立的工作內(nèi)存,...
java 虛擬機(jī)簡(jiǎn)稱JVM(Java Virtual Mechine),是一個(gè)虛構(gòu)出來的計(jì)算機(jī),可以運(yùn)行class文件。 JVM內(nèi)存結(jié)構(gòu) jvm內(nèi)存包含以下幾部分: 堆內(nèi)存堆...
當(dāng)我們需要在不同的應(yīng)用直接傳到數(shù)據(jù)時(shí),我們通常需要encode數(shù)據(jù)(將內(nèi)存中的數(shù)據(jù)轉(zhuǎn)換成字符流或者寫到文件)然后發(fā)送給接收端,接收端再decode數(shù)據(jù)(將流數(shù)據(jù)或者文件數(shù)據(jù)轉(zhuǎn)...