IV雜記


答案也是借鑒大神的璃诀!只是拿來和大家分享;】伞!劣欢! (從-1開始算起)

 i       0    1    2    3    4    5   6   7    8   9   10  11 

 s     a    b    a    b    a    a   a   b    a    b   a    a   

next[i] -1 0 0 1 2 3 1 1 2 3 4 5

先計算前綴next[i]的值: (字符串匹配是 從頭開始的 和 從尾開始的字符串進行匹配是否重復(fù) )

next[i]的值主要是看s[i]之前的字符串中重復(fù)的子串長度棕诵。next[0] = -1,定值氧秘。

next[1]是看s[1]之前的字符串“a”中重復(fù)的子串長度為0年鸳,故next[1] = 0。

next[2]是看s[2]之前的字符串“ab”中重復(fù)的子串長度為0丸相,故next[2] = 0搔确。

next[3]是看s[3]之前的字符串"aba"中重復(fù)的子串長度,s[0]與s[2]重復(fù)灭忠,長度為1膳算,故next[3] = 1。

next[4]是看s[4]之前的字符串"abab"中重復(fù)的子串長度弛作,s[01]與s[23]重復(fù)涕蜂,長度為2,故next[4] = 2映琳。

next[5]是看s[5]之前的字符串"ababa"中重復(fù)的子串長度机隙,s[012]與s[234]重復(fù)蜘拉,長度為3,故next[5] = 3有鹿。

next[6]是看s[6]之前的字符串"ababaa"中重復(fù)的子串長度旭旭,s[0]與s[5]重復(fù)(因為多了一個a,無法找到長度為3的重復(fù)字符串葱跋,這只能是s[0]和s[5]重復(fù))持寄,長度為1,故next[6] = 1娱俺。

同樣的稍味,求next[7]和next[8]、next[9]荠卷、 next[10]模庐、 next[11] 分別為1和2、3僵朗、4赖欣、5。


next數(shù)組下標(biāo)從1開始計算

next[1] 肯定是 0

next[2] 肯定是 1

next[n] 的情況验庙,將前面n-1個字符,計算從首尾開始組成最大的相同子串的長度社牲,如果找到粪薛,那么next值是該長度加1,否則next值是1搏恤。

舉例

next[6]的計算违寿,字符串第六位是 a ,( ababa a ababaa)

將前面的5個字符熟空,從頭尾開始取4個組成子串比較藤巢,如果不相等,則從首尾取3個字符組成子串繼續(xù)比較息罗,并以此類推掂咒, 如果一直比較到最后一個字符都不相等,那么該next值為1迈喉。

4個字符的情況:abab : baba

3個字符的情況:aba : aba 此時相等绍刮,那么next[6] = 3+1 = 4


public void add(int a) { int b = a; } 這個可以看作是值傳遞,a是基本數(shù)據(jù)類型挨摸,他把他的值傳給了b public void add(Object obj) { Object objTest = obj; } 這個可以看作是址傳遞孩革,obj是引用數(shù)據(jù)類型,是把他棧中指向堆中的對象的地址值賦值給了objTest. 這時候就同時有兩個引用指向了堆中的某個Object對象 其實這樣看來得运,java應(yīng)該只有值傳遞的膝蜈。如果是基本數(shù)據(jù)類型锅移,傳遞的就是實際的值. 如果是引用數(shù)據(jù)類型,傳遞的就是該引用的地址值.


  • 從輸入網(wǎng)址到顯示網(wǎng)頁饱搏,過程 帆啃?

DNS域名解析 –> 發(fā)起TCP的三次握手 –> 建立TCP連接后發(fā)起http請求 –> 服務(wù)器響應(yīng)http請求,瀏覽器得到html代碼 –> 瀏覽器解析html代碼窍帝,并請求html代碼中的資源(如JavaScript努潘、css、圖片等) –> 瀏覽器對頁面進行渲染呈現(xiàn)給用戶坤学。


