1.項(xiàng)目
redis
k8s
jenkins
niginx
docker
http://www.bjpowernode.com/hot/608.html
https://www.cnblogs.com/xiaoyangjia/p/11388806.html-
2.基礎(chǔ)
計(jì)算機(jī)網(wǎng)絡(luò)+操作系統(tǒng)
POST
向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)皆怕。數(shù)據(jù)被包含在請(qǐng)求體中誓琼。POST請(qǐng)求可能會(huì)導(dǎo)致新的資源的建立和/或已有資源的修改。
PUT
向指定資源位置上傳其最新內(nèi)容。
https://www.cnblogs.com/mafeng/p/10207546.html
https://blog.csdn.net/weixin_37569048/article/details/80653590
冪等性
https://blog.csdn.net/qq_34162294/article/details/105260149
3.源碼細(xì)節(jié)
1.jvm gc
java 調(diào)用gc 命令
https://www.cnblogs.com/Leon-The-Professional/p/9991589.html(copying gc 詳解)
https://blog.csdn.net/tjiyu/article/details/53983064(火車算法)
https://www.zhihu.com/question/52213790(火車算法和G1區(qū)別)
2.Spring AOP
bean類(需要加強(qiáng))
3.MYSQL
就問(wèn)了binlog和redolog區(qū)別(這兩個(gè)如何恢復(fù) redolog和undolog使用 參考ARIES RECOVERY http://www.reibang.com/p/2ac301e54f62)
4.REDIS
5.雪花算法
6.反射效率慢的原因
https://blog.csdn.net/mandy1526/article/details/117195647
7.ThreadLocal
https://zhuanlan.zhihu.com/p/150682678
8.線程池以及線程池關(guān)鍵參數(shù)以及新任務(wù)處理
(1) newSingleThreadExecutor: 創(chuàng)建一個(gè)單線程的線程池馋记, 此線程池保證所有任務(wù)的執(zhí)行順序按照任務(wù)的 提交順序執(zhí)行掸绞。
(2) newFixedThreadPool: 創(chuàng)建固定大小的線程池番舆, 每次提交一個(gè)任務(wù)就創(chuàng)建一個(gè)線程, 直到線程達(dá)到線 程池的最大大小贪婉。
(3) newCachedThreadPool: 創(chuàng)建一個(gè)可緩存的線程池, 此線程池不會(huì)對(duì)線程池大小做限制卢肃,線程池大小 完全依賴于操作系統(tǒng)(或者說(shuō) JVM) 能夠創(chuàng)建的最大線程大小疲迂。
(4) newScheduledThreadPool: 創(chuàng)建一個(gè)大小無(wú)限的線程池, 此線程池支持定時(shí)以及周期性執(zhí)行任務(wù)的需求莫湘。
(5) newSingleThreadExecutor: 創(chuàng)建一個(gè)單線程的線程池尤蒿。 此線程池支持定時(shí)以及周期性執(zhí)行任務(wù)的需求。
https://blog.csdn.net/qq_33453910/article/details/81413285
https://blog.csdn.net/ye17186/article/details/89467919
9.linux常用指令
排序 搜索
10.Quartz
11.開(kāi)發(fā)過(guò)程中印象深刻的難點(diǎn)
12.LinkedHashMap HashMap 線程安全的集合
線程安全的集合 vector HashTable sycArrayList sycHashSet sycHashMap ConcurrentHashMap CopyOnWriteArrayList CopyOnWriteArraySet 它們兩個(gè)是加了寫(xiě)鎖的ArrayList和ArraySet幅垮,鎖住的是整個(gè)對(duì)象优质,但讀操作可以并發(fā)執(zhí)行
https://blog.csdn.net/lkforce/article/details/89521318
https://blog.csdn.net/tongdanping/article/details/79589253
https://blog.csdn.net/lixiaobuaa/article/details/79689338
ArrayList源碼 (繼承了RandomAccess 就是一個(gè)接口)https://www.cnblogs.com/neverth/p/11786048.html
https://blog.csdn.net/xujing_2017/article/details/87939013
https://blog.csdn.net/weixin_42373997/article/details/112085344(透徹)
13.數(shù)據(jù)庫(kù)索引 三范式
第一范式是最基本的范式。如果數(shù)據(jù)庫(kù)表中的所有字段值都是不可分解的原子值军洼,就說(shuō)明該數(shù)據(jù)庫(kù)表滿足了第一范式巩螃。(確保每列保持原子性)
第二范式在第一范式的基礎(chǔ)之上更進(jìn)一層。第二范式需要確保數(shù)據(jù)庫(kù)表中的每一列都和主鍵相關(guān)匕争,而不能只與主鍵的某一部分相關(guān)(主要針對(duì)聯(lián)合主鍵而言)避乏。也就是說(shuō)在一個(gè)數(shù)據(jù)庫(kù)表中,一個(gè)表中只能保存一種數(shù)據(jù)甘桑,不可以把多種數(shù)據(jù)保存在同一張數(shù)據(jù)庫(kù)表中拍皮。(確保表中的每列都和主鍵相關(guān))
第三范式需要確保數(shù)據(jù)表中的每一列數(shù)據(jù)都和主鍵直接相關(guān),而不能間接相關(guān)跑杭。(確保每列都和主鍵列直接相關(guān),而不是間接相關(guān))
14.CAP BASE
15.redis為什么不能作為消息中間件
消息中間件的兩個(gè)條件
1.可以緩存數(shù)據(jù)
2.不會(huì)產(chǎn)生消息丟失
redis不能做到不丟 而且緩存在內(nèi)存 有大小限制
16.git
https://blog.csdn.net/yxlshk/article/details/79944535
17.錯(cuò)誤排查
https://blog.csdn.net/ilovekdd/article/details/108816740?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control
Arthas 是阿里巴巴開(kāi)源的Java 診斷工具铆帽,基于 Java Agent 方式,使用 Instrumentation 方式修改字節(jié)碼方式進(jìn)行 Java 應(yīng)用診斷德谅。
dashboard :系統(tǒng)實(shí)時(shí)數(shù)據(jù)面板, 可查看線程爹橱,內(nèi)存,gc 等信息
thread :查看當(dāng)前線程信息窄做,查看線程的堆棧愧驱,如查看最繁忙的前 n 線程
getstatic:獲取靜態(tài)屬性值,如 getstatic className attrName 可用于查看線上開(kāi)關(guān)真實(shí)值
sc:查看 jvm 已加載類信息椭盏,可用于排查 jar 包沖突
sm:查看 jvm 已加載類的方法信息
jad:反編譯 jvm 加載類信息,排查代碼邏輯沒(méi)執(zhí)行原因
logger:查看logger信息组砚,更新logger level
watch:觀測(cè)方法執(zhí)行數(shù)據(jù),包含出參掏颊、入?yún)⒃愫臁惓5?/p>
trace:方法內(nèi)部調(diào)用時(shí)長(zhǎng),并輸出每個(gè)節(jié)點(diǎn)的耗時(shí),用于性能分析
tt:用于記錄方法盆偿,并做回放