不得不说的Reactor模式
提到Netty,就必须先说一下Reactor模式,源头应该是Doug Lea大神(学java的如果不知道这位神的请自己反思一下……)的Scalable IO in Java
所提出的Multiple Reactors
模式,参见下图
如果想知道为何出现Reactor模式,需要将IO发展过程,都说一下可能才会比较清晰,此处就不一一展开,有兴趣的童鞋可以参考这篇帖子: Continue reading »
提到Netty,就必须先说一下Reactor模式,源头应该是Doug Lea大神(学java的如果不知道这位神的请自己反思一下……)的Scalable IO in Java
所提出的Multiple Reactors
模式,参见下图
如果想知道为何出现Reactor模式,需要将IO发展过程,都说一下可能才会比较清晰,此处就不一一展开,有兴趣的童鞋可以参考这篇帖子: Continue reading »
以jar包方式部署系统,想读取resource或是template下面的文件时,报 File Not Found
我遇到的情况是,整个项目达成了一个包,在开发环境(windows + idea)读取文件没问题,但在预发布环境(centos, 打成一个jar部署),则报错。
使用
jar -xvf xxx.jar
命令解压jar后,大体结构如下:
BOOT-INF
META-INF
org
...
继续往下找可以找到我想要读取的资源文件,说明打包正常,那只能说明:
以jar形式部署后,采用一般的java 读取文件的API接口,可能无法从jar包直接读取到文件。 Continue reading »
目前看到的有两种方式:
满足一般需要,但如果文件后缀被手工修改,则可能判断错误。
JDK中已经提供了现成的接口用于根据文件名判断: Continue reading »
开发时遇到过的UTF8文件有BOM头、导致文件不能正常解析这问题,BOM是什么这个问题请参考如下地址:
https://en.wikipedia.org/wiki/Byte_order_mark
UTF8 与 UTF8 +BOM 区别
其实就是在文件头部的3个字节:EF BB BF,而且是不可见的,可以用于标示字节编码顺序(Big-Endian/Little- Endian),UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。Windows就是使用BOM来标记文本文件的编码方式的。此处整理一下移除BOM头的方法: Continue reading »