1)服務(wù)器:安裝了服務(wù)器軟件的計(jì)算機(jī)
2)服務(wù)器軟件:接收用戶的請(qǐng)求,處理請(qǐng)求,做出響應(yīng)
3)web服務(wù)器軟件:在web服務(wù)器軟件中,可以部署web項(xiàng)目,讓用戶通過(guò)瀏覽器來(lái)訪問(wèn)這些項(xiàng)目
1) webLogic:oracle公司,大型的JavaEE服務(wù)器,支持所有的JavaEE規(guī)范,收費(fèi)的。
2) webSphere:IBM公司,大型的JavaEE服務(wù)器,支持所有的JavaEE規(guī)范,收費(fèi)的。
3) JBOSS:JBOSS公司的,大型的JavaEE服務(wù)器,支持所有的JavaEE規(guī)范,收費(fèi)的。
4) Tomcat:Apache基金組織,中小型的JavaEE服務(wù)器,僅僅支持少量的JavaEE規(guī)范servlet/jsp。開源的,免費(fèi)的。
HTTP是協(xié)議規(guī)范HTML是超文本標(biāo)記語(yǔ)言用來(lái)規(guī)范顯示格式。
Tomcat 的2 個(gè)核心功能:
1) 處理Socket 連接,負(fù)責(zé)網(wǎng)絡(luò)字節(jié)流與Request 和Response 對(duì)象的轉(zhuǎn)化。
加載和管理Servlet,以及具體處理Request 請(qǐng)求。
2) Tomcat設(shè)計(jì)了兩個(gè)核心組件連接器(Connector)和容器(Container)來(lái)分別做這兩件事情。連接器負(fù)責(zé)對(duì)外交流,容器負(fù)責(zé)內(nèi)部處理。
我們可以把連接器的功能需求進(jìn)一步細(xì)化,比如:
監(jiān)聽網(wǎng)絡(luò)端口。
接受網(wǎng)絡(luò)連接請(qǐng)求。
讀取請(qǐng)求網(wǎng)絡(luò)字節(jié)流。
根據(jù)具體應(yīng)用層協(xié)議(HTTP/AJP)解析字節(jié)流,生成統(tǒng)一的Tomcat Request對(duì)象。
將Tomcat Request對(duì)象轉(zhuǎn)成標(biāo)準(zhǔn)的ServletRequest。
調(diào)用Servlet 容器,得到ServletResponse。
將ServletResponse轉(zhuǎn)成TomcatResponse 對(duì)象。
將TomcatResponse 轉(zhuǎn)成網(wǎng)絡(luò)字節(jié)流。
將響應(yīng)字節(jié)流寫回給瀏覽器
---->綜上得到三個(gè)高內(nèi)聚的功能
1.網(wǎng)絡(luò)通信。
2.應(yīng)用層協(xié)議解析。
3.Tomcat Request/Response與ServletRequest/ServletResponse的轉(zhuǎn)化
1)首先,根據(jù)協(xié)議和端口號(hào)選定Service 和Engine
2)然后,根據(jù)域名選定Host
3)之后,根據(jù)URL 路徑找到Context 組件
4)最后,根據(jù)URL 路徑找到Wrapper(Servlet)
清理你的tomcat
清理不必要的Web應(yīng)用
清理XML配置文件
清理JAR文件(web lib目錄不應(yīng)該出現(xiàn)servlet或者tomcat自身的jar包
清理其他文件(比如log日志,work目錄下的class)
禁止 Tomcat TLD 掃描
關(guān)閉 WebSocket 支持
關(guān)閉 JSP 支持
禁止 Servlet 注解掃描
并行啟動(dòng)多個(gè) Web 應(yīng)用
CMSvs G1,G1的兩大特點(diǎn):
(1)G1可以并發(fā)完成大部分GC的工作,這期間不會(huì)“Stop-The-World”。
(2)G1使用非連續(xù)空間,這使G1 能夠有效地處理非常大的堆。此外,G1可以同時(shí)收集年輕代和年老代。G1并沒(méi)有將Java堆分成三個(gè)空間(Eden、Survivor和Old),而是將堆分成許多(通常是幾百個(gè))非常小的區(qū)域。這些區(qū)域是固定大小的(默認(rèn)情況下大約為2MB)。每個(gè)區(qū)域都分配給一個(gè)空間。G1 收集器的Java 堆如下圖所示
問(wèn)題:
1.什么是內(nèi)存泄漏
2.什么是內(nèi)存溢出(java.lang.OutOfMemoryError:Java heap space)
1)內(nèi)存泄漏
2)配置問(wèn)題
3)過(guò)度使用finalize
gc問(wèn)題的分析與解決
1. 使用jstat命令觀察gc的過(guò)程
2. 通過(guò)GCViewer 工具查看GC 日志,用GCViewer 打開程序指定輸出的gc.log,會(huì)看到這樣的圖:
3. 為了找到內(nèi)存泄漏點(diǎn),我們通過(guò)jmap 工具生成Heap Dump:
jmap -dump:live,format=b,file=94223.bin94223
4. 用Eclipse MemoryAnalyzer 打開Dump文件,通過(guò)內(nèi)存泄漏分析,得到這樣一個(gè)分析報(bào)告:
從報(bào)告中可以看到,JVM內(nèi)存中有一個(gè)長(zhǎng)度為4000 萬(wàn)的List,至此我們也就找到了泄漏點(diǎn)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129960.html
摘要:相關(guān)推薦,豆瓣評(píng)分,人評(píng)價(jià)本書介紹了在編程中條極具實(shí)用價(jià)值的經(jīng)驗(yàn)規(guī)則,這些經(jīng)驗(yàn)規(guī)則涵蓋了大多數(shù)開發(fā)人員每天所面臨的問(wèn)題的解決方案。實(shí)戰(zhàn)高并發(fā)程序設(shè)計(jì)推薦豆瓣評(píng)分,書的質(zhì)量沒(méi)的說(shuō),推薦大家好好看一下。 該文已加入開源文檔:JavaGuide(一份涵蓋大部分Java程序員所需要掌握的核心知識(shí))。地址:https://github.com/Snailclimb... 【強(qiáng)烈推薦!非廣告!】...
摘要:所以,所謂的自動(dòng)裝配,實(shí)際上就是如何自動(dòng)將裝載到容器中來(lái)。實(shí)際上在版本中,模塊驅(qū)動(dòng)注解的出現(xiàn),已經(jīng)有了一定的自動(dòng)裝配的雛形,而真正能夠?qū)崿F(xiàn)這一機(jī)制,還是在版本中,條件注解的出現(xiàn)。,我們來(lái)看一下的自動(dòng)裝配是怎么一回事。在前面的分析中,Spring Framework一直在致力于解決一個(gè)問(wèn)題,就是如何讓bean的管理變得更簡(jiǎn)單,如何讓開發(fā)者盡可能的少關(guān)注一些基礎(chǔ)化的bean的配置,從而實(shí)現(xiàn)自動(dòng)裝...
摘要:實(shí)戰(zhàn)高并發(fā)程序設(shè)計(jì)推薦豆瓣評(píng)分書的質(zhì)量沒(méi)的說(shuō),推薦大家好好看一下。推薦,豆瓣評(píng)分,人評(píng)價(jià)本書介紹了在編程中條極具實(shí)用價(jià)值的經(jīng)驗(yàn)規(guī)則,這些經(jīng)驗(yàn)規(guī)則涵蓋了大多數(shù)開發(fā)人員每天所面臨的問(wèn)題的解決方案。 很早就想把JavaGuide的書單更新一下了,昨晚加今天早上花了幾個(gè)時(shí)間對(duì)之前的書單進(jìn)行了分類和補(bǔ)充完善。雖是終極版,但一定還有很多不錯(cuò)的 Java 書籍我沒(méi)有添加進(jìn)去,會(huì)繼續(xù)完善下去。希望這篇...
摘要:劃下重點(diǎn),服務(wù)容器是用于管理類的依賴和執(zhí)行依賴注入的工具。類的實(shí)例化及其依賴的注入,完全由服務(wù)容器自動(dòng)的去完成。 本文首發(fā)于 深入剖析 Laravel 服務(wù)容器,轉(zhuǎn)載請(qǐng)注明出處。喜歡的朋友不要吝嗇你們的贊同,謝謝。 之前在 深度挖掘 Laravel 生命周期 一文中,我們有去探究 Laravel 究竟是如何接收 HTTP 請(qǐng)求,又是如何生成響應(yīng)并最終呈現(xiàn)給用戶的工作原理。 本章將帶領(lǐng)大...
閱讀 1356·2023-01-11 13:20
閱讀 1707·2023-01-11 13:20
閱讀 1215·2023-01-11 13:20
閱讀 1906·2023-01-11 13:20
閱讀 4165·2023-01-11 13:20
閱讀 2757·2023-01-11 13:20
閱讀 1402·2023-01-11 13:20
閱讀 3671·2023-01-11 13:20