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