Log4J 控制台和文件输出乱码问题解决
一个小问题,却让我感觉到,现在真正动脑的人很少。。我来说说吧。 今天遇到一个小问题,log4j输出到文件乱码,控制台正常。显然是编码问题导致。Google一搜,几乎一水的说: 项目中log4j在英文版linux下输出中文日志为乱码。由于log4j配置文件中没有设置编码格式(encoding),所以log4j就使用系统默认编码。导致乱码。解决方法是设置编码格式UTF-8,方法为: ...
一个小问题,却让我感觉到,现在真正动脑的人很少。。我来说说吧。 今天遇到一个小问题,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文件。文件多时十分繁琐。网上看到别人的解决方案也有利用命令行命令,匹配文件扩展名批...
关于”白话”, 偶然想到的词。目的就是用简洁,明快的语言来告诉您,我所知道的一切。 Java中的线程分两类,用户线程和守护线程。 Thread commonThread = new Thread("Common Thread"); 这样就是用户线程。 Thread daemonThread = new Thread("Daemon Thread"); daemonThread.se...
介绍完libvirt Java API的部署工作,接下来我们就介绍一下接口的使用和代码样例。 libvirt的管理单位是单个主机,所以探测和监控接口所能获取的信息的最大范围也是主机。所以先从主机入手,验证libvirt接口。主机(libvirt所在管理节点)探测相关接口验证代码如下: @Before public void init() { System.setPropert...