﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-Lookis' Home</title><link>http://www.blogjava.net/lookis/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 06:10:46 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 06:10:46 GMT</pubDate><ttl>60</ttl><item><title>[导入]翻译：SPDY协议草案2翻译工程</title><link>http://www.blogjava.net/lookis/archive/2010/03/24/316402.html</link><dc:creator>Lookis</dc:creator><author>Lookis</author><pubDate>Wed, 24 Mar 2010 02:18:00 GMT</pubDate><guid>http://www.blogjava.net/lookis/archive/2010/03/24/316402.html</guid><wfw:comment>http://www.blogjava.net/lookis/comments/316402.html</wfw:comment><comments>http://www.blogjava.net/lookis/archive/2010/03/24/316402.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/lookis/comments/commentRss/316402.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lookis/services/trackbacks/316402.html</trackback:ping><description><![CDATA[前言：
　　现在的主要工作是给出公司的SOA解决方案，在通讯层选用netty的NIO框架，通讯协议使用Google最新的SPDY协议草案2，苦于没有中文版本的SPDY，对英文的理解实在有些偏差，在架构组几个人各自看了英文版本的SPDY后，互相讨论，现在通讯层快完工，在此总结一下SPDY协议，也为SPDY做些贡献。对于我这样不是专业的翻译人员来说，翻译的工作量是巨大的，希望各位看官能别着急，能留个言就是对我最大的支持，欢迎转载，但请保留原文链接，我会随着以后的翻译不断斟酌每个词的使用，不断更新已有的翻译，多谢。
SPDY 协议 &#8211; 草案 2
草案
目录
1 概述
1.1 文章总览
1.2 基本定义
2 帧层
2.1 连接
2.2 帧
2.2.1 协议版本
2.3 控制帧
2.4 数据帧
2.5 流
2.5.1 创建一个流
2.5.2 数据交互
2.5.3 半关闭
2.5.4 关闭
2.6 数据流程
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协议实现HTTP
3.1 响应
3.2 服务器推送
3.2.1 服务端实现
3.2.2 客户端实现
3.3 部署
3.3.1 服务器通过AlternateProtocol协议头来推荐使用SPDY协议
3.3.2 依托于SPDY会话的HTTP请求
4 与SPDY草案1不兼容的地方
5 计划中的工作/实验
6 贡献者
翻译:Lookis(lookisliu@gmail.com,http://lookis.me)
更新时间:2010-03-19
<br>文章来源:<a href='http://lookis.me/?p=50'>http://lookis.me/?p=50</a><img src ="http://www.blogjava.net/lookis/aggbug/316402.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lookis/" target="_blank">Lookis</a> 2010-03-24 10:18 <a href="http://www.blogjava.net/lookis/archive/2010/03/24/316402.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]预告：JVM调试/Nginx和Resin配置与使用</title><link>http://www.blogjava.net/lookis/archive/2010/03/24/316403.html</link><dc:creator>Lookis</dc:creator><author>Lookis</author><pubDate>Wed, 24 Mar 2010 02:18:00 GMT</pubDate><guid>http://www.blogjava.net/lookis/archive/2010/03/24/316403.html</guid><wfw:comment>http://www.blogjava.net/lookis/comments/316403.html</wfw:comment><comments>http://www.blogjava.net/lookis/archive/2010/03/24/316403.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lookis/comments/commentRss/316403.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lookis/services/trackbacks/316403.html</trackback:ping><description><![CDATA[　　由于时间关系，这一次的培训计划有变，把JVM调试单独出来做为一节课，另外新加入课程，预计都是下周给新人们上课
<br>文章来源:<a href='http://lookis.me/?p=38'>http://lookis.me/?p=38</a><img src ="http://www.blogjava.net/lookis/aggbug/316403.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lookis/" target="_blank">Lookis</a> 2010-03-24 10:18 <a href="http://www.blogjava.net/lookis/archive/2010/03/24/316403.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]JVM的理解（GC部分）</title><link>http://www.blogjava.net/lookis/archive/2010/03/24/316404.html</link><dc:creator>Lookis</dc:creator><author>Lookis</author><pubDate>Wed, 24 Mar 2010 02:18:00 GMT</pubDate><guid>http://www.blogjava.net/lookis/archive/2010/03/24/316404.html</guid><wfw:comment>http://www.blogjava.net/lookis/comments/316404.html</wfw:comment><comments>http://www.blogjava.net/lookis/archive/2010/03/24/316404.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lookis/comments/commentRss/316404.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lookis/services/trackbacks/316404.html</trackback:ping><description><![CDATA[内容稍微变化了一点，主要讲解JVM中GC相关的部分
PPT:JVM_GC.pdf
示例源码：src_jvm_gc.rar
讲稿：
==========
GC
1.什么是GC：
1)释放不再使用的内存对象以回收内存空间
2)压缩内存碎片
2.为什么要让JVM做GC，而不是程序员来做？
1)把开发人员从管理内存中解放出来，提高生产率
2)安全角度考虑，不会由于失误/故意错误释放内存带来潜在的安全问题
3)弊端：额外地占用CPU，且对于程序员来说&#8221;难于&#8221;控制
引用计数收集器：
start:当创建对象，并且指向该对象的引用被分配给一个变量，这个对象的引用计数被置为1
其他变量被赋值为对这个对象引用时，i++
一个对象引用超过生存期或者被设置成一个新值时,i&#8211;
计数为0的对象就可以被收集
当收集的时候，该对象所引用的对象计数i&#8211;
优点:速度快，交织在程序运行之中
缺点:无法检测出循环引用
跟踪收集器：
从根结点开始跟踪，对所有跟踪到的对象以某种方式(和实现有关)打上标记，跟踪结束时，就可以对没打上标记的对象实现收集
优点:可以回收循环引用
缺点:回收的时候长时间独占CPU
问题：什么是根结点
根结点：
和实现有关：总的来说有以下几个方面：
1.局部变量，操作数栈(参数)
2.常量池中对象：字符串，类名，接口名&#8230;
3.JNI调用，没有被释放的
压缩收集器：
把标记为活动的对象从原来的区域越过空闲区移动到堆的另一端
问题：更新移动的对象要更新所有的指针（以用于清理）
解决：有些JVM实现做了一层 间接对象引用层 （不完美，每次取对象都要多一个步骤）
拷贝收集器：
有两个内存区域
把标记为活动的对象从原来的区域拷贝到另一个区域
同一时间只有一个区域在使用
优点：在使用的时候才更新指针
缺点：内存使用率降低
finalize
时机：对象被回收时
流程：收集器第一遍扫描出不再被引用的对象
调用他们的finalize方法，此时程序员可以实现finalize方法做清理工作，可以复活这个对象
收集器第二遍扫描，只扫描不再被引用的对象，对没复活的对象做清理
jdk1.2以前：可触及，可复活，不可触及
可触及：从根结点开始跟踪可以触及到
可复活：从根结点跟踪不可触及，但在自己或者别人的finalize方法里重新使该对象可触及
不可触及：finalize方法后也不可触及
jdk1.2以后：软引用，弱引用，影子引用
软引用：做cache
弱引用，做映射:初始化实例时默认配置，配置修改时可以通知，如果实例已经不再使用，就不通知
影子引用：处理收集时的后续操作，类比finalize,初始化时要增加一个ReferenceQueue队列参数
==========
<br>文章来源:<a href='http://lookis.me/?p=32'>http://lookis.me/?p=32</a><img src ="http://www.blogjava.net/lookis/aggbug/316404.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lookis/" target="_blank">Lookis</a> 2010-03-24 10:18 <a href="http://www.blogjava.net/lookis/archive/2010/03/24/316404.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]预告：JVM的理解以及调试</title><link>http://www.blogjava.net/lookis/archive/2010/03/15/315503.html</link><dc:creator>Lookis</dc:creator><author>Lookis</author><pubDate>Mon, 15 Mar 2010 09:16:00 GMT</pubDate><guid>http://www.blogjava.net/lookis/archive/2010/03/15/315503.html</guid><wfw:comment>http://www.blogjava.net/lookis/comments/315503.html</wfw:comment><comments>http://www.blogjava.net/lookis/archive/2010/03/15/315503.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lookis/comments/commentRss/315503.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lookis/services/trackbacks/315503.html</trackback:ping><description><![CDATA[　　最近公司来了些新人，都是本科生，要为他们准备讲解一下JVM的东西，计划主题有三：JVMGC原理与内存参数的调整，CPU方面的调试，内存方面的调试，想来新人主要还是有这三块内容需要了解。
<br>文章来源:<a href='http://lookis.me/?p=20'>http://lookis.me/?p=20</a><img src ="http://www.blogjava.net/lookis/aggbug/315503.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lookis/" target="_blank">Lookis</a> 2010-03-15 17:16 <a href="http://www.blogjava.net/lookis/archive/2010/03/15/315503.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]搭建WordPress</title><link>http://www.blogjava.net/lookis/archive/2010/03/15/315504.html</link><dc:creator>Lookis</dc:creator><author>Lookis</author><pubDate>Mon, 15 Mar 2010 09:16:00 GMT</pubDate><guid>http://www.blogjava.net/lookis/archive/2010/03/15/315504.html</guid><wfw:comment>http://www.blogjava.net/lookis/comments/315504.html</wfw:comment><comments>http://www.blogjava.net/lookis/archive/2010/03/15/315504.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lookis/comments/commentRss/315504.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lookis/services/trackbacks/315504.html</trackback:ping><description><![CDATA[　　前两天心情不好，邻居由于家里来人了，要把住的屋子收回&#8230;没办法，又要找新的房子了，唉，要能有自己的房子多好..来网上搭一间小楼吧，于是这个blog就诞生了。
　　空间：ramhost.us里最最便宜的一档,3美刀/月，双核CPU，128MB内存，硬盘空间2G，流量50G。这个空间我盯它好久了，本来想是在Google.com离开中国的时候去买来当VPN来翻墙用的，谁知道Google又不出去了……没办法，不等他了。
　　域名：godaddy.com里选来选去，发现lookis.com已经被买走好些年了..到期还有很久，.info的域名挺便宜，不过实在不好看不好记，概然这个地方是给我自己的博客，那就选个.me好了，来介绍介绍自己，也记录一下自己工作之后的成长，以后也可以子孙后代留下个好听的域名
　　搭建过程一波三折啊，本以为搭个WordPress很简单，实际上也是很简单，说白了就是装个mysql，装个php，装个nginx，把wp的代码拷到对应的html目录下就可以开启了，可是我这空间是128MB的空间&#8230;一进空间就看已经被占用了5MB，装完了mysql后就迅速被用到了100MB……上个php+nginx，万幸没占用多大，最后一上WP，后台立刻报错……怎么办？
　　开始各种精简，首先把mysql用最小占用来安装，用掉90MB，wp的最大内存空间改到16MB，服务器起……不来……
　　开始删服务器原来自带的服务，最后就留下了sshd，还是起不来……郁闷……
　　突然发现可以用pdo_sqlite来当DB&#8230;反正我的流量也不大，就用sqlite好了，php的插件也不装了，省点是点，瞬间就腾出了90MB内存，看来也不用向ramhost升级空间了，世界多美好。配置好了pdo_sqlite一起……还是起不来……说配置里没有pdo_sqlite，我就郁闷，查了好半天配置都正确啊……最后发现是少了pdo_sqlite.so库……以前没接触过php，从pacman的源里怎么都找不到sqlite，后来是从我的ubuntu里用新立得发现pdo_sqlite是在php-sqlite里的，瞬间装上，全部搞定，服务一切正常，于是就有了这个Blog。
　　回到家，唉，又郁闷了，还是要找房啊……
<br>文章来源:<a href='http://lookis.me/?p=10'>http://lookis.me/?p=10</a><img src ="http://www.blogjava.net/lookis/aggbug/315504.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lookis/" target="_blank">Lookis</a> 2010-03-15 17:16 <a href="http://www.blogjava.net/lookis/archive/2010/03/15/315504.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>