国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java】常見面試題:HTTP/HTTPS、Servlet、Cookie、Linux和JVM

這篇具有很好參考價值的文章主要介紹了【Java】常見面試題:HTTP/HTTPS、Servlet、Cookie、Linux和JVM。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


努力經(jīng)營當(dāng)下 直至未來明朗!

1. 抓包工具(了解)

  1. “抓包工具”:是個特殊的軟件,相當(dāng)于一個“代理程序”,瀏覽器給服務(wù)器的請求就會經(jīng)過這個代理程序(響應(yīng)也是經(jīng)過該代理程序的),進(jìn)一步的就能分析出請求和響應(yīng)的結(jié)果如何。
  2. fiddler可以抓取http請求,也可以開啟抓取https請求。
  3. HTTP (全稱為 “超文本傳輸協(xié)議”) 是一種應(yīng)用非常廣泛的 應(yīng)用層協(xié)議。
  4. 在瀏覽器中寫一個URL也不一定要寫端口號,如果不寫就相當(dāng)于默認(rèn)訪問http80端口,https是443端口。

2. 【經(jīng)典面試題】GET和POST的區(qū)別:

1)先蓋棺定論:GET和POST沒有本質(zhì)區(qū)別(即:GET和POST使用的場景基本可以相互代替)
2)細(xì)節(jié)上談區(qū)別:
語義上:GET的語義是“從服務(wù)器獲取數(shù)據(jù)”,POST的語義的“往服務(wù)器提交數(shù)據(jù)”
使用習(xí)慣上:給服務(wù)器傳遞的數(shù)據(jù),GET通常是放在url的query string中的,POST通常是放在body中的。
③ **GET請求建議實現(xiàn)成“冪等”**的,POST一般不要求實現(xiàn)“冪等”。

(冪等:簡單來說大概就是輸入是確定的,輸出結(jié)果也就是確定的,即輸入一樣時輸出也是一致的)

【設(shè)計服務(wù)器的時候,就需要提供一些“接口/API”:API傳入的參數(shù)就視為輸入,API返回的結(jié)果就視為輸出。
基于GET的API一般會建議設(shè)計成冪等的,基于POST的API則無要求(建議不要求一定要遵守)】

④ 在冪等的基礎(chǔ)上,GET的請求結(jié)果是可以緩存的(瀏覽器默認(rèn)行為);POST則一般不會緩存。

如果當(dāng)前GET確實是冪等的,就不必處理,直接讓瀏覽器緩存沒問題;
但是如果當(dāng)前的GET不是冪等的,就需要通過特殊技巧避免瀏覽器產(chǎn)生緩存(典型的技巧就是讓每次GET請求的URL都不相同,通過特殊的query string來保證url不同)

3. URL中不是也有這個服務(wù)器主機(jī)的IP和端口嗎,為啥還要搞個Host?

① 事實上,URL中的IP和端口 與 Host中的IP和端口不一定完全一樣(當(dāng)請求是經(jīng)過代理來訪問的時候可能不一樣的,當(dāng)然這一點在fiddler上沒有體現(xiàn)出來)。
請求中的URL地址是經(jīng)過的代理地址,而Host的地址是目標(biāo)服務(wù)器的地址。

4. 補充

  1. HTTP協(xié)議在傳輸層是基于TCP的(至少在HTTP3.0之前是這樣的,3.0就變成UDP了)
  2. UA主要包含的信息就是操作系統(tǒng)信息和瀏覽器信息,描述了用戶在使用啥樣的設(shè)備上網(wǎng)。
  3. Referer指的是當(dāng)前頁面是從哪個頁面跳轉(zhuǎn)過來的,也就是上級頁面是啥。
  4. cookie:是瀏覽器在本地存儲數(shù)據(jù)(存到硬盤上)的一種機(jī)制。
  5. Cookie是存在瀏覽器中的,但是來源是服務(wù)器,還要再回到服務(wù)器。

