1.JMM產(chǎn)生背景和定義 JMM(Java內(nèi)存模型)源于物理機(jī)CPU架構(gòu)的內(nèi)存模型,最初用于解決MP(多處理器架構(gòu))系統(tǒng)中的緩存一致性問題,而JVM為了屏蔽與各個(gè)硬件平臺(tái)和操...
1.JMM產(chǎn)生背景和定義 JMM(Java內(nèi)存模型)源于物理機(jī)CPU架構(gòu)的內(nèi)存模型,最初用于解決MP(多處理器架構(gòu))系統(tǒng)中的緩存一致性問題,而JVM為了屏蔽與各個(gè)硬件平臺(tái)和操...
1.常量池類型 Java中的常量池分為三種: 類文件常量池(靜態(tài)常量池)(The Constant Pool)運(yùn)行時(shí)常量池 (The Run-Time Constant Po...
1.對(duì)象的創(chuàng)建 1.遇到new指令時(shí),首先檢查這個(gè)指令的參數(shù)是否能在常量池中定位到一個(gè)類的符號(hào)引用,并且檢查這個(gè)符號(hào)引用代表的類是否已經(jīng)被加載、解析和初始化過。如果沒有,執(zhí)行...
1.GC基本概念 在java中,程序員是不需要顯式的去釋放一個(gè)對(duì)象的內(nèi)存的,而是由虛擬機(jī)自行執(zhí)行。在JVM中有一個(gè)垃圾回收線程,它是優(yōu)先級(jí)低的,在正常情況下是不會(huì)執(zhí)行的,只有...
1.JDK1.7內(nèi)存模型-運(yùn)行時(shí)數(shù)據(jù)區(qū)域 根據(jù)《Java虛擬機(jī)規(guī)范(Java SE 7 版)》規(guī)定,Java虛擬機(jī)所管理的內(nèi)存如下圖所示 1.堆:存放所有new出來的東西,在...
1.類的加載 虛擬機(jī)類裝載器子系統(tǒng):虛擬機(jī)把描述類的數(shù)據(jù)從class文件加載到內(nèi)存,并對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)、轉(zhuǎn)換解析和初始化,最終形成可以被虛擬機(jī)直接使用的Java類型。 類的加載...
1.JVM架構(gòu) 簡(jiǎn)介 java平臺(tái)可分為兩部分,既java虛擬機(jī)(JVM) 和JavaAPI類庫。JVM是Java Virtual Machine(java虛擬機(jī))的縮寫,J...
概念說明 內(nèi)核態(tài)(內(nèi)核空間)和用戶態(tài)(用戶空間)的區(qū)別和聯(lián)系 用戶空間是用戶進(jìn)程所在的內(nèi)存區(qū)域,系統(tǒng)空間是操作系統(tǒng)所在的內(nèi)存區(qū)域 為了保證內(nèi)核安全,處于用戶態(tài)的程序只能訪問用...
嗯 睡眠排序大法。
算法(二)排序算法快排上圖中空間復(fù)雜度數(shù)據(jù)錯(cuò)誤,應(yīng)該是O(log n)。 插入,堆,歸并,快排 n表示數(shù)據(jù)規(guī)模,k表示桶的個(gè)數(shù)。n: 數(shù)據(jù)規(guī)模k: “桶”的個(gè)數(shù)In-place: 占用常數(shù)內(nèi)存...
FastDFS 是一個(gè)開源的高性能分布式文件系統(tǒng)(DFS) ,主要解決海量數(shù)據(jù)存儲(chǔ)問題,特別適合中小文件(建議范圍:400K~500M)為載體的在線服務(wù)。 主要功能: 文件存...
當(dāng)待排序序列比內(nèi)存可使用容量還大時(shí),文件無法一次性放到內(nèi)存中進(jìn)行排序,需要借助外部存儲(chǔ)器(例如硬盤、u盤、光盤),這時(shí)就需要用到外部排序來解決。 外部排序算法由兩個(gè)階段構(gòu)成 ...
字符串排序算法 如果單個(gè)字符 可以使用計(jì)數(shù)排序。因?yàn)樽址姆秶邢蕖H绻嵌鄠€(gè)字符的字符串 且長(zhǎng)度相同,可以使用基數(shù)排序 LSD 低位優(yōu)先排序。如果是多個(gè)字符的字符串 且長(zhǎng)度...
快排上圖中空間復(fù)雜度數(shù)據(jù)錯(cuò)誤,應(yīng)該是O(log n)。 插入,堆,歸并,快排 n表示數(shù)據(jù)規(guī)模,k表示桶的個(gè)數(shù)。n: 數(shù)據(jù)規(guī)模k: “桶”的個(gè)數(shù)In-place: 占用常數(shù)內(nèi)存...
軟件設(shè)計(jì)的本質(zhì),其實(shí)是根據(jù)具體的場(chǎng)景找到空間時(shí)間互換的最優(yōu)臨界值,找出效率最高的方案。這里說的效率不僅僅局限于程序的執(zhí)行效率,也包含系統(tǒng)整體的開發(fā)效率,維護(hù)效率,可擴(kuò)展性,可...
1.Docker基礎(chǔ)簡(jiǎn)介 開源容器引擎,go語言編寫,遵循apache2.0協(xié)議開源 Docker是微服務(wù)階段產(chǎn)物,可隨意伸縮。 linux系統(tǒng) = 內(nèi)核 + 文件系統(tǒng)Doc...
1.責(zé)任鏈模式(Chain of Responsibility)2.命令模式(Command)3.解釋器模式(Interpreter)4.迭代器模式(Iterator)5.中...
動(dòng)態(tài)分派和靜態(tài)分派機(jī)制是java多態(tài)的實(shí)現(xiàn)原理。 靜態(tài)分派(方法重載) 靜態(tài)分派機(jī)制最典型的代碼: 這段代碼執(zhí)行完會(huì)輸出this is father.之所以是這個(gè)結(jié)果,原因是...
1.適配器模式(Adapter)2.橋接模式(Bridge)3.組合模式(Composite)4.裝飾模式(Decorator)5.外觀模式(Facade)6.享元模式(Fl...