Linux I/O模型与Java NIO

I/O 即Input与Output,包含了文件的读写或者是网络的I/O。在Linux/Unix中有五种I/O模型:

  • blocking I/O
  • nonblocking I/O
  • I/O multiplexing (select and poll)
  • signal driven I/O (SIGIO)
  • asynchronous I/O (the POSIX aio_functions)

Java 从Java SE 1.4开始引入NIO,在Java 7推出了NIO 2。那么,不同的IO模型之间具体有什么差异,又该如何使用呢? [阅读更多...]

Redis实现分布式锁

Redis一个比较重要的应用场景就是分布式锁DLM (Distributed Lock Manager)。实际上已经有很多现成的redis库来完成这个功能了,但是可能实现途径有所差别,那么,正确的做法是什么呢?Redis官方建议了一个算法叫做Redlock,可以将其作为起点去实现更复杂的方案,来研究一下它的思路。

[阅读更多...]