前言:
現(xiàn)在的主要工作是給出公司的SOA解決方案,在通訊層選用netty的NIO框架,通訊協(xié)議使用Google最新的SPDY協(xié)議草案2,苦于沒有中文版本的SPDY,對英文的理解實(shí)在有些偏差,在架構(gòu)組幾個人各自看了英文版本的SPDY后,互相討論,現(xiàn)在通訊層快完工,在此總結(jié)一下SPDY協(xié)議,也為SPDY做些貢獻(xiàn)。對于我這樣不是專業(yè)的翻譯人員來說,翻譯的工作量是巨大的,希望各位看官能別著急,能留個言就是對我最大的支持,歡迎轉(zhuǎn)載,但請保留原文鏈接,我會隨著以后的翻譯不斷斟酌每個詞的使用,不斷更新已有的翻譯,多謝。
SPDY 協(xié)議 – 草案 2
草案
目錄
1 概述
1.1 文章總覽
1.2 基本定義
2 幀層
2.1 連接
2.2 幀
2.2.1 協(xié)議版本
2.3 控制幀
2.4 數(shù)據(jù)幀
2.5 流
2.5.1 創(chuàng)建一個流
2.5.2 數(shù)據(jù)交互
2.5.3 半關(guān)閉
2.5.4 關(guān)閉
2.6 數(shù)據(jù)流程
2.7 控制幀
2.7.1 SYN_STREAM
2.7.2 SYN_REPLY
2.7.3 RST_STREAM
2.7.4 HELLO
2.7.5 NOOP
2.7.6 PING
2.7.7 GOAWAY
2.7.8 HEADERS
2.7.9 WINDOW_UPDATE
3 以SPDY協(xié)議實(shí)現(xiàn)HTTP
3.1 響應(yīng)
3.2 服務(wù)器推送
3.2.1 服務(wù)端實(shí)現(xiàn)
3.2.2 客戶端實(shí)現(xiàn)
3.3 部署
3.3.1 服務(wù)器通過AlternateProtocol協(xié)議頭來推薦使用SPDY協(xié)議
3.3.2 依托于SPDY會話的HTTP請求
4 與SPDY草案1不兼容的地方
5 計(jì)劃中的工作/實(shí)驗(yàn)
6 貢獻(xiàn)者
翻譯:Lookis(lookisliu@gmail.com,http://lookis.me)
更新時間:2010-03-19
文章來源:
http://lookis.me/?p=50
posted @
2010-03-24 10:18 Lookis 閱讀(473) |
評論 (2) |
編輯 收藏
由于時間關(guān)系,這一次的培訓(xùn)計(jì)劃有變,把JVM調(diào)試單獨(dú)出來做為一節(jié)課,另外新加入課程,預(yù)計(jì)都是下周給新人們上課
文章來源:
http://lookis.me/?p=38
posted @
2010-03-24 10:18 Lookis 閱讀(184) |
評論 (0) |
編輯 收藏
內(nèi)容稍微變化了一點(diǎn),主要講解JVM中GC相關(guān)的部分
PPT:JVM_GC.pdf
示例源碼:src_jvm_gc.rar
講稿:
==========
GC
1.什么是GC:
1)釋放不再使用的內(nèi)存對象以回收內(nèi)存空間
2)壓縮內(nèi)存碎片
2.為什么要讓JVM做GC,而不是程序員來做?
1)把開發(fā)人員從管理內(nèi)存中解放出來,提高生產(chǎn)率
2)安全角度考慮,不會由于失誤/故意錯誤釋放內(nèi)存帶來潛在的安全問題
3)弊端:額外地占用CPU,且對于程序員來說”難于”控制
引用計(jì)數(shù)收集器:
start:當(dāng)創(chuàng)建對象,并且指向該對象的引用被分配給一個變量,這個對象的引用計(jì)數(shù)被置為1
其他變量被賦值為對這個對象引用時,i++
一個對象引用超過生存期或者被設(shè)置成一個新值時,i–
計(jì)數(shù)為0的對象就可以被收集
當(dāng)收集的時候,該對象所引用的對象計(jì)數(shù)i–
優(yōu)點(diǎn):速度快,交織在程序運(yùn)行之中
缺點(diǎn):無法檢測出循環(huán)引用
跟蹤收集器:
從根結(jié)點(diǎn)開始跟蹤,對所有跟蹤到的對象以某種方式(和實(shí)現(xiàn)有關(guān))打上標(biāo)記,跟蹤結(jié)束時,就可以對沒打上標(biāo)記的對象實(shí)現(xiàn)收集
優(yōu)點(diǎn):可以回收循環(huán)引用
缺點(diǎn):回收的時候長時間獨(dú)占CPU
問題:什么是根結(jié)點(diǎn)
根結(jié)點(diǎn):
和實(shí)現(xiàn)有關(guān):總的來說有以下幾個方面:
1.局部變量,操作數(shù)棧(參數(shù))
2.常量池中對象:字符串,類名,接口名…
3.JNI調(diào)用,沒有被釋放的
壓縮收集器:
把標(biāo)記為活動的對象從原來的區(qū)域越過空閑區(qū)移動到堆的另一端
問題:更新移動的對象要更新所有的指針(以用于清理)
解決:有些JVM實(shí)現(xiàn)做了一層 間接對象引用層 (不完美,每次取對象都要多一個步驟)
拷貝收集器:
有兩個內(nèi)存區(qū)域
把標(biāo)記為活動的對象從原來的區(qū)域拷貝到另一個區(qū)域
同一時間只有一個區(qū)域在使用
優(yōu)點(diǎn):在使用的時候才更新指針
缺點(diǎn):內(nèi)存使用率降低
finalize
時機(jī):對象被回收時
流程:收集器第一遍掃描出不再被引用的對象
調(diào)用他們的finalize方法,此時程序員可以實(shí)現(xiàn)finalize方法做清理工作,可以復(fù)活這個對象
收集器第二遍掃描,只掃描不再被引用的對象,對沒復(fù)活的對象做清理
jdk1.2以前:可觸及,可復(fù)活,不可觸及
可觸及:從根結(jié)點(diǎn)開始跟蹤可以觸及到
可復(fù)活:從根結(jié)點(diǎn)跟蹤不可觸及,但在自己或者別人的finalize方法里重新使該對象可觸及
不可觸及:finalize方法后也不可觸及
jdk1.2以后:軟引用,弱引用,影子引用
軟引用:做cache
弱引用,做映射:初始化實(shí)例時默認(rèn)配置,配置修改時可以通知,如果實(shí)例已經(jīng)不再使用,就不通知
影子引用:處理收集時的后續(xù)操作,類比finalize,初始化時要增加一個ReferenceQueue隊(duì)列參數(shù)
==========
文章來源:
http://lookis.me/?p=32
posted @
2010-03-24 10:18 Lookis 閱讀(216) |
評論 (0) |
編輯 收藏
最近公司來了些新人,都是本科生,要為他們準(zhǔn)備講解一下JVM的東西,計(jì)劃主題有三:JVMGC原理與內(nèi)存參數(shù)的調(diào)整,CPU方面的調(diào)試,內(nèi)存方面的調(diào)試,想來新人主要還是有這三塊內(nèi)容需要了解。
文章來源:
http://lookis.me/?p=20
posted @
2010-03-15 17:16 Lookis 閱讀(154) |
評論 (0) |
編輯 收藏
前兩天心情不好,鄰居由于家里來人了,要把住的屋子收回…沒辦法,又要找新的房子了,唉,要能有自己的房子多好..來網(wǎng)上搭一間小樓吧,于是這個blog就誕生了。
空間:ramhost.us里最最便宜的一檔,3美刀/月,雙核CPU,128MB內(nèi)存,硬盤空間2G,流量50G。這個空間我盯它好久了,本來想是在Google.com離開中國的時候去買來當(dāng)VPN來翻墻用的,誰知道Google又不出去了……沒辦法,不等他了。
域名:godaddy.com里選來選去,發(fā)現(xiàn)lookis.com已經(jīng)被買走好些年了..到期還有很久,.info的域名挺便宜,不過實(shí)在不好看不好記,概然這個地方是給我自己的博客,那就選個.me好了,來介紹介紹自己,也記錄一下自己工作之后的成長,以后也可以子孫后代留下個好聽的域名
搭建過程一波三折啊,本以為搭個WordPress很簡單,實(shí)際上也是很簡單,說白了就是裝個mysql,裝個php,裝個nginx,把wp的代碼拷到對應(yīng)的html目錄下就可以開啟了,可是我這空間是128MB的空間…一進(jìn)空間就看已經(jīng)被占用了5MB,裝完了mysql后就迅速被用到了100MB……上個php+nginx,萬幸沒占用多大,最后一上WP,后臺立刻報錯……怎么辦?
開始各種精簡,首先把mysql用最小占用來安裝,用掉90MB,wp的最大內(nèi)存空間改到16MB,服務(wù)器起……不來……
開始刪服務(wù)器原來自帶的服務(wù),最后就留下了sshd,還是起不來……郁悶……
突然發(fā)現(xiàn)可以用pdo_sqlite來當(dāng)DB…反正我的流量也不大,就用sqlite好了,php的插件也不裝了,省點(diǎn)是點(diǎn),瞬間就騰出了90MB內(nèi)存,看來也不用向ramhost升級空間了,世界多美好。配置好了pdo_sqlite一起……還是起不來……說配置里沒有pdo_sqlite,我就郁悶,查了好半天配置都正確啊……最后發(fā)現(xiàn)是少了pdo_sqlite.so庫……以前沒接觸過php,從pacman的源里怎么都找不到sqlite,后來是從我的ubuntu里用新立得發(fā)現(xiàn)pdo_sqlite是在php-sqlite里的,瞬間裝上,全部搞定,服務(wù)一切正常,于是就有了這個Blog。
回到家,唉,又郁悶了,還是要找房啊……
文章來源:
http://lookis.me/?p=10
posted @
2010-03-15 17:16 Lookis 閱讀(210) |
評論 (0) |
編輯 收藏