- 浏览: 540736 次
- 性别:
- 来自: 杭州
最新评论
-
GGGGeek:
看完了博主的博文,如果没猜错的话应该是浙大吧?很多优秀的人因为 ...
转《D君的故事》 以时刻警示自己 -
游牧民族:
楼主写的不错,学习了,最近对爬虫比较感兴趣,也写了些爬虫相关的 ...
通用爬虫框架及heritrix爬虫介绍 -
jimmee:
jerome_s 写道ice 你怎么看? 粗略的看了一下ice ...
MessagePack, Protocol Buffers和Thrift序列化框架原理和比较说明 -
jerome_s:
ice 你怎么看?
MessagePack, Protocol Buffers和Thrift序列化框架原理和比较说明 -
jimmee:
nk_tocean 写道照着做了,但是不行啊,还是乱码.先确认 ...
hive编写udf处理非utf-8数据
文章列表
hadoop_rpc调用之client(2)
- 博客分类:
- hadoop
主要的几个类说明:
1. Call,表示一次rpc的调用请求
2. Connection,表示一个client与server之间的连接,一个连接一个线程启动
3. ConnectionId:连接的标记(包括server地址,协议,其他一些连接的配置项信息)
4. ParallelCall:实现并行调用的请求
5. ParallelResults:并行调用的执行结果
执行逻辑:
1
. 当要执行一个调用时,将call放到connectin的map中;同时将请求发送到connection的输出流中,之后返回,并不一直持有connection并等待结果,所以是异步的处理过程;
2. connect ...
hadoop_rpc调用(1)
- 博客分类:
- hadoop
首先谈谈rpc的实现方式。
就底层实现方式来说,有同步和异步两种方式:
1. 同步调用:client发送一次rpc请求到server,在server返回结果之前,在client和server之间建立的connection一直被本次调用hold住,如果有其他的 ...
tomcat对get参数和header的处理
- 博客分类:
- J2SE
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来包装读取才不会出错。
先不论自己将来准备做什么,但是定期把自己已经做过的东西写到博客上,我想,这应该算是一种积累工作吧,否则将来也回慢慢忘了。
- 2011-08-28 10:05
- 浏览 912
- 评论(0)
工作快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源码就是一种享受啊
- 博客分类:
- J2SE
准备使用netty, 除了基本使用, 也开始熟读了一下netty的源码, 越看越觉得netty源码写得很好, 就是一种享受,哈哈. 之后准备写一下文章记录一下.
使用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是处理什么用的 ...