中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java常見面試題:java面試筆記

發布時間:2020-08-13 20:26:13 來源:ITPUB博客 閱讀:252 作者:千鋒Python唐小強 欄目:編程語言

1、基本數據類型有哪些?

基本數據類型包括byte、int、char、long、float、double、boolean和short。 java.lang.String類是final類型的,因此不可以繼承這個類、不能修改這個類。為了提高效率節省空間,我們應該用StringBuffer類。

2、get和post的區別

get是從服務器上獲取數據,post是向服務器傳遞數據;

get傳送的數據量小,不能大于2KB,post傳送的數據量較大;

get安全性低,傳遞的參數都顯示在地址欄,post高,但是執行效率上get好一些;

在進行文件上傳的時候,只能使用post而不能使用get

3、string stringbuffer stringbuilder 區別及選用

String字符串常量,Stringbuffer與Stringbuilder是字符串變量

String長度不可變,Stringbuffer與Stringbuilder長度可變。因為String類中使用final關鍵字字符數組保存字符串,private final char value[],所以String不可變

String使用字符串拼接的時候是兩個不同的空間,Stringbuffer與Stringbuilder則是直接在字符串后面追加,所以大數據量上不用string

StringBuffer線程安全,StringBuilder線程不安全,是因為StringBuffer對方法加了同步鎖

執行效率上StringBuilder>StringBuffer>String

總結:對于操作少量的數據用String,大量的數據,單線程用StringBuiler,多線程用StringBuffer

4、HashMap與Hashtable區別

HashMap非線程安全,HashTable線程安全,因為HashTable內部的方法都經過synchronized修飾

HashMap允許null的鍵/值,HashTable不允許

HashMap性能優于Hashtable

初始容量Hashtable默認11,每次擴充,容量變為原來的2n+1。HashMap默認16,每次擴充,容量變為原來的2倍

底層數據結構不同,jdk1.8之后,當鏈表長度大于閾值(默認為8)時,將鏈表轉換為紅黑樹,來減少搜索時間,Hashtable沒有這樣的機制,Hashtable基本被淘汰了,少用。

5、Spring MVC和Spring boot有啥區別

1、springMVC是Spring的一個模式,是一個Web框架,提供了一個輕度耦合的方式來開發Web應用;

2、SpringBoot是習慣優于配置,降低了項目搭建的難度(約定大于配置,可以簡化spring的配置流程);

3、springMVC需要適用到TomCat服務器,而springboot內置服務器容器,通過@SpringBootApplication中注解類中main函數啟動即可;

6、session和cookie的區別

Java常見面試題:java面試筆記

區別:

1、cookie數據存放在客戶端,session數據放在服務器上。

?2、cookie不是很安全,別人可以分析存放在本地的cookie并進行cookie欺騙,考慮到安全應當使用session。

?3、session會在一定時間內保存在服務器上,當訪問增多,會比較占用你服務器的性能,考慮性能應當使用cookie。

?4、不同瀏覽器對cookie的數據大小限制不同,個數限制也不相同。

?5、可以考慮將登陸信息等重要信息存放為session,不重要的信息可以放在cookie中。

聯系:

1、都是用來記錄用戶的信息,以便讓服務器分辨不同的用戶。?2、可以搭配使用,但都有自己的使用局限,要考慮到安全和性能的問題。

7、JDK、JRE、JVM的聯系與區別

Java常見面試題:java面試筆記

三者聯系:

JVM不能單獨搞定class的執行,解釋class的時候JVM需要調用解釋所需要的類庫lib。在JDK下面的的jre目錄里面有兩個文件夾bin和lib,在這里可以認為bin里的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib和起來就稱為jre。JVM+Lib=JRE。總體來說就是,我們利用JDK(調用JAVA API)開發了屬于我們自己的JAVA程序后,通過JDK中的編譯程序(javac)將我們的文本java文件編譯成JAVA字節碼,在JRE上運行這些JAVA字節碼,JVM解析這些字節碼,映射到CPU指令集或OS的系統調用。

三者區別:

1.JDK和JRE區別:在bin文件夾下會發現,JDK有javac.exe而JRE里面沒有,javac指令是用來將java文件編譯成class文件的,這是開發者需要的,而用戶(只需要運行的人)是不需要的。JDK還有jar.exe, javadoc.exe等等用于開發的可執行指令文件。這也證實了一個是開發環境,一個是運行環境。

