posts - 5,  comments - 2,  trackbacks - 0
前言:   现在的主要工作是给出公司的SOA解决方案,在通讯层选用netty的NIO框架,通讯协议使用Google最新的SPDY协议草案2,苦于没有中文版本的SPDY,对英文的理解实在有些偏差,在架构组几个人各自看了英文版本的SPDY后,互相讨论,现在通讯层快完工,在此总结一下SPDY协议,也为SPDY做些贡献。对于我这样不是专业的翻译人员来说,翻译的工作量是巨大的,希望各位看官能别着急,能留个言就是对我最大的支持,欢迎转载,但请保留原文链接,我会随着以后的翻译不断斟酌每个词的使用,不断更新已有的翻译,多谢。 SPDY 协议 – 草案 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
文章来源:http://lookis.me/?p=50
posted @ 2010-03-24 10:18 Lookis 阅读(465) | 评论 (2)编辑 收藏
  由于时间关系,这一次的培训计划有变,把JVM调试单独出来做为一节课,另外新加入课程,预计都是下周给新人们上课
文章来源:http://lookis.me/?p=38
posted @ 2010-03-24 10:18 Lookis 阅读(175) | 评论 (0)编辑 收藏
内容稍微变化了一点,主要讲解JVM中GC相关的部分 PPT:JVM_GC.pdf 示例源码:src_jvm_gc.rar 讲稿: ========== GC 1.什么是GC: 1)释放不再使用的内存对象以回收内存空间 2)压缩内存碎片 2.为什么要让JVM做GC,而不是程序员来做? 1)把开发人员从管理内存中解放出来,提高生产率 2)安全角度考虑,不会由于失误/故意错误释放内存带来潜在的安全问题 3)弊端:额外地占用CPU,且对于程序员来说”难于”控制 引用计数收集器: start:当创建对象,并且指向该对象的引用被分配给一个变量,这个对象的引用计数被置为1 其他变量被赋值为对这个对象引用时,i++ 一个对象引用超过生存期或者被设置成一个新值时,i– 计数为0的对象就可以被收集 当收集的时候,该对象所引用的对象计数i– 优点:速度快,交织在程序运行之中 缺点:无法检测出循环引用 跟踪收集器: 从根结点开始跟踪,对所有跟踪到的对象以某种方式(和实现有关)打上标记,跟踪结束时,就可以对没打上标记的对象实现收集 优点:可以回收循环引用 缺点:回收的时候长时间独占CPU 问题:什么是根结点 根结点: 和实现有关:总的来说有以下几个方面: 1.局部变量,操作数栈(参数) 2.常量池中对象:字符串,类名,接口名… 3.JNI调用,没有被释放的 压缩收集器: 把标记为活动的对象从原来的区域越过空闲区移动到堆的另一端 问题:更新移动的对象要更新所有的指针(以用于清理) 解决:有些JVM实现做了一层 间接对象引用层 (不完美,每次取对象都要多一个步骤) 拷贝收集器: 有两个内存区域 把标记为活动的对象从原来的区域拷贝到另一个区域 同一时间只有一个区域在使用 优点:在使用的时候才更新指针 缺点:内存使用率降低 finalize 时机:对象被回收时 流程:收集器第一遍扫描出不再被引用的对象 调用他们的finalize方法,此时程序员可以实现finalize方法做清理工作,可以复活这个对象 收集器第二遍扫描,只扫描不再被引用的对象,对没复活的对象做清理 jdk1.2以前:可触及,可复活,不可触及 可触及:从根结点开始跟踪可以触及到 可复活:从根结点跟踪不可触及,但在自己或者别人的finalize方法里重新使该对象可触及 不可触及:finalize方法后也不可触及 jdk1.2以后:软引用,弱引用,影子引用 软引用:做cache 弱引用,做映射:初始化实例时默认配置,配置修改时可以通知,如果实例已经不再使用,就不通知 影子引用:处理收集时的后续操作,类比finalize,初始化时要增加一个ReferenceQueue队列参数 ==========
文章来源:http://lookis.me/?p=32
posted @ 2010-03-24 10:18 Lookis 阅读(186) | 评论 (0)编辑 收藏
  最近公司来了些新人,都是本科生,要为他们准备讲解一下JVM的东西,计划主题有三:JVMGC原理与内存参数的调整,CPU方面的调试,内存方面的调试,想来新人主要还是有这三块内容需要了解。
文章来源:http://lookis.me/?p=20
posted @ 2010-03-15 17:16 Lookis 阅读(149) | 评论 (0)编辑 收藏
  前两天心情不好,邻居由于家里来人了,要把住的屋子收回…没办法,又要找新的房子了,唉,要能有自己的房子多好..来网上搭一间小楼吧,于是这个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的空间…一进空间就看已经被占用了5MB,装完了mysql后就迅速被用到了100MB……上个php+nginx,万幸没占用多大,最后一上WP,后台立刻报错……怎么办?   开始各种精简,首先把mysql用最小占用来安装,用掉90MB,wp的最大内存空间改到16MB,服务器起……不来……   开始删服务器原来自带的服务,最后就留下了sshd,还是起不来……郁闷……   突然发现可以用pdo_sqlite来当DB…反正我的流量也不大,就用sqlite好了,php的插件也不装了,省点是点,瞬间就腾出了90MB内存,看来也不用向ramhost升级空间了,世界多美好。配置好了pdo_sqlite一起……还是起不来……说配置里没有pdo_sqlite,我就郁闷,查了好半天配置都正确啊……最后发现是少了pdo_sqlite.so库……以前没接触过php,从pacman的源里怎么都找不到sqlite,后来是从我的ubuntu里用新立得发现pdo_sqlite是在php-sqlite里的,瞬间装上,全部搞定,服务一切正常,于是就有了这个Blog。   回到家,唉,又郁闷了,还是要找房啊……
文章来源:http://lookis.me/?p=10
posted @ 2010-03-15 17:16 Lookis 阅读(206) | 评论 (0)编辑 收藏
仅列出标题  

<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