①當(dāng)我們的瀏覽器訪問了服務(wù)器之后,在服務(wù)器返回的響應(yīng)報文中,可以在響應(yīng)header中包含一個/多個Set-Cookie這樣的資源,瀏覽器看到Set-Cookie就會把這些數(shù)據(jù)保存在瀏覽器本地(Set-Cookie是程序員在服務(wù)器代碼中構(gòu)造出來的)
②當(dāng)瀏覽器保存了Cookie之后,下次瀏覽器訪問同一個網(wǎng)站時,就會把之前本地存儲的Cookie再通過http請求header中的Cookie給帶過去。
③ 為啥要轉(zhuǎn)一圈呢?因為服務(wù)器要服務(wù)的客戶端是很多的,這些不同的客戶端應(yīng)該要有不同的數(shù)據(jù)。
(Cookie會占硬盤,但是空間不大,而且會有到期時間)

  1. 服務(wù)器生成一對非對稱的密鑰,客戶端可以先從服務(wù)器拿到服務(wù)器的公鑰,然后使用公鑰對自己生成的對稱密鑰進(jìn)行加密,此時由于外界只有公鑰,私鑰只是服務(wù)器自己所有的(黑客拿不到),所以只有服務(wù)器可以使用私鑰對上述的請求進(jìn)行解密。
  2. Tomcat是http服務(wù)器,本質(zhì)上是一個TCP服務(wù)器,只不過是在基礎(chǔ)上加上了一些按照http協(xié)議格式進(jìn)行解析/構(gòu)造 這樣子的代碼。
  3. web程序一旦出現(xiàn)問題,起手式就是“抓包”,通過抓包確定是前端問題還是后端問題。

5. HTTP響應(yīng)狀態(tài)碼

  1. 404 Not Found
    這是后端開發(fā)過程中常見的錯誤。
    問題的原因有且只有一個,就是請求路徑寫錯了。
    請求里是有一個url的,url就表示你要訪問的服務(wù)器上的資源的路徑。如果你想要訪問的資源在服務(wù)器上沒有就會返回404。
  2. 403 Forbidden
    訪問被拒絕(就是沒有權(quán)限訪問)
  3. 500 Internal Server Error
    服務(wù)器內(nèi)部錯誤,也就是服務(wù)器代碼執(zhí)行過程中出異常,即代碼bug。
  4. 504 Gateway Timeout
    訪問超時,一般就是服務(wù)器請求量很大的時候,對于服務(wù)器的負(fù)荷就比較重了。
  5. 302 重定向
    即:訪問一個舊的URL就會自動跳轉(zhuǎn)到新的URL上。
  6. 4xx:一般是客戶端問題; 5xx:一般是服務(wù)器端。
    【Java】常見面試題:HTTP/HTTPS、Servlet、Cookie、Linux和JVM,面試復(fù)盤,http,java,https,jvm,cookie

6. 總結(jié)HTTPS工作過程(經(jīng)典面試題)

(https/http是一個應(yīng)用層協(xié)議)
(CA是證書頒發(fā)機(jī)構(gòu))
可以參考:HTTPS工作過程
【Java】常見面試題:HTTP/HTTPS、Servlet、Cookie、Linux和JVM,面試復(fù)盤,http,java,https,jvm,cookie

7. HttpServlet的核心方法

【Java】常見面試題:HTTP/HTTPS、Servlet、Cookie、Linux和JVM,面試復(fù)盤,http,java,https,jvm,cookie
1)init:創(chuàng)建出HttpServlet實例會調(diào)用一次,其作用其實就是用來初始化。一般就是首次訪問的時候會被實例化。
2)destroy:不一定能夠調(diào)用到。因為HttpServlet不再調(diào)用其實就是在tomcat關(guān)閉時,關(guān)閉tomcat有兩種方法:

① 直接殺進(jìn)程:如點擊idea中的紅色方框、cmd直接點擊x、通過任務(wù)管理器結(jié)束進(jìn)程等,此時destroy無法被調(diào)用。
② 8005端口是用來控制tomcat的,通過該端口給tomcat發(fā)送一個關(guān)閉操作,此時tomcat就可以正常關(guān)閉,也就能夠調(diào)用destroy了。
(工作中最常用的其實就是直接殺進(jìn)程方式關(guān)閉,所以不太會調(diào)用到destroy方法)

