Java NIO框架Netty教程(一) - Hello Netty
先啰嗦两句,如果你还不知道Netty是做什么的能做什么。那可以先简单的搜索了解一下。我只能说Netty是一个NIO的框架,可以用于开发分布式的Java程序。具体能做什么,各位可以尽量发挥想象。技术,是服务于人而不是局限住人的。 Netty的简介和下载可参考:开源Java高性能NIO框架推荐。注意,此时的最新版已经为3.5.2.Final。 如果你已经万事具备,那么我们先从一段代码开始。程...
先啰嗦两句,如果你还不知道Netty是做什么的能做什么。那可以先简单的搜索了解一下。我只能说Netty是一个NIO的框架,可以用于开发分布式的Java程序。具体能做什么,各位可以尽量发挥想象。技术,是服务于人而不是局限住人的。 Netty的简介和下载可参考:开源Java高性能NIO框架推荐。注意,此时的最新版已经为3.5.2.Final。 如果你已经万事具备,那么我们先从一段代码开始。程...
转眼间工作两年有余。这两年多,很充实,收获很多。感谢一切帮助我的人。 一直非常喜欢钻研和学习,但是一直觉得自己需要一个明确的方向。否则,会事倍功半。有一本署名是自己的书,一直是我的理想。 昨天,有幸和《Java加密与解密的艺术》的作者snowolf,讨教了一下他出书的经过,很是认可,坚持总结+伯乐认可。不知道,我自己总结的这八个字,wolf兄是否认可。我开博的时候,也考虑过这些,也确实经...
一个小问题,却让我感觉到,现在真正动脑的人很少。。我来说说吧。 今天遇到一个小问题,log4j输出到文件乱码,控制台正常。显然是编码问题导致。Google一搜,几乎一水的说: 项目中log4j在英文版linux下输出中文日志为乱码。由于log4j配置文件中没有设置编码格式(encoding),所以log4j就使用系统默认编码。导致乱码。解决方法是设置编码格式UTF-8,方法为: ...
使用Netty开发分布式框架,对象的传输是基本的需求。但是,在开发中却总遇到服务端接受不到客户端的对象发送数据。遂动手解决。 如果看到最后,你可能会发现,笔者的问题是那么的二,不适合你。。所以,你可以决定不看,或者只看样例代码。笔者记录的是,个人的解决过程。 先看一下官方提供的,对象传输的样例代码:(核心部分) public void run() { // Co...
今天有人提出了代码中一个的NullPointException问题。这类问题,很好解决,找到所在行,一看便知。 但是这次,有点意外。抛异常的行,只是一个简单的Pojo的get、set方法。出错的行在 a.setSize(b.getSize()); 很自然的想到b会为null。但是前面的代码已经用过b了,也就是说,如果b是null。早就抛出空指针了。a是新new的。不会是null。se...
今天遇到一个小问题。在使用apache-commons-codec包进行编码/解码的时候,用到了Base64类的decodeBase64(String base64String)方法,这个方法在1.4版中才提供。而我们的工程中对codec存在两个间接的依赖,一个依赖1.2版本,一个依赖1.4版本,打包后,只有1.2版本,所以会报找不到该方法的错误。 这个问题其实很好解决。在依赖1.2版本的...
本文讲述的是Java中try finally代码块执行顺序,和当其存在于循环中的时候的跳出和执行问题。白话,也要简化,一段代码,来说明问题。 /** * @author OneCoder * @date 2012-6-8 下午9:21:22 * @blog http://www.coderli.com */ public static void main(String[] args...
今天处理一个关于Double.NaN的异常。 Unknown column 'NaN' in 'field list' NaN = Not a Number。就是不是数字。我们用0/0.0打印出来的结果就是NaN。 Double d = 0/0.0; System.out.println(d); JDK的Double类里,提供的NaN的实现是: public static fi...
Maven 批量安装本地 Jar文件到本地Maven库小程序。根据自己的需求临时开发完成。 使用方式: 在config.properties中,配置待安装jar文件的存放路径。 安装时groupId,artifactId,version等信息,根据jar文件的文件名获得。采用分割”-“的方式,解析出来。所以,推荐jar的文件名中含有两个”-“。例如:group-artifact...
最近开发过程中,在更新maven库时,如果网络问不定或者是一些自己手动安装到本地maven库的jar包,在中心库找不到对应的jar,会生成一些.lastUpdated文件,会导致m2e工具无法找到依赖的jar包,从而提示编译错误。 对于该问题,我也没有找到很好的解决方案,只能手动删除一下lastUpdated文件。文件多时十分繁琐。网上看到别人的解决方案也有利用命令行命令,匹配文件扩展名批...