Spring
https://www.ibm.com/developerworks/cn/java/j-master-spring-transactional-use/index.html
SpringMVC
工作流程:
1. 用戶發送請求至前端控制器DispatcherServlet
2. DispatcherServlet收到請求調用HandlerMapping處理器映射器,請求獲取Handler。
3. 通過HandlerMapping得到HandlerAdapter, 經過適配調用具體處理器Handler.
4. Handler執行完成返回ModelAndVIew
5. DispatcherServlet將ModelAndView送給ViewResolver視圖解析器處理,解析返回具體的view
6. DispatcherServlet將Model渲染到view視圖(即將模型數據填充至視圖中)
7. DispatcherServlet響應用戶
Maven
1.maven中jar包沖突產生的原因
若項目中多個Jar同時引用了相同的Jar時,會產生依賴沖突,但Maven采用了以下幾種避免沖突的策略,因此在Maven中是不存在依賴沖突的。
2.查看包沖突
mvn分析包沖突命令:mvn dependency:tree
打開pom.xml文件,在Dependency Hierarchy(依賴列表)中查看jar包的依賴層次關系。在過濾欄中輸入commons-codec,左側出現了commons-codec相關包的依賴結構,右側則是pom.xml全部依賴包的列表展示。
3. Maven 解決依賴沖突
3.1 短路優先
A.jar——>B.jar——>X.jar
C.jar——>X.jar
若本項目引用了A.jar,A.jar又引用了B.jar,B.jar又引用了X.jar,並且C.jar也引用了X.jar。
在此時,Maven只會引用引用路徑最短的Jar。
3.2 聲明優先
若引用路徑長度相同時,在pom.xml中誰先被聲明,就使用誰。
3.3 版本最新優先
假設 有以下兩個依賴關系:其中C1和C2是兩個相同的jar包,他們只是version版本號不同
A->B->C1 依賴關系: A包依賴B包,B包依賴C1包
E->D->C2 依賴關系: E包依賴D包,D包依賴C2包
當我們在項目中同時引入了A包和E包,按照maven的依賴傳遞原理,那么我們相當於在項目中同時引入了兩個C包,只是他們的version版本號不同,這時候就會出現沖突了,如果我們調用了C2中一個method方法,這個方法在C1中不存在(可能是C2高版本升級之后新添加的方法),那么jvm在進行類加載的時候,加載按照A->B->C1順序,這個時候就會報NoSuchMethodError的錯誤,jar包沖突問題就出現了
4. maven中jar包產生沖突之后的解決方案
既然有多個版本號的jar依賴存在,那我們就自然而然的想到,移除多余的jar包,只保留一個不就可以了,事實確實如此,我們可以通過移除內部依賴的jar包達到解決jar包沖突的目的。
4.1 移除的方式有兩種,第一種是借助於maven helper插件中的Dependency Analyzer分析沖突的jar包,然后在提示沖突的jar包上面右擊Exclude,然后刷新就可以了
4.2 手動移除,這個是通過在pom中添加<exclusion>標簽達到解決jar包沖突的目的
Git面試題
Redis
redis 緩存案例:
1. 根據key從緩存中獲取對象
2. 如果對象不為空,直接返回
3. 如果對象為空,進行數據庫查詢
4. 如果從數據庫查詢出的對象不為空,則放入緩存(設定過期時間)
Spark
Spark 和 map reduce區別
Spark SQL, DataFrames 以及 Datasets 編程指南
負載均衡
RPC
什么情況下需要序列化:
當你想把的內存中的對象保存到一個文件中或者數據庫中時候;
當你想用序列化在網絡上傳送對象的時候;
當你想通過RMI傳輸對象的時候;
序列化注意事項:
(1) 當一個對象被序列化時,只保存對象的非靜態成員變量,不能保存任何的成員方法、靜態的成員變量和transient標注的成員變量。
(2) 如果一個對象的成員變量是一個對象,該成員對象的類必須也實現Serializable接口才能序列化。
(3) 如果一個可序列化的對象包含對某個不可序列化的對象的引用,那么整個序列化操作將會失敗,並且會拋出一個NotSerializableException。可以將這個引用標記transient,那么對象仍然可以序列化。
json工具
Spring Mybatis
Spring Boot為服務
redis
https://msd.misuland.com/pd/3065794831805580868
https://segmentfault.com/a/1190000014488045
https://baijiahao.baidu.com/s?id=1619572269435584821&wfr=spider&for=pc
https://my.oschina.net/u/4052893/blog/3001173
https://baijiahao.baidu.com/s?id=1626448266563689166&wfr=spider&for=pc
https://blog.csdn.net/qq_36071795/article/details/83988177
多線程並發
https://www.cnblogs.com/Jansens520/p/8624708.html
https://www.cnblogs.com/jxldjsn/p/10872154.html
https://www.cnblogs.com/jagh/p/dxc.html
http://developer.51cto.com/art/201709/552926.htm
https://baijiahao.baidu.com/s?id=1619715630323058430&wfr=spider&for=pc
https://wenku.baidu.com/view/58189549580216fc710afd08.html
http://ju.outofmemory.cn/entry/363342
RPC
https://my.oschina.net/u/1186503/blog/1632952
https://www.shsxt.com/it/java/1599.html
https://baijiahao.baidu.com/s?id=1617168792520937104&wfr=spider&for=pc
https://www.jianshu.com/p/28e48e5f9c73
https://www.jianshu.com/p/75c55e8bf2a5
http://youzhixueyuan.com/dubbo-interview-question-answers.html
---------------------
作者:苗尼瑪喬
來源:CSDN
原文:https://blog.csdn.net/qq_24871519/article/details/81673515
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
---------------------
作者:a745233700
來源:CSDN
原文:https://blog.csdn.net/a745233700/article/details/80963758
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
---------------------
作者:EllisTian
來源:CSDN
原文:https://blog.csdn.net/T2080305/article/details/82144543
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!