3) service:tomcat收到請求之后實際上是先調(diào)用service方法,在service中根據(jù)方法來調(diào)用不同的doXXX方法。(實際開發(fā)中其實很少會重寫service,重寫doXXX方法就夠了)

8. 【面試題】談?wù)凷ervlet的生命周期?

  1. 生命周期:其實就是正確的時間干正確的事兒。
  2. 也就是回答:Servlet中有三個主要的方法:init、destroy、service,以及何時被調(diào)用:init在servlet被實例化的時候調(diào)用一次,destroy是在servlet銷毀之前調(diào)用一次,service是每次收到請求調(diào)用(兩次)。

9. Cookie

  1. Cookie是瀏覽器在本地持久化保存數(shù)據(jù)的一種方案。

  2. cookie是在瀏覽器這兒工作,session是在服務(wù)器那兒工作
    【Java】常見面試題:HTTP/HTTPS、Servlet、Cookie、Linux和JVM,面試復(fù)盤,http,java,https,jvm,cookie

  3. Cookie 和 Session 的區(qū)別:
    ① Cookie 是客戶端的機(jī)制,Session 是服務(wù)器端的機(jī)制.。
    ② Cookie 和 Session 經(jīng)常會在一起配合使用,但是不是必須配合。

  • 完全可以用 Cookie 來保存一些數(shù)據(jù)在客戶端,這些數(shù)據(jù)不一定是用戶身份信息,也不一定是token / sessionId
  • Session 中的 token / sessionId 也不需要非得通過 Cookie / Set-Cookie 傳遞.

10. Linux中常用指令

  1. ls:即list,列出當(dāng)前目錄下都有啥

① ls 直接敲可以查看當(dāng)前目錄中的內(nèi)容
② ls后面跟上具體的路徑可以查看指定目錄的內(nèi)容
③ ls -l 可以以列表形式查看,可以縮寫為ll

  1. pwd 查看當(dāng)前路徑對應(yīng)的絕對路徑

  2. cd 切換當(dāng)前的工作目錄

