標籤:計數器 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的執行流程
- 使用者發送請求到DispatchServlet
- DispatchServlet根據請求路徑查詢具體的Handler
- HandlerMapping返回一個HandlerExcutionChain給DispatchServlet HandlerExcutionChain:Handler和Interceptor集合
- DispatchServlet調用HandlerAdapter適配器
- HandlerAdapter調用具體的Handler處理業務
- Handler處理結束返回一個具體的ModelAndView給適配器 ModelAndView:model-->資料模型,view-->視圖名稱
- 適配器將ModelAndView給DispatchServlet
- DispatchServlet把視圖名稱給ViewResolver視圖解析器
- ViewResolver返回一個具體的視圖給DispatchServlet
- 渲染視圖
- 展示給使用者
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面試題集