Java日志框架
作为一个Java程序员,肯定离不开日志框架,现在最优秀的Java日志框架是Log4j2,没有之一。根据官方的测试表明,在多线程环境下,Log4j2的异步日志表现更加优秀。在异步日志中,Log4j2使用独立的线程去执行I/O操作,可以极大地提升应用程序的性能。
在官方的测试中,下图比较了Sync、Async Appenders和Loggers all async三者的性能。其中Loggers all async表现最为出色,而且线程数越多,Loggers all async性能越好。
除了对Log4j2自身的不同模式做对比以外,官方还做了Log4j2/Log4j1/Logback的对比,如下图所示
其继续阅读 »
在 JavaScript 中处理异步和回调就是家常便饭,我们通常会面对这样一些问题:
1. 如何优雅滴组织我们的回调代码
2. 对异步函数错误处理的最佳实践是什么
3. 异步嵌套问题
4. 怎样使我们的代码可读性和可维护性更高
Programs are meant to be read by humans and only incidentally for computers to execute. 程序是给人读的,只是顺带让计算机执行一下。 ——《编写可维护的JavaScript》@Donald Knuth
当然,最常见也是最简单的处理方式就是,直接将回调函数或错误处理函数作为异步函数的参数,在异步函数返回时进行相应的调用,这继续阅读 »