補充:
1) ctrl+l 就可以實現(xiàn)清屏
2)tab鍵補全:輸入一個命令 or 輸入一個目錄,不必敲完整,只需要敲前幾個部分,然后按tab鍵就可以觸發(fā)補全。如果匹配結(jié)果只有一個就會立即補全,如果匹配結(jié)果有多個,按兩下tab就會把可能的結(jié)果都列出來。
3)ctrl+c 重新輸入: 如果命令或者目錄敲錯了, 可以 ctrl + c 取消當(dāng)前的命令。

  1. touch:創(chuàng)建一個空文件
    如果是touch一個已經(jīng)存在的文件,對文件的內(nèi)容不會有任何的影響。(即:不會清空文件的內(nèi)容)

  2. cat: 顯示文件內(nèi)容到控制臺上

  3. echo: 借助echo可以把想要的內(nèi)容寫到文件中
    1)echo本來是一個回顯/打印 操作
    2)可以借助 > 這個重定向操作把顯示到控制臺的內(nèi)容寫到文件中

  1. echo 相當(dāng)于把文件清空后重新寫入
  1. mkdir:創(chuàng)建目錄
    1)可以同時創(chuàng)建多個目錄,使用空格進(jìn)行分割
    2)如果目錄創(chuàng)建層次比較多,tree 命令就可以樹形的展示當(dāng)前目錄結(jié)構(gòu)(tree 后面加路徑,如 tree . 就是針對當(dāng)前目錄展示樹形結(jié)構(gòu))

  2. rm:刪除文件 or 目錄
    1)刪除文件:rm [文件名] -f // -f:不提示強(qiáng)制刪除
    2)刪除目錄: 需要指定-r選項(r 表示遞歸) rm -r [目錄名]
    3)可以通過history命令查看命令的歷史記錄
    4)rm -rf / 這個操作是非常危險的,遞歸且不提示的進(jìn)行刪除

  3. mv:move移動
    mv [想要移動的文件] [目標(biāo)文件/新的名字]
    1)mv 還可以只改名不移動
    2)mv可以移動整個目錄

  4. cp:copy復(fù)制
    1)cp如果操作目錄,此時就需要加上-r遞歸
    cp [源目錄] [目的目錄] -r
    2)cp 目的那兒文件名更改不更改都OK

  5. vim文本編輯器
    在vim中按ctrl+z并不是退出??!按 ctr+z 其實vim并沒有退出,只是放到后臺了而已,隨時按fg就能切換回來!!

  6. grep 文本查詢
    1)grep [字符串] [文件],字符串那兒可以不加引號
    2)或者: | grep [字符串]

  7. ps 顯示進(jìn)程
    ps 其實就相當(dāng)于任務(wù)管理器
    ① 直接輸入ps,顯示的只是和當(dāng)前終端相關(guān)的進(jìn)程
    ② 需要使用 ps aux 就可以看到更完整的進(jìn)程列表了,可以查看某個服務(wù)器的進(jìn)程是否存在
    ③ 如果只想查看某些進(jìn)程,也就是進(jìn)行篩選操作: ps aux | grep xx

  8. netstat: 查看網(wǎng)絡(luò)狀態(tài)
    尤其是可以用來查看某個進(jìn)程綁定的端口如何,或者是查看某個端口是否被某個進(jìn)程綁定.
    netstat -anp :查看網(wǎng)絡(luò)連接狀態(tài)
    ② 只想關(guān)注某個具體程序 or 端口 :就進(jìn)行篩選,如netstat -anp | grep tcp

  9. 用戶操作
    1)創(chuàng)建用戶:useradd [用戶名]
    2)配置密碼:passwd [用戶名]
    3)切換用戶:su [用戶名]
    4)切換到超級用戶:sudo su -

  10. 修改文件權(quán)限
    chmod [參數(shù)] 權(quán)限 文件名

11. JVM內(nèi)存劃分

  1. JVM也就是運行起來的java進(jìn)程
  2. 區(qū)域劃分:(java1.7之前)
    ① 堆:放的new的對象
    ② 方法區(qū):放的是類對象(加載好的類)
    ③ 棧:放的是方法之間的調(diào)用關(guān)系
    ④ 程序計數(shù)器:放的是下一個要執(zhí)行的指令的地址
  3. 區(qū)域劃分實例
    ① 代碼中的局部變量:棧
    ② 代碼中的成員變量:堆
    ③ 代碼中的靜態(tài)變量:方法區(qū)
  4. 一個JVM進(jìn)程中:堆和方法區(qū)只有一份,棧和程序計數(shù)器每個線程都有自己的一份。
  5. 區(qū)域劃分(java1.8之后):
    ① 堆:放的new的對象
    ② 棧:放的是方法之間的調(diào)用關(guān)系
    ③ 程序計數(shù)器:放的是下一個要執(zhí)行的指令的地址
    ④ 元數(shù)據(jù)區(qū):用的是本地內(nèi)存(JVM內(nèi)部C++代碼中搞的內(nèi)存)

12. JVM類加載

  1. 類加載是干啥的?
    ① Java程序在運行之前需要先進(jìn)行編譯,也就是.java 文件編譯為 .class文件(.class文件是二進(jìn)制字節(jié)碼文件);
    ② 運行的時候,java進(jìn)程(JVM)就會讀取對應(yīng)的.class文件并且解析內(nèi)容,在內(nèi)存中構(gòu)造出類對象并進(jìn)行初始化。
    類加載其實就是把類從文件加載到內(nèi)存中。

  2. 類加載的大體過程(談?wù)?類加載 大概有哪幾個環(huán)節(jié),都是干啥的
    加載、連接(驗證、準(zhǔn)備、解析)、初始化
    1)加載:
    找到.class文件,讀取文件的內(nèi)容,并且按照.class規(guī)范的格式來解析
    2)驗證:
    檢查當(dāng)前的.class里的內(nèi)容格式是否符合要求
    3)準(zhǔn)備:給類里的靜態(tài)變量分配內(nèi)存空間。
    如:static int a = 123; 準(zhǔn)備階段就是給a分配內(nèi)存空間(int類型是4個字節(jié)),同時這些空間的初始情況全是0!
    4)解析:初始化字符串常量,把符號引用(類似于占位符)替換成直接引用(類似于內(nèi)存地址)。