TCP的狀態(tài) (SYN, FIN, ACK, PSH, RST, URG) 在TCP層疯坤,有個FLAGS字段,這個字段有以下幾個標(biāo)識:SYN, FIN, ACK, PSH, RST, URG. 其中深浮,對于我們?nèi)粘5姆治鲇杏玫木褪乔懊娴奈鍌€字段压怠。 它們的含義是: SYN表示建立連接, FIN表示關(guān)閉連接飞苇, ACK表示響應(yīng)菌瘫, PSH表示有 DATA數(shù)據(jù)傳輸, RST表示連接重置布卡。 其中雨让,ACK是可能與SYN,F(xiàn)IN等同時使用的忿等,比如SYN和ACK可能同時為1栖忠,它表示的就是建立連接之后的響應(yīng), 如果只是單個的一個SYN贸街,它表示的只是建立連接庵寞。 TCP的幾次握手就是通過這樣的ACK表現(xiàn)出來的。 但SYN與FIN是不會同時為1的薛匪,因為前者表示的是建立連接捐川,而后者表示的是斷開連接。 RST一般是在FIN之后才會出現(xiàn)為1的情況逸尖,表示的是連接重置古沥。 一般地,當(dāng)出現(xiàn)FIN包或RST包時冷溶,我們便認(rèn)為客戶端與服務(wù)器端斷開了連接渐白;而當(dāng)出現(xiàn)SYN和SYN+ACK包時,我們認(rèn)為客戶端與服務(wù)器建立了一個連接逞频。 PSH為1的情況纯衍,一般只出現(xiàn)在 DATA內(nèi)容不為0的包中,也就是說PSH為1表示的是有真正的TCP數(shù)據(jù)包內(nèi)容被傳遞苗胀。 TCP的連接建立和連接關(guān)閉襟诸,都是通過請求-響應(yīng)的模式完成的瓦堵。 概念補充-TCP三次握手: TCP(Transmission Control Protocol)傳輸控制協(xié)議 TCP是主機對主機層的傳輸控制協(xié)議,提供可靠的連接服務(wù)歌亲,采用三次握手確認(rèn)建立一個連接: 位碼即tcp標(biāo)志位菇用,有6種標(biāo)示:SYN(synchronous建立聯(lián)機) ACK(acknowledgement 確認(rèn)) PSH(push傳送) FIN(finish結(jié)束) RST(reset重置) URG(urgent緊急)Sequence number(順序號碼) Acknowledge number(確認(rèn)號碼) 第一次握手:主機A發(fā)送位碼為syn=1,隨機產(chǎn)生seq number=1234567的數(shù)據(jù)包到服務(wù)器陷揪,主機B由SYN=1知道惋鸥,A要求建立聯(lián)機; 第二次握手:主機B收到請求后要確認(rèn)聯(lián)機信息悍缠,向A發(fā)送ack number=(主機A的seq+1)卦绣,syn=1,ack=1飞蚓,隨機產(chǎn)生seq=7654321的包滤港; 第三次握手:主機A收到后檢查ack number是否正確,即第一次發(fā)送的seq number+1趴拧,以及位碼ack是否為1溅漾,若正確,主機A會再發(fā)送ack number=(主機B的seq+1)著榴,ack=1添履,主機B收到后確認(rèn)seq值與ack=1則連接建立成功。 完成三次握手兄渺,主機A與主機B開始傳送數(shù)據(jù)缝龄。 在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務(wù)挂谍,采用三次握手建立一個連接。 第一次握手:建立連接時瞎饲,客戶端發(fā)送syn包(syn=j)到服務(wù)器口叙,并進入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn)嗅战; 第二次握手:服務(wù)器收到syn包妄田,必須確認(rèn)客戶的SYN(ack=j+1),同時自己也發(fā)送一個SYN包(syn=k)驮捍,即SYN+ACK包疟呐,此時服務(wù)器進入SYN_RECV狀態(tài); 第三次握手:客戶端收到服務(wù)器的SYN+ACK包东且,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1)启具,此包發(fā)送完畢,客戶端和服務(wù)器進入ESTABLISHED狀態(tài)珊泳,完成三次握手鲁冯。完成三次握手拷沸,客戶端與服務(wù)器開始傳送數(shù)據(jù). 摘自中國云安網(wǎng)(www.yunsec.net) 原文:http://www.yunsec.net/a/school/wlcs/agreement/2012/0317/10262.html


