Essviv

Dare to be different


  • 首页

  • 归档

等待通知机制

发表于 2016-12-06 |
等待通知机制notify, notifyAll, wait这三个方法构成了java的等待通知机制的核心,它们主要是用于线程间通信时使用. 使用这三个方法的前提是当前线程必须拥有对象的锁 wait: 当前线程进入等待状态,直到其它线程调用了对象的notify或者notifyAll方法 notify: ...
阅读全文 »

Executors

发表于 2016-12-03 |
ExecutorsExecutors是并发包中提供的工具类,它可以用来创建以下这些对象: ExecutorService ScheduledExecutorService ThreadFactory Callable 1. Executor接口首先先来看看并发包中的Executor接口的 ...
阅读全文 »

netty源码学习系列-----eventLoop

发表于 2016-12-02 |
netty源码学习系列—–eventLoopnetty是如何实现对于某个channel的IO事件,交由同一个线程去处理?channel持有一个eventloop,后续所有的操作都会交由这个eventllop操作,具体是在每个操作前,判断一下当前的执行线程是不是eventloop,如果是,直接执行,如 ...
阅读全文 »

netty源码学习系列----channelHandler

发表于 2016-12-02 |
netty源码学习系列—-channelHandlerCodec FieldLengthBasedFrameDecoder
阅读全文 »

责任链模式

发表于 2016-12-01 |
责任链模式责任链模式由两个重要组件组成,请求(指令的产生者)以及处理器(指令的处理者)。 这个模式在很多常用的框架中都可以找到踪迹,比如netty的channelHandler, Spring Security中的Filter等等。 简单来讲,请求产生后会在处理器链中按一定的顺序传播,每个处理器的 ...
阅读全文 »

状态模式

发表于 2016-11-29 |
状态模式在学习nio编程的时候,遇到需要在不同的状态间进行转换,程序也需要根据不同的状态作不同的处理,搜了下相应的设计模式,果然发现有种叫”状态模式“的非常符合自己的需要,简单地做个记录 按照惯例,还是先上UML图,从图中可以看出, 状态模式有两个重要的组成部分,一个是上下文,也就是维护状态的地方; ...
阅读全文 »

spring-test

发表于 2016-11-25 |
spring-test使用spring进行单元测试使用spring对代码进行 单元测试 时, 同其它的pojo进行单元测试是一样的,不过spring对单元测试提供了一些工具类来帮助用户更方便地进行单元测试. ReflectionTestUtils: 反射相关的系列工具方法类, 可以用于改变常量 ...
阅读全文 »

netty总览图-核心组件

发表于 2016-11-22 |
netty总览图-核心组件netty核心概念关系图 Bytebuf: 对java nio中ByteBuffer的抽象 每个Channel代表了一种能够用于IO操作的实体,例如socket, 文件等等 每个channel都有一个pipeline, pipeline的作用是处于和这个channel相 ...
阅读全文 »

Runnable, Callable, Future, FutureTask的区别

发表于 2016-11-22 |
Runnable, Callable, Future, FutureTask的区别 Runnable是thread用来执行时指定的对象,它只包含有一个方法,run方法,这个方法没有返回值,且不会抛出异常信息. Callable和runnable一样,都是executor用来执行时指定的对象,它也包 ...
阅读全文 »

IO中的阻塞、非阻塞、同步和异步的区别

发表于 2016-11-22 |
IO中的阻塞、非阻塞、同步和异步的区别IO相关概念 阻塞:在发起IO操作之后,线程被阻塞,直到相应的IO操作完成才会返回 非阻塞: 在发起IO操作之后,线程不会被阻塞并且立即返回 同步: 在发起IO操作之后,在没有得到结果之前,调用都不会返回(注意,这里不返回不代表就一定阻塞了,应用也可以处于非 ...
阅读全文 »
1…456…15
Essviv

Essviv

145 日志
27 标签
GitHub
© 2017 Essviv
由 Hexo 强力驱动
主题 - NexT.Mist