① .class文件中會包含字符串常量(代碼里很多地方也會使用到字符串常量)。
② 比如代碼里有一行 String s = “hello”; 在類加載之前,“hello”這個字符串常量是沒有分配內(nèi)存空間的(得類加載完成之后才有內(nèi)存空間);沒有內(nèi)存空間,s里也就無法保存字符串常量的真實地址,只能先使用一個占位符標(biāo)記一下(這塊是“hello”這個常量的地址),等真正給“hello”分配內(nèi)存之后就可以使用這個真正的地址替代之前的占位符了。

5)初始化:針對類進(jìn)行初始化,初始化靜態(tài)成員,執(zhí)行靜態(tài)代碼塊,并且加載父類

  1. 重點考察部分:雙親委派模型
    1)雙親委派模型 只是決定了按照啥樣的規(guī)則來在哪些目錄里去找.class文件
    2)類加載器:
    1)JVM加載類是由類加載器(class loader)這樣的模塊來負(fù)責(zé)的。
    2)JVM自帶的類加載器主要有三個:
    ① Bootstrap ClassLoader:負(fù)責(zé)加載標(biāo)準(zhǔn)庫中的類
    ② Extension ClassLoader:負(fù)責(zé)加載JVM擴(kuò)展的庫的類(語言規(guī)范里沒有寫,但是JVM給實現(xiàn)出來了)
    ③ Application ClassLoader:負(fù)責(zé)加載咱們自己的項目里的自定義的類

各自負(fù)責(zé)一個各自的片區(qū)(負(fù)責(zé)各自的一組目錄),但是互相配合。

3)描述上述類加載器相互配合的工作過程就是雙親委派模型。
① 以上三種類加載器是存在父子關(guān)系的:
【Java】常見面試題:HTTP/HTTPS、Servlet、Cookie、Linux和JVM,面試復(fù)盤,http,java,https,jvm,cookie

② 進(jìn)行類加載的時候,輸入的內(nèi)容是 全限定類名,形如java.lang.Thread(也就是帶有包名的類)
③ 加載的時候是從Application ClassLoader開始
④ 某個類加載器開始加載的時候并不會立即掃描自己負(fù)責(zé)的路徑,而是先把任務(wù)委派給 父 “類加載器” 來進(jìn)行處理
⑤ 找到最上面的Bootstrap ClassLoader再往上就沒有 父 類加載器了,此時就只能自己動手加載了,也就是開始掃描自己負(fù)責(zé)的路徑
⑥ 如果父親沒有找到類,就交給自己的兒子繼續(xù)加載
⑦ 如果一直找到最下面的Application ClassLoader也沒有找到類,就會拋出一個“類沒找到”異常,類加載就失敗了。

按照這個順序加載,最大的好處就在于如果程序員寫的類,正好全限定類名和標(biāo)準(zhǔn)庫中的類沖突了【比如自己寫的類也叫做java.lang.Thread]】此時仍然可以保證類加載到標(biāo)準(zhǔn)庫的類,防止代碼加載錯了帶來問題。

