tomcat和java虛擬機(jī)是什么

tomcat

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了扎賚諾爾免費(fèi)建站歡迎大家使用!

1、Tomcat 簡(jiǎn)介T(mén)omcat是Apache軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由
Apache、Sun和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。
Tomcat服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的Web應(yīng)用服務(wù)器,屬于輕量級(jí)應(yīng)用服務(wù)器。目前Tomcat最新版本為9.0。Java容器還有resin、weblogic等。
Tomcat官網(wǎng): http://tomcat.apache.org

2、Tomcat好幫手---JDK

JDK是 Java 語(yǔ)言的軟件開(kāi)發(fā)工具包,主要用于移動(dòng)設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序。JDK是整個(gè)java開(kāi)發(fā)的核心,它包含了JAVA的運(yùn)行環(huán)境(JVM+Java系統(tǒng)類庫(kù))和JAVA工具。 http://www.oracle.com/technetwork/java/javase/downloads/index.html

端口: tomcat自身服務(wù)的端口:8005
tomcat和其他應(yīng)用通信的端口:8009 tomcat給客戶端瀏覽器訪問(wèn)頁(yè)面使用的端口:8080

JVM基礎(chǔ)

一、JVM 虛擬機(jī)常識(shí)作為了解JVM 虛擬機(jī)的開(kāi)始。我們很有必要弄明白以下兩個(gè)問(wèn)題。

1.什么是JAVA虛擬機(jī)

所謂虛擬機(jī),就是一臺(tái)虛擬的計(jì)算機(jī)。他是一款軟件,用來(lái)執(zhí)行一系列虛擬計(jì)算機(jī)指令。大體上,虛

擬機(jī)可以分為系統(tǒng)虛擬機(jī)和程序虛擬機(jī)。大名鼎鼎的VisualBox、VMware就屬于系統(tǒng)虛擬機(jī)。他們完全是對(duì)物理計(jì)算機(jī)的仿真。提供了一個(gè)可以運(yùn)行完整操作系統(tǒng)的軟件平臺(tái)。
程序虛擬機(jī)的典型代表就是Java虛擬機(jī),它專門(mén)為執(zhí)行單個(gè)計(jì)算機(jī)程序而設(shè)計(jì),在Java虛擬機(jī)中執(zhí)行
的指令我們稱為Java字節(jié)碼指令。無(wú)論是系統(tǒng)虛擬機(jī)還是程序虛擬機(jī),在上面運(yùn)行的軟件都唄限制于虛擬機(jī)提供的資源中。

2.JAVA 如何做到跨平臺(tái)

同一個(gè)JAVA程序(JAVA字節(jié)碼的集合),通過(guò)JAVA虛擬機(jī)(JVM)運(yùn)行于各大主流操作系統(tǒng)平臺(tái)比如Windows、CentOS、Ubuntu等。程序以虛擬機(jī)為中介,來(lái)實(shí)現(xiàn)跨平臺(tái)。

1/14

3.虛擬機(jī)基本結(jié)構(gòu)我們要對(duì)JVM虛擬機(jī)的結(jié)構(gòu)有一個(gè)感性的認(rèn)知。畢竟我們不是編程人員,認(rèn)知程度達(dá)不到那么深入。

1)、類加載子系統(tǒng)
負(fù)責(zé)從文件系統(tǒng)或者網(wǎng)絡(luò)中加載Class信息,加載的類信息存放于一塊稱為方法區(qū)的內(nèi)存空間。除了類信息外,方法區(qū)中可能還會(huì)存放運(yùn)行時(shí)常量池信息,包括字符串字面量和數(shù)字量。

2/14

2)、Java堆

在虛擬機(jī)啟動(dòng)的時(shí)候建立,它是Java程序最主要的內(nèi)存工作區(qū)域。幾乎所有的Java對(duì)象實(shí)例都放Java堆中。堆空間是所有線程共享的,這是一塊與Java應(yīng)用密切相關(guān)的內(nèi)存區(qū)間。

3)、Java的NIO庫(kù)(直接內(nèi)存)

允許Java程序使用直接內(nèi)存。直接內(nèi)存是在Java堆外的、直接向系統(tǒng)申請(qǐng)的內(nèi)存區(qū)間。通常訪問(wèn)直接內(nèi)存的速度會(huì)優(yōu)于Java堆。因此出于性能考慮,讀寫(xiě)頻繁的場(chǎng)合可能會(huì)考慮使用直接內(nèi)存。由于直接內(nèi)存
在Java堆外,因此它的大小不會(huì)受限于Xmx指定的最大堆大小。但是系統(tǒng)內(nèi)存是有限的,Java堆和直接內(nèi)存的總和依然受限于操作系統(tǒng)能給出的最大內(nèi)存。

4)、垃圾回收系統(tǒng)
垃圾回收系統(tǒng)是Java虛擬機(jī)的重要組成部分,垃圾回收器可以對(duì)方法區(qū)、Java堆和直接內(nèi)存進(jìn)行回
收。

5)、Java棧

每一個(gè)Java虛擬機(jī)線程都有一個(gè)私有的Java棧。一個(gè)線程的Java棧在線程創(chuàng)建的時(shí)候被創(chuàng)建。Java保存著幀信息,Java棧中保存著局部變量、方法參數(shù),同時(shí)和Java方法的調(diào)用、返回密切相關(guān)。

4.虛擬機(jī)堆內(nèi)存結(jié)構(gòu)

JVM中堆空間可以分成三個(gè)大區(qū),年輕代、老年代、永久代(方法區(qū))。

新生代:新生區(qū)

類在這里產(chǎn)生和應(yīng)用,最后被垃圾回收。所有的類在伊甸區(qū)被new出來(lái),當(dāng)伊甸區(qū)滿了,GC會(huì)對(duì)該區(qū)不用的對(duì)象銷毀,剩余有用的轉(zhuǎn)到幸存區(qū)。

老年代:老年區(qū)用于存放生成周期比較長(zhǎng)的對(duì)象。

3/14

永久代:永久區(qū)存放JDK自帶的class,interface。

本文標(biāo)題:tomcat和java虛擬機(jī)是什么
路徑分享:http://muchs.cn/article34/pdgjse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、外貿(mào)建站、關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化