Java面試題集

來源:互聯網
上載者:User

標籤:計數器   space   web   變數   ror   ash   試題   運行   整合   

1.Mybatis與Ibatis的區別

Mybatis實現了介面綁定,使用更加方便。 
在ibatis2.x中我們需要在DAO的實作類別中指定具體對應哪個xml對應檔, 
而Mybatis實現了DAO介面與xml對應檔的綁定,自動為我們產生介面的具體實現,使用起來變得更加省事和方便

對象關係映射的改進,效率更高

2.Http1與Http2的區別

  • HTTP2使用的是二進位傳輸,HTTP1.X是文本(字串)傳送
  • HTTP2支援多工
  • HTTP2頭部壓縮
  • HTTP2頭部壓縮

3.SpringMVC的執行流程

  1. 使用者發送請求到DispatchServlet
  2. DispatchServlet根據請求路徑查詢具體的Handler
  3. HandlerMapping返回一個HandlerExcutionChain給DispatchServlet HandlerExcutionChain:Handler和Interceptor集合
  4. DispatchServlet調用HandlerAdapter適配器
  5. HandlerAdapter調用具體的Handler處理業務
  6. Handler處理結束返回一個具體的ModelAndView給適配器 ModelAndView:model-->資料模型,view-->視圖名稱
  7. 適配器將ModelAndView給DispatchServlet
  8. DispatchServlet把視圖名稱給ViewResolver視圖解析器
  9. ViewResolver返回一個具體的視圖給DispatchServlet
  10. 渲染視圖
  11. 展示給使用者

4.JVM記憶體溢出具體指哪些記憶體地區?都會拋出什麼異常?

除了程式計數器外,虛擬機器記憶體的其他幾個運行時地區都有發生OutOfMemoryError(OOM)異常的可能

具體解析參考:https://www.cnblogs.com/binyue/p/3927105.html

5.談談對AJAX的理解

jax是Asynchronous JavaScript and XML的縮寫,這一技術能夠向伺服器請求額外的資料而無需卸載整個頁面,會帶來良好的使用者體驗。傳統的HTTP請求流程大概是這樣的,瀏覽器向伺服器發送請求-〉伺服器根據瀏覽器傳來資料產生response-〉伺服器把response返回給瀏覽器-〉瀏覽器重新整理整個頁面顯示最新資料,這個過程是同步的,順序執行。

AJAX 在瀏覽器與 Web 服務器之間使用非同步資料轉送(HTTP 要求)從伺服器擷取資料,這裡的非同步是指脫離當前瀏覽器頁面的請求、載入等單獨執行,這意味著可以在不重新載入整個網頁的情況下,通過JavaScript接受伺服器傳來的資料,然後操作DOM將新資料對網頁的某部分進行更新,使用Ajax最直觀的感受是向伺服器擷取新資料不需要重新整理頁面等待了。

6.談談對事務的理解

http://blog.csdn.net/fengchao2016/article/details/70207222

7.String能被繼承嗎?為什嗎?

因為Sting是這樣定義的:public final class String extends Object,裡邊有final關鍵字,所以不能被繼承

8.談談繼承和彙總

https://www.cnblogs.com/xdp-gacl/p/4058008.html

9.什麼是深拷貝和淺拷貝?

在之前的部落格中有寫

10.說說常見的幾個運行時異常

  • ClassCastException(類轉換異常)
  • IndexOutOfBoundsException(數組越界)
  • NullPointerException(null 指標)
  • ArrayStoreException(資料存放區異常,運算元組時類型不一致)
  • IO操作的BufferOverflowException異常

11.JDK引入泛型是解決什麼問題的?

如果在一個類內部,成員變數一開始不知道用的時候會賦值為什麼類型的時候,會非常頭痛,類型轉換也是個大問題.

12.談談hashCode與equals之間的關係

如果兩個對象相同,那麼它們的hashCode值一定要相同

如果兩個對象的hashCode相同,它們並不一定相同

equals()相等的兩個對象,hashcode()一定相等

equals()不相等的兩個對象,卻並不能證明他們的hashcode()不相等

13.談談反射機制

在之前的文章有整理過

14.常用的JVM設定參數都有哪些?

-Xms3550m, 初始化堆大小。通常情況和-Xmx大小設定一樣,避免虛擬機器頻繁自動計算後調整堆大小。 
-Xmx3550m,最大堆大小。

-XX:Permsize=512m,設定永久代初始值。 
-XX:MaxPermsize=512m,設定永久代的最大值。 
註:Java8沒有永久代說法,它們被稱為元空間,-XX:MetaspaceSize=N

15.Spring Boot是什麼?

從本質上來說,springboot是一個專註於架構的架構。Spring Boot就是對各種架構的整合,讓他們整合在一起更加簡單,簡化了我們在整合過程中的模板化配置,它做了那些沒有它你自己也會去做的Spring Bean配置

16.談談Spring事物傳播特性

在之前的文章有整理過

17.Spring有哪幾種事物管理機制?

http://blog.csdn.net/jeamking/article/details/43982435

18.ACID是指什嗎?

Atomic(原子性)
Consistency(一致性)
Isolation(隔離性)
Durability(持久性)

19.談談Mysql中的Btree和B+Tree演算法

https://www.cnblogs.com/vianzhang/p/7922426.html

20.談談Mysql中in和exists的應用情境

select * from A where exists (select * from B where A.id=B.id);select * from A where A.id in (select id from B);

1、exists是對外表做loop迴圈,每次loop迴圈再對內表(子查詢)進行查詢,那麼是對內表的查詢使用的索引,而外表有多大都需要遍曆,不可避免,故內表大的使用exists,可加快效率;

2、in是把外表和內表做hash串連,先查詢內表,再把內表結果與外表匹配,對外表使用索引,而內表多大都需要查詢,不可避免,故外表大的使用in,可加快效率。

Java面試題集

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.