13. JVM垃圾回收機(jī)制GC

  1. GC:程序員只需要申請內(nèi)存,釋放內(nèi)存的工作就交給JVM來完成。JVM會自動判定當(dāng)前的內(nèi)存是啥時候需要釋放的,認(rèn)為內(nèi)存不再使用了就會進(jìn)行自動釋放。
  2. 用GC最大的問題就在于引入額外的開銷:時間(程序跑的慢)[GC中最大的問題就是STW問題[Stop The World],反應(yīng)在用戶這里就是明顯卡頓] + 空間[消耗額外的CPU/內(nèi)存資源]
    (補:衡量GC好壞的重要指標(biāo)之一就是STW問題)
  3. GC主要就是針對堆來回收的。
  4. 一定要保證:徹底不使用的內(nèi)存才能回收!寧可放過,不能錯殺!
    GC中回收內(nèi)存不是以“字節(jié)”為單位,而是以“對象”為單位。
    【Java】常見面試題:HTTP/HTTPS、Servlet、Cookie、Linux和JVM,面試復(fù)盤,http,java,https,jvm,cookie

14. 怎么找垃圾(判定某個對象是否是垃圾)

  1. 在Java中,對象的使用需要 憑借引用。假如有一個對象,已經(jīng)沒有任何引用能夠指向它了,這個對象自然就無法使用了。
  2. 判斷某個對象是否為垃圾最關(guān)鍵的要點:通過引用來判定當(dāng)前對象是否還能被使用,沒有引用指向就視為是無法被使用了。
  3. 兩種典型的判定對象是否存在引用的方法:
    1)引用計數(shù):[不是JVM采取的方法] (Python、PHP用這個)
    ① 給每個對象都加上一個計數(shù)器,這個計數(shù)器就表示“當(dāng)前的對象有幾個引用”。
    ② 每次多一個引用指向該對象,該對象的計數(shù)器就+1;
    每次少一個引用指向該對象,該對象的計數(shù)器就-1。
    ③ 當(dāng)引用計數(shù)器數(shù)值為0的時候,就說明當(dāng)前這個對象已經(jīng)無人能夠使用了,此時就可以進(jìn)行釋放了。
    ④ 引用計數(shù)器的優(yōu)點:簡單,容易實現(xiàn),執(zhí)行效率也比較高。
    ⑤ 引用計數(shù)器的缺點:
    -空間利用率比較低,尤其是小對象。比如計數(shù)器是個int,而你的對象本身里面只有一個int成員。
    -可能會出現(xiàn)循環(huán)引用的情況。
    2)可達(dá)性分析:[是JVM采取的方法]Java回收機(jī)制
    約定一些特定的變量,稱為“GC roots”。每隔一段時間就從GC roots 出發(fā)進(jìn)行遍歷,看看當(dāng)前哪些變量是能夠被訪問到的,能被訪問到的變量就稱為“可達(dá)”,否則就是“不可達(dá)”。

GC roots:
上的all變量
常量池引用的對象
③ 方法區(qū)中引用類型的靜態(tài)變量

15. 回收垃圾的策略