2.JRE和JVM區別:JVM并不代表就可以執行class了,JVM執行.class還需要JRE下的lib類庫的支持,尤其是rt.jar。

8、&和&&區別

9、ArrayList和Vector的區別?

10、List 和 Map 區別?Set呢?

11、ArrayList,Vector, LinkedList的存儲性能和特性?

12、char類型的變量能不能存儲一個中文?為什么?

13、在HashMap中是如何比較“key”的值的

在HashMap比較兩個key值時,首先使用equals進行比較兩個key的值,如果不同則認為是兩個不同的key;如果相同,再比較兩個key的hashcode,如果不同,則認為是兩個不同的key;如果相同則認為是兩個相同的key,此時的value2會覆蓋value1的值

14、如果main方法被聲明為private會怎樣?

15、char類型的變量能不能存儲一個中文?為什么

答案是可以的,但是兩個中文不行。因為char占兩個字節,一個中文也占兩個字節,所以是可以存儲的。

16、九大內置對象是哪些?

request:用戶端請求,此請求會包含來自GET/POST請求的參數(表示HttpServletRequest對象。它包含了有關瀏覽器請求的信息,并且提供了幾個用于獲取cookie,header, 和session數據的有用的方法。)

response:網頁傳回用戶端的回應(表示HttpServletResponse對象,并提供了幾個用于設置送回

瀏覽器的響應的方法(如cookies,頭信息等))

page:JSP網頁本身(表示從該頁面產生的一個servlet實例)

pageContext:網頁的屬性是在這里管理(表示一個javax.servlet.jsp.PageContext對象。它是用于方便存取各種范圍的名字空間、servlet相關的對象的API,并且包裝了通用的servlet相關功能的方法。)

session:與請求有關的會話期(表示一個請求的javax.servlet.http.HttpSession對象。Session可以存貯用戶的狀態信息)

application:servlet正在執行的內容(表示一個javax.servle.ServletContext對象。這有助于查找有關servlet引擎和servlet環境的信息)

out:用來傳送回應的輸出(是javax.jsp.JspWriter的一個實例,并提供了幾個方法使你能用于向瀏覽器推送輸出結果。)

config:servlet的構架部件(表示一個javax.servlet.ServletConfig對象。該對象用于存取servlet實例的初始化參數。)

exception:針對錯誤網頁,未捕捉的例外

17、Servlet生命周期和執行流程?

Servlet的生命周期可以分為四個階段:裝載類及創建實例階段,初始化階段,服務階段,實例銷毀階段

1、初始化階段調用init()方法。

2、響應客戶請求階段。調用service()方法,由service()方法根據提交的方式選擇執行doGet()或者doPost()方法。

3、終止階段調用destroy()方法。

執行流程:瀏覽器向服務器請求時,服務器不會直接執行我們的類,而是到web.xml里尋找路徑名

第一步,瀏覽器輸入訪問路徑后,攜帶了請求行,頭,體

第二步,根據訪問路徑找到已注冊的servlet名稱,既圖中的demo

第三步,根據映射找到對應的servlet名

第四步,根據根據servlet名找到我們全限定類名,既我們自己寫的類

18、JVM簡述java垃圾回收機制?

在java中,程序員是不需要顯示的去釋放一個對象的內存的,而是由虛擬機自行執行。在JVM中,有一個垃圾回收線程,它是低優先級的,在正常情況下是不會執行的,只有在虛擬機空閑或者當前堆內存不足時,才會觸發執行,掃面那些沒有被任何引用的對象,并將它們添加到要回收的集合中,進行回收。

19、JVM簡述java類加載機制? 虛擬機把描述類的數據從Class文件加載到內存,并對數據進行校驗,解析和初始化,最終形成可以被虛擬機直接使用的java類型。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宝坻区| 寿光市| 岢岚县| 吴川市| 平果县| 曲阜市| 长海县| 泗洪县| 宣武区| 桦川县| 根河市| 昭苏县| 彝良县| 揭阳市| 稷山县| 清新县| 安福县| 三门峡市| 云和县| 丁青县| 华容县| 习水县| 西城区| 嘉义县| 正宁县| 张家口市| 文昌市| 彭阳县| 墨脱县| 定边县| 江源县| 张掖市| 聂拉木县| 巴南区| 铅山县| 长葛市| 江津市| 青阳县| 广饶县| 平潭县| 华容县|