Java Web项目中的动态log4j日志

静态的log4j.properties配置文件

一般Java Web项目中我们都配置log4j.properties文件并配合使用slf4j的Logger接口(出于简洁性和性能不建议使用log4j的Logger接口)来记录日志,常用的日志级别优先级从高到低分别是ERROR、WARN、INFO、DEBUG;而通常为了减少服务器输出过多日志导致的性能损耗,一般线上配置的日志级别都是为WARN或者ERROR,例如常见的log4j.properties配置如下:

Published: 2017-02-23 Category: Java Comment: (0) Like: (0)

雅虎前端优化14条军规——HTML5游戏实践

14条让网站加速的“黄金法则”

赫赫有名的雅虎前端优化14条军规其实早在2007年就被雅虎首席性能工程师Steve Souders总结成书并由著名的计算机书籍出版商O'Reilly出版——《High Performance Web Sites》(中译版《高性能网站建设指南》则是在2008年由电子工业出版社出版),这里记录下自己在真实的线上项目中如何根据情况去实施这些军规,即作为个人总结也作抛砖引玉之用

Published: 2016-09-24 Category: 技术 Comment: (0) Like: (0)

Netty-SocketIO整合Redisson

Published: 2016-05-21 Category: Java Comment: (0) Like: (0)

Cocos2d-JS/Ajax用Protobuf与NodeJS/Java通信

Google的Protobuf

Protobuf全称为“Protocol Buffers”,是Google开源出来的一个序列化协议并配备多种编程语言的实现(Java、C、C++、Python等,甚至JavaScript、ActionScript都有对应的实现),其本质是按照协议规范编写proto文件,该proto文件内容由若干个message消息体组成,而message消息体是由编程语言中常用的数据类型(int、long、String等)对应的Protobuf字段类型组合而成的,Protobuf的作用是可以帮你把定义好的message消息体按协议编码(Encode)转为二进制字节流(byte[]),反之亦可帮你把已编码的byte[]字节流再解码(Decode)还原回来。

Published: 2016-04-29 Category: JavaScript, Java Comment: (0) Like: (0)

大型网站技术架构

《大型网站技术架构》读书笔记

这里给《大型网站技术架构》预留个读书笔记位置,记录重点以及在工作中遇到的相关实践点,结合书中的原理与工作中的实践做一个总结

Published: 2015-12-16 Category: 技术 Comment: (0) Like: (0)

提高代码可读性的技巧

为什么要提高代码可读性

Bob大叔在《代码整洁之道》(英文版《Clean Code》)提到过他曾做过一个类似竞技游戏(魔兽、Dota、LOL等)中“第一视角”的视频,去查看自己编码工作时到底大部分时间都在做什么,结果发现自己80%(甚至更多)的时间都是在屏幕相关代码类、代码行之间跳来跳去的观看并理解代码所做的事情,只有20%的时间是动手编码,即二八原则在此处依旧成立。

Published: 2015-12-15 Category: 重构 Comment: (0) Like: (0)

Scalable IO in Java——多Reactor的代码实现

Java高伸缩性IO处理

Doug Lea大神的经典NIO框架文章《Scalable IO in Java》中,具体阐述了如何把Reactor模式和Java NIO整合起来,一步步理论结合Java代码实践去构建了一套高伸缩性的网络处理框架雏形,从当今的流行NIO框架(NettyMainGrizzly)中无不看到其本质均与该文章所述架构不谋而合(或者也可以说其实是借鉴并以现代化的方式实现了Doug Lea的思想吧),这里总结《Scalable IO in Java》中的要点并记录下自己实现多Reactor的过程中遇到的坑

Published: 2015-12-05 Category: Java Comment: (0) Like: (0)

win7本地安装jekyll最新版3.0.1的问题与解决

Published: 2015-12-02 Category: 技术 Comment: (0) Like: (0)