① 標(biāo)記清除
② 復(fù)制算法
③ 標(biāo)記整理
④ 分代回收

  1. 標(biāo)記清除
    1)標(biāo)記出垃圾之后,直接把對象對應(yīng)的內(nèi)存空間進(jìn)行釋放。
    2)這種方式最大的問題:內(nèi)存碎片!
    也就是說:會導(dǎo)致整個內(nèi)存“支離破碎”,如果想要申請一塊連續(xù)的內(nèi)存空間就申請不了,導(dǎo)致內(nèi)存空間的浪費。
    (申請的時候都是連續(xù)的內(nèi)存空間)
    【Java】常見面試題:HTTP/HTTPS、Servlet、Cookie、Linux和JVM,面試復(fù)盤,http,java,https,jvm,cookie

  2. 復(fù)制算法
    1)復(fù)制算法是針對“內(nèi)存碎片”來提出的
    2)復(fù)制算法不是原地釋放,而是將“非垃圾”(可以繼續(xù)使用的對象)拷貝到另一側(cè);然后將該側(cè)的空間完全釋放。
    3)復(fù)制算法的缺點:
    ① 空間利用率更低了(用一半丟一半)
    ② 如果一輪GC下來,大部分對象要保留,只有少數(shù)對象要回收,此時復(fù)制開銷就很大了
    【Java】常見面試題:HTTP/HTTPS、Servlet、Cookie、Linux和JVM,面試復(fù)盤,http,java,https,jvm,cookie

  3. 標(biāo)記整理
    1)類似于順序表刪除元素(搬運操作)。
    即:將不是垃圾的對象往前搬運,可以直接占據(jù)垃圾的位置,最后就會形成一段連續(xù)使用的空間。
    2)標(biāo)記整理的方式相對于賦值算法來說:空間利用率提高了,也解決了空間碎片問題,但是搬運操作是比較耗時的!
    【Java】常見面試題:HTTP/HTTPS、Servlet、Cookie、Linux和JVM,面試復(fù)盤,http,java,https,jvm,cookie

  4. 分代回收
    1)分代回收是根據(jù)對象的不同特點來進(jìn)行回收的,特點是根據(jù)對象的年齡,即對象被GC掃描的輪次來計算的。
    2)新生代中生存區(qū)之間是通過復(fù)制算法來實現(xiàn)的,老年代中的GC是通過標(biāo)記整理來實現(xiàn)的。
    【Java】常見面試題:HTTP/HTTPS、Servlet、Cookie、Linux和JVM,面試復(fù)盤,http,java,https,jvm,cookie文章來源地址http://www.zghlxwxcb.cn/news/detail-657932.html

