Netty是一个高性能的网络异步框架,本文是对其线程模型的整理
Java异常处理机制
异常是Java中非常常用的功能,它可以简化代码,并且增强代码的安全性。异常处理是指程序不正常时的处理方式。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行流程发生改变,程序的控制权转移到异常处理器。
Redisson分布式锁的实现
前文Redisson简介中我们介绍了Redisson的情况,以及简单的配置与使用。Redisson在Redis的基础上实现了很多有用的功能,本文重点分析其中分布式锁的实现。
Redisson简介
Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括BitSet
, Set
, Multimap
, SortedSet
, Map
, List
, Queue
, BlockingQueue
, Deque
, BlockingDeque
, Semaphore
, Lock
, AtomicLong
, CountDownLatch
, Publish/Subscribe
, Bloom filter
, Remote service
, Spring cache
, Executor service
, Live Object service
, Scheduler service
。Redisson提供了使用Redis的最简单和最便捷的方法。
Callable、Future、FutureTask原理
我们知道,创建线程有两种方式:一种是直接继承Thread,另外一种是实现Runnable接口。这两种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。
从Java 1.5开始,提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。