`
jimmee
  • 浏览: 540736 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
主要的几个类说明: 1. Call,表示一次rpc的调用请求 2. Connection,表示一个client与server之间的连接,一个连接一个线程启动 3. ConnectionId:连接的标记(包括server地址,协议,其他一些连接的配置项信息) 4. ParallelCall:实现并行调用的请求 5. ParallelResults:并行调用的执行结果 执行逻辑: 1 . 当要执行一个调用时,将call放到connectin的map中;同时将请求发送到connection的输出流中,之后返回,并不一直持有connection并等待结果,所以是异步的处理过程; 2. connect ...
    首先谈谈rpc的实现方式。     就底层实现方式来说,有同步和异步两种方式:     1. 同步调用:client发送一次rpc请求到server,在server返回结果之前,在client和server之间建立的connection一直被本次调用hold住,如果有其他的 ...
1. 对get参数的处理, 可以看到 (1) org.apache.catalina.connector.Request中getParameter, (2) org.apache.tomcat.util.http.Parameters的handleQueryParameters 最后添加参数时一句代码: addParam( urlDecode(tmpName, enc), urlDecode(tmpValue, enc) ); 所以说,进行了url解码了,但是指定的字符集enc还需要正确才能正确的处理get参数 2. 对header的处理 org.apache.coyote.http11. ...
今天犯了一个弱智的错误,我使用java.net.HttpURLConnection从网络上读取输入, 由于我没有预览判断返回给我的数据的内容编码格式,导致了我读取数据时出错。 我就直接当作普通的InputStream来读取,但是实际上返回的内容可能是gzip压缩过的。。。 所以需要先调用getContentEncoding来判断是否是“gzip”的压缩格式,再使用GZIPInputStream来包装读取才不会出错。
先不论自己将来准备做什么,但是定期把自己已经做过的东西写到博客上,我想,这应该算是一种积累工作吧,否则将来也回慢慢忘了。
工作快2年,感觉自己活得越来越糊涂,项目是接着一个一个的做,感觉自己完完全全的成为了一个coder,一个码农,这个是悲哀,毫无竞争优势而言。 从技术上而言,现在自己会一些杂项: 1. 编程语言:java,c,python,同时熟练shell,前端对javascript也掌握得还行 2. 做过的东西:       (1)企业信息信息系统类(就是使用java+oracle做过一些项目),这类项目的感受是行业经验更重要,有人脉最重要,如果自己单干的话,能接到项目干活也应该不错;    (2)前端界面的开发: 再extjs刚出来时,使用extjs做了一年的前台开发(当然后台也是自己做的);    ...
ECLIPSE CDT,Launch failed, Binary not found问题解决: 1. windows Window->Preferences->C/C++->New CDT project wizard->Makefile Project 找到 Binary Parser 取消 Elf Parser 改选 PE Windows Parser。 2. linux Window->Preferences->C/C++->New CDT project wizard->Makefile Project 找到 Binary Pa ...
最近抽空看了一下python这个动态语言,简单的做一下笔记 1. 比较值相等用“==”,比较是否是同一个对象使用is 2. 字符串前面加r关闭转义机制,例如 myfile = open(r'c:\new\text.dat','w'); 3. 三重引号编写多行字符串; 4. 字符串对操作符有重载,+号和*号,但是注意的,+号两边都必须是字符串,例如‘abc'+9时错误的。 5. python中真值测试 (1) 任何非零数字或非空对象都为真 (2) 数字零、空对象以及特殊对象None都被认作是假 (3) 比较和相等测试会递归地应用在数据结构中 (4) 比较和相等测试会返回True后Fals ...
刚换了一个无线路由器,之后无线上网,居然总是掉线,在网上查了n多,也没有一个解决的。后来发现是无线网络的“安全类型”设置不对,我重新选择以后,就不再掉线了。
准备使用netty, 除了基本使用, 也开始熟读了一下netty的源码, 越看越觉得netty源码写得很好, 就是一种享受,哈哈. 之后准备写一下文章记录一下.

common-pool的使用

    博客分类:
  • J2SE
使用common-pool, 这里使用GenericKeyedObjectPool GenericKeyedObjectPool类在org.apache.commons.pool.impl包中,构造函数如下: public GenericObjectPool(org.apache.commons.pool.KeyedPoolableObjectFactory , int ,byte ,long , boolean ,boolean ) 由构造函数的定义可以看出,要想使用GenericKeyedObjectPool,必须要实现Keyed ...
写了很多关于同步处理的代码,但是发现代码一写多,容易将一些本质的东西遗忘掉,也容易将一些简单的东西复杂化,因此,最近准备重新看一下同步处理的代码,结合《java并发编程实践》重新整理一下并发的知识。 1. 并发同步问题的本质    就是对共享可变的状态(具体来说,就是实例变量或静态变量)是多线程操作的,这个时候需要正确的处理同步问题。所以是否存在同步问题,根据这个去分析一下就可以了。 2. 并发同步问题的处理:     原则一: 使用封装技术,将同步问题的处理尽可能封装到一个类中,创建线程安全的类。曾经在一个项目处理同步问题时,将显示锁暴露出来,导致同步代码散落在很多地方,这样不仅容易 ...
1. 一般在服务器端和客户端建立长连接时会遇到这种情况; 2. 主要原因是服务器端的Socket的超时时间设置过短,导致连接已经关闭,这个时候客户端再用原来的Socket连接进行操作,则会发生上面的异常。 3. 服务器端的Socket超时时间设置长一些,客户端根据需要设置适合的超时时间。
String contentType = ...; try { filename = MimeUtility.encodeText(filename, "UTF-8", "B"); } catch (UnsupportedEncodingException e) { // ingore } response.setContentType(contentType); response.setHeader("Content-disposition"," ...
   最近看了一下rfc822,rfc2045系列email相关的标准以及http的rfc文档,email的rfc822等描述电子邮件本身的数据格式,http的协议描述了http交互的协议,但是仅仅看数据这一层而言,都是类似的。描述一份数据,需要先有这份数据的描述 (就是元数据),之后才是具体的数据,这才形成了一个标准(或者协议)。    一般的数据的描述就是数据的头信息,而且是key-value对。之后才发送数据。总而言之,其实程序在处理数据时,要先了解要处理的数据的标准的是怎样的,之后再编码,处理业务逻辑,考虑存储问题。会看api其实只是熟练coding而已,如果不了解api是处理什么用的 ...
Global site tag (gtag.js) - Google Analytics