到了這里,關(guān)于【Java】常見面試題:HTTP/HTTPS、Servlet、Cookie、Linux和JVM的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 常見面試題之JVM實踐(調(diào)優(yōu))

    常見面試題之JVM實踐(調(diào)優(yōu))

    1.1 tomcat 的設(shè)置 vm 參數(shù) 修改 TOMCAT_HOME/bin/catalina.sh 文件,如下圖: JAVA_OPTS=\\\"-Xms512m -Xmx1024m\\\" 1.2 springboot 項目 jar 文件啟動 通常在 linux 系統(tǒng)下直接加參數(shù)啟動 springboot 項目。 nohup : 用于在系統(tǒng)后臺不掛斷地運行命令,退出終端不會影響程序的運行。 參數(shù) :讓命令在后臺執(zhí)行,

    2024年02月15日
    瀏覽(18)
  • Java Web 項目入門指南(http、Servlet、Request、Response、ServletContext、會話技術(shù)[cookie、session]、Filter、Listener)

    Java Web 項目入門指南(http、Servlet、Request、Response、ServletContext、會話技術(shù)[cookie、session]、Filter、Listener)

    web 服務(wù)器 :可以被瀏覽器訪問到的服務(wù)器 常見的 web 服務(wù)器: tomcat:中小型的服務(wù)器軟件,免費開源,支持 JSP 和 Servlet apache 公司的產(chǎn)品 WebLogic:Oracle 公司的產(chǎn)品,是目前應(yīng)用最廣泛的 Web 服務(wù)器,支持 J2EE 規(guī)范。WebLogic 是用于開發(fā)、集成、部署和管理大型分布式 Web 應(yīng)用

    2024年02月02日
    瀏覽(72)
  • 前端常見面試題之a(chǎn)jax、http

    xhr.readyState 有以下狀態(tài)值,分別代表的意思如下: 狀態(tài)值 意思 0 未初始化,尚未調(diào)用open方法 1 啟動,已經(jīng)調(diào)用open方法 2 發(fā)送,已經(jīng)調(diào)用send方法 3 接收,正在接收響應(yīng)數(shù)據(jù) 4 完成,已經(jīng)接收到全部響應(yīng)數(shù)據(jù) 請注意,在這個表格中,狀態(tài)值是從0開始的,0代表xhr對象已經(jīng)被創(chuàng)

    2024年01月17日
    瀏覽(14)
  • HTTP 常見面試題(計算機(jī)網(wǎng)絡(luò))

    HTTP 常見面試題(計算機(jī)網(wǎng)絡(luò))

    ?一、HTTP 是什么? HTTP(HyperText Transfer?Protocol) :超文本傳輸協(xié)議。 HTTP 是一個在計算機(jī)世界里專門在「兩點」之間「傳輸」文字、圖片、音頻、視頻等「超文本」數(shù)據(jù)的「約定和規(guī)范」。 「HTTP 是用于從互聯(lián)網(wǎng)服務(wù)器傳輸超文本到本地瀏覽器的協(xié)議」,這種說法正確嗎? 不

    2024年04月12日
    瀏覽(26)
  • 程序員面試系列,golang常見面試題

    原文鏈接 make(chan int, 1) 和 make(chan int) 之間有區(qū)別。 make(chan int, 1) 創(chuàng)建了一個有緩沖的通道,容量為1。這意味著通道可以緩存一個整數(shù)元素,即使沒有接收方,發(fā)送操作也不會被阻塞,直到通道已滿。如果沒有接收方,發(fā)送操作會立即完成。如果通道已滿,發(fā)送操作會被阻塞

    2024年02月16日
    瀏覽(24)
  • 程序員面試系列,kafka常見面試題

    原文鏈接 Kafka是什么?它的主要作用是什么? 什么是Kafka的主題(Topic)和分區(qū)(Partition)? Kafka中的消息是如何被生產(chǎn)者發(fā)送和消費者接收的? Kafka中的分區(qū)有什么作用?為什么分區(qū)是Kafka的基本并行單位? 什么是Kafka生產(chǎn)者和消費者?如何創(chuàng)建和配置它們? Kafka中的消息保

    2024年02月15日
    瀏覽(14)
  • 程序員面試系列,docker常見面試題

    原文鏈接 什么是Docker?它的主要作用是什么? Docker和虛擬機(jī)之間有什么區(qū)別? Docker的主要組件有哪些? Docker鏡像和容器的區(qū)別是什么? 如何構(gòu)建Docker鏡像?請簡要描述構(gòu)建過程。 如何創(chuàng)建和啟動一個Docker容器? 如何在Docker容器內(nèi)運行后臺任務(wù)? Docker的網(wǎng)絡(luò)模式有哪些?

    2024年02月15日
    瀏覽(11)
  • 程序員面試系列,k8s常見面試題

    原文鏈接 Kubernetes(通常簡稱為K8s)是一個開源的容器編排平臺,用于自動化部署、擴(kuò)展和管理容器化應(yīng)用程序。它最初由谷歌開發(fā),并于2014年捐贈給了云原生計算基金會(CNCF)。Kubernetes 提供了一個強(qiáng)大的容器化應(yīng)用程序管理系統(tǒng),使開發(fā)人員和運維團(tuán)隊能夠更輕松地構(gòu)建

    2024年02月06日
    瀏覽(26)
  • Java并發(fā)常見面試題

    Java并發(fā)常見面試題

    何為進(jìn)程? 進(jìn)程是程序的一次執(zhí)行過程,是系統(tǒng)運行程序的基本單位,因此進(jìn)程是動態(tài)的。系統(tǒng)運行程序,是一個進(jìn)程從創(chuàng)建、運行到消亡的過程。 在Java中,當(dāng)我們啟動main函數(shù)時其實就是啟動了一個JVM的進(jìn)程,而main函數(shù)所在的線程就是這個進(jìn)程中的一個線程,也稱主線程

    2024年02月05日
    瀏覽(16)
  • 【Java】常見面試題:多線程

    【Java】常見面試題:多線程

    努力經(jīng)營當(dāng)下 直至未來明朗 答:① 進(jìn)程包含線程; ② 線程比進(jìn)程更輕量,創(chuàng)建更快、銷毀也更快; ③ 同一個進(jìn)程的多個線程之間共用一份內(nèi)存和文件資源,而進(jìn)程和進(jìn)程之間則是獨立的文件和內(nèi)存資源;線程共用資源就省去了線程分配資源的過程 ④ 進(jìn)程是資源分配的基

    2024年03月21日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包