一個HTTP請求報文由請求行(request line)、請求頭部(header)薯演、空行和請求數(shù)據(jù)4個部分組成

1.請求行由請求方法字段撞芍、URL字段和HTTP協(xié)議版本字段3個字段組成,它們用空格分隔跨扮。
2.請求頭部由關(guān)鍵字/值對組成序无,每行一對,關(guān)鍵字和值用英文冒號“:”分隔衡创。請求頭部通知服務(wù)器有關(guān)于客戶端請求的信息帝嗡。
3.最后一個請求頭之后是一個空行,發(fā)送回車符和換行符钧汹,通知服務(wù)器以下不再有請求頭丈探。
4.請求數(shù)據(jù)不在GET方法中使用,而是在POST方法中使用拔莱。

HTTP響應(yīng)也由三個部分組成碗降,分別是:狀態(tài)行、消息報頭塘秦、響應(yīng)正文讼渊。


  • redis安裝和使用
    下載地址官網(wǎng) https://redis.io/download
    安裝準(zhǔn)備:(1)VMware Workation虛擬機(2)Linux(CentOS)系統(tǒng)(3)SecureCRT(Xshell也行)
    安裝過程:
    (1)安裝編譯器:yum install gcc-c++(需要先安裝C++編譯器,redis 使用c++寫的)
    (2)下載Redis源碼并上傳到服務(wù)器
    (3)解壓Redis壓縮包:tar -zxvf redis
    (4)進入Redis目錄進行編譯:make
    (2/3/4步)或者直接在Linux上($符不用輸入)
    $ wget http://download.redis.io/releases/redis-3.2.9.tar.gz(下載)
    $ tar xzf redis-3.2.9.tar.gz(解壓)
    $ cd redis-3.2.9
    $ make(編譯)
    編譯后是二進制文件僅在目錄中 src 可用尊剔。運行Redis:
    要想更好的使用還需
    (5)安裝Redis:make PREFIX=/user/local/redis install
    (6)將redis.conf拷貝到Redis安裝目錄:cp redis.conf /user/local/redis
    (7)進入安裝目錄爪幻,更改redis.conf文件:vim redis.conf --> daemonize no 改為 yes(之后可以后臺模式運行)(vi 下按i 進行編輯 按esc后shift+zz(或者直接l倆大寫Z),或者:wq 保存并退出)
    (8)啟動redis后端模式:./bin/redis-server ./redis.conf
    (9)終止redis的操作 : ./bin/redis-cli shutdown

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末须误,一起剝皮案震驚了整個濱河市挨稿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌京痢,老刑警劉巖奶甘,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異祭椰,居然都是意外死亡臭家,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門方淤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钉赁,“玉大人,你說我怎么就攤上這事携茂∧悴龋” “怎么了?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長姓蜂。 經(jīng)常有香客問我按厘,道長,這世上最難降的妖魔是什么钱慢? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任逮京,我火速辦了婚禮,結(jié)果婚禮上束莫,老公的妹妹穿的比我還像新娘懒棉。我一直安慰自己,他們只是感情好览绿,可當(dāng)我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布策严。 她就那樣靜靜地躺著,像睡著了一般饿敲。 火紅的嫁衣襯著肌膚如雪妻导。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天怀各,我揣著相機與錄音倔韭,去河邊找鬼。 笑死瓢对,一個胖子當(dāng)著我的面吹牛寿酌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播硕蛹,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼醇疼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了法焰?” 一聲冷哼從身側(cè)響起秧荆,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎埃仪,沒想到半個月后辰如,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡贵试,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了凯正。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片毙玻。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖廊散,靈堂內(nèi)的尸體忽然破棺而出桑滩,到底是詐尸還是另有隱情,我是刑警寧澤允睹,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布运准,位于F島的核電站幌氮,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏胁澳。R本人自食惡果不足惜该互,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望韭畸。 院中可真熱鬧宇智,春花似錦、人聲如沸胰丁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锦庸。三九已至机蔗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間甘萧,已是汗流浹背萝嘁。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留幔嗦,地道東北人酿愧。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像邀泉,于是被迫代替她去往敵國和親嬉挡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,654評論 2 354

推薦閱讀更多精彩內(nèi)容