做题总结(一)
方法區在JVM中也是一個非常重要的區域,它與堆一樣,是被 線程共享 的區域。 在方法區中,存儲了每個類的信息(包括類的名稱、方法信息、字段信息)、靜態變量、常量以及編譯器編譯后的代碼等。
事務屬性的種類: 傳播行為、隔離級別、只讀和事務超時
傳播行為定義了被調用方法的事務邊界。
傳播行為 意義
PROPERGATION_MANDATORY
表示方法必須運行在一個事務中,如果當前事務不存在,就拋出異常
PROPAGATION_NESTED
表示如果當前事務存在,則方法應該運行在一個嵌套事務中。否則,它看起來和 PROPAGATION_REQUIRED 看起來沒什么倆樣
PROPAGATION_NEVER
表示方法不能運行在一個事務中,否則拋出異常
PROPAGATION_NOT_SUPPORTED
表示方法不能運行在一個事務中,如果當前存在一個事務,則該方法將被掛起
PROPAGATION_REQUIRED
表示當前方法必須運行在一個事務中,如果當前存在一個事務,那么該方法運行在這個事務中,否則,將創建一個新的事務
PROPAGATION_REQUIRES_NEW
表示當前方法必須運行在自己的事務中,如果當前存在一個事務,那么這個事務將在該方法運行期間被掛起
PROPAGATION_SUPPORTS
表示當前方法不需要運行在一個是事務中,但如果有一個事務已經存在,該方法也可以運行在這個事務中
調用一個CGI程序的時候,服務器端就要新啟用一個進程 ,而Servlet充分發揮了服務器端的資源并高效的利用。每次調用Servlet時并不是新啟用一個進程 。GI不可移植,為某一特定平臺編寫的CGI應用只能運行于這一環境中。每一個CGI應用存在于一個由客戶端請求激活的進程中,并且在請求被服務后被卸載。這種模式將引起很高的內存、CPU開銷,而且在同一進程中不能服務多個客戶。
doGet/doPost 則是在 javax.servlet.http.HttpServlet 中實現的
創建Servlet的實例是由Servlet容器來完成的,且創建Servlet實例是在初始化方法init()之前
Servlet的生命周期分為5個階段:加載、創建、初始化、處理客戶請求、卸載。
(1)加載:容器通過類加載器使用servlet類對應的文件加載servlet
(2)創建:通過調用servlet構造函數創建一個servlet對象
(3)初始化:調用init方法初始化
(4)處理客戶請求:每當有一個客戶請求,容器會創建一個線程來處理客戶請求
(5)卸載:調用destroy方法讓servlet自己釋放其占用的資源
Servlet是線程不安全的,在Servlet類中可能會定義共享的類變量,這樣在并發的多線程訪問的情況下,不同的線程對成員變量的修改會引發錯誤。
Java中的多線程是一種搶占式的機制,而不是分時機制。搶占式的機制是有多個線程處于可運行狀態,但是只有一個線程在運行
sleep是線程類(Thread)的方法,wait是Object類的方法;sleep不釋放對象鎖,wait放棄對象鎖;sleep暫停線程、但監控狀態仍然保持,結束后會自動恢復
JVM中一個字節以下的整型數據會在JVM啟動的時候加載進內存,除非用new Integer()顯式的創建對象,否則都是同一個對象
所有只有i04是一個新對象,其他都是同一個對象。所有A,B選項為true
C選項i03和i04是兩個不同的對象,返回false
D選項i02是基本數據類型,比較的時候比較的是數值,返回true
運行時異常的特點是Java編譯器不會檢查它,也就是說,當程序中可能出現這類異常,即使沒有用try-catch語句捕獲它,也沒有用throws子句聲明拋出它,也會編譯通過。
非運行時異常 (編譯異常): 是RuntimeException以外的異常,類型上都屬于Exception類及其子類。從程序語法角度講是必須進行處理的異常,如果不處理,程序就不能編譯通過。如IOException、SQLException等以及用戶自定義的Exception異常,一般情況下不自定義檢查異常。
靜態的include:是jsp的指令來實現的,<% @ include file=“xx.html”%> 特點是 共享request請求域,先包含再編譯,不檢查包含頁面的變化。
動態的include:是jsp動作來實現的,<jsp:include page=“xx.jsp” flush=“true”/> 這個是不共享request請求域,先編譯在包含,是要檢查包含頁面的變化的。
-Xmx:最大堆大小
-Xms:初始堆大小
-Xmn:年輕代大小
-XXSurvivorRatio:年輕代中Eden區與Survivor區的大小比值
年輕代5120m, Eden:Survivor=3,Survivor區大小=1024m(Survivor區有兩個,即將年輕代分為5份,每個Survivor區占一份),總大小為2048m。
-Xms初始堆大小即最小內存值為10240m
總結
- 上一篇: HTTP请求头中各字段解释
- 下一篇: SpringBoot开发接口