前言:
目前成都創(chuàng)新互聯(lián)已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、福清網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。很多人在剛開始學(xué) Java 的時(shí)候,會(huì)覺得多線程是一塊難啃的骨頭,特別是對(duì)于非科班的同學(xué)。究其原因,我想主要是因?yàn)闆]有將多線程建立起一種模型,不清楚多線程的問題到底是怎么產(chǎn)生的。在這里,我就和大家聊一下我對(duì)Java 多線程的一些想法。
Java 是基于 Java 虛擬機(jī)(JVM)實(shí)現(xiàn)的一套編程語(yǔ)言,我們寫的 Java 代碼是要在 JVM 中才能運(yùn)行。所謂虛擬機(jī),其實(shí)就是模擬了一個(gè)操作系統(tǒng)。一個(gè)常規(guī)操作系統(tǒng)所必備的功能,虛擬機(jī)一般也會(huì)有。我們計(jì)算機(jī)的操作系統(tǒng)能管理內(nèi)存資源,那么虛擬機(jī)當(dāng)然也要能管理內(nèi)存資源了。在 JVM 里,從邏輯的角度來說,會(huì)把內(nèi)存劃分為兩部分: 線程棧 和 堆 。
嗯,我知道你們對(duì)這樣簡(jiǎn)單粗暴的劃分方式有意見,JVM 里面的內(nèi)存劃分遠(yuǎn)比上面說的復(fù)雜。
而我們今天的談?wù)撝簧婕暗?nbsp; 線程棧 (即虛擬機(jī)棧)和 堆 ,因此就簡(jiǎn)單地認(rèn)為 JVM 只劃分了這兩部分。
也就是說,JVM 里面的內(nèi)存模型,我們可以簡(jiǎn)要地畫成下面的那樣:
http://weahome.cn/article/csdhes.html