基本知識
1,標識符
2,運算符
3,關鍵字(權限,控制,導入,修飾,基本類型,異常,引用)
4,邏輯語句
5,常量 變量
6,數據類型
7,註釋,分隔符
8,jvm
1,內存模型
1,類加載
2,執行引擎
3,內存
1,堆
2,棧
3,方法區
4,本地方法棧
5,計數器
4,本地庫接口
2,垃圾回收
1,引用類型
強引用,軟引用,弱引用,虛引用
2,判斷對象是否無用
1,引用計數法
2,可達性算法
3,垃圾回收算法
1,標記-清除
2,標記-整理
3,複製
4,分代收集
4,垃圾回收器
1,serial
2,serial old
3,parnew
4,parial
5,parial old
6,cms
7,g1
面向對象
1,封裝
1,封裝具體實現
2,繼承
1,子類繼承父類
2,子類不能繼承私有函數,和構造函數
3,多態
1,靜態
重載
2,動態
重寫
oop
1,註解
1,使用@interface自定義註解
2,元註解
1,target
2,document
3,retention
2,多線程
1,鎖
分類
1,公平鎖,非公平鎖
2,可重入鎖
3,獨享,共享鎖
4,互斥鎖,讀寫鎖
5,樂觀鎖,悲觀鎖
6,分段鎖
7,偏向鎖,輕量鎖,重量鎖
8,可中斷鎖
鎖原理
1,cas 一個算法
2,aqs 一個同步框架
2,jdk實現的concurrent框架
3,線程
1,實現方式
1,繼承Thread
2,實現runnable
3,使用futuretask
4,executorservice
2,線程狀態
1,啓動
2,等待
3,阻塞
4,運行
5,死亡
3,線程通訊
1,volatile
2,notify,wait
3,countdownlatch
4,locksupport
3,io
1,流式
2,非流式
3,安全類
分類
1,io
2,nio
4,集合
1,collection
1,list
arraylist
數組
linkedlist 雙向鏈表
2,set
hashset map
sortedset map
2,map
hashmap 數組+鏈表
擴容機制
當元素個數超過 數組*加載因子時候,開始擴容,擴爲原先的2倍
hashtable 散列表
hashset map
5,網絡編程
1,協議
osi 模型7層 物理層 - 鏈路層-傳輸層-會話層-表示層-應用層
web 模型 4層 物理層- 鏈路層-傳輸層-應用層
2,web
1,tcp 傳輸 可靠 ,有鏈接
2,udp 傳輸 不可靠, 無鏈接
3,ip 鏈路層 無鏈接的數據包
4,tcp 3次握手
1,發起方發送數據包
2,接收方接收數據包,發送ack給發起方
3,發起方接收ack數據包
5,tcp 4次揮手
1,發起方發送數據包,fin報頭
2,接收方接收數據包,發送ack給發起方
3,接收方發送數據包,fin報頭
4,發起方接收數據包
6,經常使用的報頭標識位
1,fin
2,ack
3,rst
4,syn
6,泛型
1,泛型類,泛型接口,泛型函數
2,安全簡單,編譯時候減小出錯
3,實現原理
使用類型察除技術
7,反射
1,實現反射機制,動態獲取類信息,執行函數
8,設計模式
1,原則
1,單一
邏輯簡單,單一功能
2,里氏替換
子類擴展父類功能
3,依賴倒置
面向接口編程
4,接口隔離
針對接口提出的要求
5,迪米特
下降耦合
6,開閉
對擴展開放,對修改關閉
2,23設計模式
框架
spring
1,ioc
控制反轉,依賴注入,將實例的生命週期交給spring容器管理
2,aop
切面編程,將系統功能抽離,複用
3,組成
spring core + spring aop + spring context + spring web
+ spring dao + spring orm +spring webmvc
4,事務 數據庫的事務
1,事務特性 acid
1,原子性
2,一致性
3,持久性
4,隔離性
2,隔離級別 4個
1,讀未提交
2,讀已提交
3,可重複讀
4,串行
5,默認
3,傳播級別 7個
1,required
2,supports
3,mandatory
4,requires-new
5,not-supported
6,never
7,nested
5,註解
1,transactional
ssh
spring + struts2 + hibernate
hibenate:
1,工做流程
1,讀取配置文件,解析配置文件
2,生成sessionfactory,創建鏈接
3,開啓事務,執行業務
4,提交事務,關閉鏈接
struts2
1,工做流程
1,客戶端提交請求,filterdispatcher調度actionMapper處理
2,filterdispatcher生成actionproxy 經過 configurationmanager,定位action,生成actioninvocation處理業務
2,返回結果,生成頁面,返回前端
ssm
springmvc+spring + mybatis
springmvc
1,工做流程
1,客戶端發起請求,前端控制器dispatchservlet獲取請求,讀取配置文件,解析配置文件,生成handlerMapping,
2,handlerMapping找到對應的handler,並由handlerAdapter處理,執行業務,返回modelandview,model是數據,view是邏輯上的view
3,viewresolver處理modelandview ,找到實際view
4,dispatchservlet將model傳給view,返回客戶端
2,註解
1,requestMapping
2,controller
3,service
4,reposistory
5,requestparam
6,responseBody
7,autowired
8,resource
9,component
mybaits
1,讀取配置文件,解析配置文件
2,生成sqlsessionfacotry,創建鏈接
3,開啓事務,執行業務
4,提交事務,關閉鏈接
spring boot
spring-boot-starter-web
spring-boot-starter-data-jpa
1,註解
1,springbootapplication
2,enableautoconfiguration
3,
數據庫
mysql
1,體系
1,connector
2,sql interface
3,解析器
4,存儲引擎
1,myisam
1,.myd 數據文件
2,.myi 索引文件
3,支持表鎖
2,innodb
1,支持行鎖,事務,外鍵關聯
3,memory
1,數據加載到內存
5,management service
6,查詢優化器
2,文件
1,.frm 表結構
2,日誌文件
3,優化
1,sql優化
2,mysql優化
3,鏈接配置優化
oracle
1,體系
服務器
tomcat
1,配置文件
1,server.xml
2,web.xml
3,catalina.properties
2,優化
1,tomcat優化
2,jvm優化
3,工做原理
1,connector
2,container
3,engine
4,host
5,context
6,servlet
jetty
1,配置文件
jetty.xml
2,優化
1,jvm
2,jetty
3,工做原理
1,connector
2,server
3,handler
jboss
1,配置文件
2,優化
1,jvm
2,jboss
nginx
1,配置文件
nginx.conf
2,優化
1,nginx
3,經常使用命令
nginx -s reload
nginx -t
nginx -c start nginx.conf
netty
1,併發高,傳輸快,封裝好,基於nio的網絡通訊框架
2,體系
1,channel
2,future
3,event ,channelhandler
3,原理
中間件
消息中間件
ribbitemq
1,原理
消息推送模式
1,topic
2,direct
3,fanout
4,header
2,基於amqp協議的隊列
3,組成
1,生產者
2,消費者
3,quence
4,exchange
服務框架
dubbo
1,原理
1,服務暴露 export
1,serviceconfig
2,dubboprotocol
2,啓動netty
3,鏈接zookeeper
4,到zookeeper註冊
1,registryprotocol
5,監聽zookeeper
2,組成
1,生產者
2,消費者
3,註冊中心
zookeeper
1,原理
1,維護了一個相似文件系統的數據機構,文件系統+通知機制
2,znode有四種類型
1,持久化
2,臨時
3,持久化順序
4,臨時順序
3,角色
leader,follower,observer,client
1,server的狀態
1,lookig
2,leading
3,following
4,zad協議
選主
leader崩潰,從新選leader,使用paxos算法,最後選出leader
廣播
leader和server鏈接,肯定是否有相同最大zxid,若是有同步,若是沒有,leader將內容同步server
5,leader
1,恢復數據
2,維持與learner的心跳,接收請求
請求類型
1,ping
2,request
3,ack
4,revalidate
6,follower
1,接收leader信息,並處理
2,向leader發送請求
3,接收client請求
4,返回client
類型
1,ping
2,commite
3,sync
4,revalidate
5,uptodate
6,proposal
2,組成
1,文件系統
工具
持續集成
jenkins
1,安裝
2,配置
3,使用
docker
1,安裝
2,配置
3,使用
1,環境信息
2,生命週期
3,運維
4,鏡像倉庫
5,本地鏡像
6,資源
7,日誌
k8s
1,安裝
2,配置
3,使用
4,組成
1,master
2,node
3,pod
4,replication controller
5,service
6,label
操做系統
linux
1,體系
1,進程調度模塊
2,內存管理模塊
3,文件系統模塊
4,進程間通訊模塊
5,網絡接口模塊
windows
其餘腳本語言
shell
1,#!開頭 表示執行該文件的程序
2,#註釋
3,變量
1,變量定義
2,分類
1,局部變量
2,環境變量
3,shell變量
4,運算符
1,算術
expr
2,關係
3,布爾
4,字符串
5,文件測試運算
5,字符串
6,數組
7,邏輯控制
8,函數
python
php