1.SpringBuilder和SpringBuffer的append底層實(shí)現(xiàn)
String是不可改變的對(duì)象,每次拼接都是一個(gè)新的字符串對(duì)象;
SpringBuffer繼承了AbstractStringBuilder,AbstractStringBuilder構(gòu)造函數(shù)默認(rèn)數(shù)組大小是16位,append判斷最小字符容量是否超過(guò)當(dāng)前數(shù)組大小,新數(shù)組的大小默認(rèn)是原數(shù)組左移1位+2,但是要超過(guò)最小字符容量(原大小+新字符串大?。?,把內(nèi)容復(fù)制到新的數(shù)組;
SpringBuffer的append方法用了sychronized關(guān)鍵字修飾,實(shí)現(xiàn)了線程安全
StringBuffer源碼分析之 append 方法_算法與編程之美-CSDN博客_stringbuffer的append方法
2.序列化和反序列化
(序列化和反序列化的底層實(shí)現(xiàn)原理是什么?_徐劉根的博客-CSDN博客_序列化和反序列化)
3.token
token:
Token是服務(wù)端生成的一串字符串,以作客戶端請(qǐng)求的一個(gè)令牌,當(dāng)?shù)谝淮蔚卿浐?,服?wù)器生成一個(gè)Token便將此Token返回給客戶端,以后客戶端只需帶上這個(gè)Token前來(lái)請(qǐng)求數(shù)據(jù)即可,無(wú)需再次帶上用戶名和密碼。
會(huì)話(Session)跟蹤是Web程序中常用的技術(shù),用來(lái)跟蹤用戶的整個(gè)會(huì)話。常用的會(huì)話跟蹤技術(shù)是Cookie與Session。
cookie:通過(guò)在客戶端記錄信息確定用戶身份,maxAge決定著Cookie的有效期,不可跨域
session:通過(guò)在服務(wù)器端記錄信息確定用戶身份,客戶端第一次請(qǐng)求時(shí)創(chuàng)建的session對(duì)象,maxInactiveInterval決定有效期,需要JSESSIONID的Cookie或者URL地址重寫(xiě)
cookie和session的詳解與區(qū)別 - 測(cè)試開(kāi)發(fā)喵 - 博客園
跨域處理:
4.TCP的 三次握手
(1)第一次握手:建立連接時(shí),客戶端A發(fā)送SYN包(SYN=j)到服務(wù)器B,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器B確認(rèn)。
(2)第二次握手:服務(wù)器B收到SYN包,必須確認(rèn)客戶A的SYN(ACK=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(SYN=k),即SYN+ACK包,此時(shí)服務(wù)器B進(jìn)入SYN_RECV狀態(tài)。
(3)第三次握手:客戶端A收到服務(wù)器B的SYN+ACK包,向服務(wù)器B發(fā)送確認(rèn)包ACK(ACK=k+1),此包發(fā)送完畢,客戶端A和服務(wù)器B進(jìn)入ESTABLISHED狀態(tài),完成三次握手。
TCP的三次握手(建立連接)和四次揮手(關(guān)閉連接)_Met-ShiZi的博客-CSDN博客_tcp四次揮手
5.訪問(wèn)控制機(jī)制
public ------- ALL PLACE
protected ------? 本包 及 其他包中的子(孫)類
default? -------- 本包
private -------- 本類
Java訪問(wèn)控制、封裝_Tyrell-CSDN博客_java實(shí)現(xiàn)訪問(wèn)控制矩陣
6.令牌桶的實(shí)現(xiàn)
令牌桶簡(jiǎn)單實(shí)現(xiàn)(Java)_xxxxssss12的博客-CSDN博客_java令牌桶實(shí)現(xiàn)
7.static 關(guān)鍵字
用static聲明的成員變量為靜態(tài)成員變量,也成為類變量。類變量的生命周期和類相同,在整個(gè)應(yīng)用程序執(zhí)行期間都有效
不依賴對(duì)象,只要類被加載了,就可以通過(guò)類去訪問(wèn)
靜態(tài)方法中不能訪問(wèn)非靜態(tài)成員方法和非靜態(tài)成員變量
Java static關(guān)鍵字詳解_測(cè)試極客-CSDN博客_java static關(guān)鍵字