- 博客(5)
- 收藏
- 关注
原创 IO模型碎碎念
IO相关概念同步和异步同步:发出一个调用后,在没有得到结果之前,该调用就不会返回。当调用返回时,就能得到返回结果。(调用者主动等待结果)异步:发出一个调用后,这个调用就返回了,没有返回结果。(调用者被动等待结果,会得到通知)阻塞与非阻塞阻塞:某个请求发出后,如果不满足请求需要的条件,那么就会一只等待,直到满足条件。非阻塞:某个请求发出后,如果不满足请求需要的条件,则...
2018-07-23 01:30:05 328
原创 浅析Cglib动态代理
介绍我们知道JDK动态代理只能代理实现了接口的类,没有实现接口的类是无法通过JDK来代理的。 Cglib是针对类来实现代理的,它的原理是对指定的目标类生成一个子类,这个子类覆盖目标类的方法并在其中实现方法的增强。因为采用了继承和重写,因此不能对final的类、final方法进行代理。Cglib底层其实是借助了ASM这个非常强大的Java字节码生成框架,它可以在运行时对字节码进行修改或...
2018-07-22 10:40:16 620
原创 多线程经典实例(二)
上一篇文章多线程经典实例(一) 讲到了几个多线程相关的例子,接下来我们来看一个经典的案例:生产者消费者问题。介绍生产者消费者问题是多线程中的一个经典问题,问题大概就是有一块缓冲区作为仓库,当仓库未满时生产者可以将产品放入仓库,当仓库未空时消费者可以从仓库取走产品。解决这个问题的核心就是处理好多线程之间的同步与协作。生产者消费者的实现方式通常有以下几种方式来实现生产者与消费者...
2018-07-21 14:23:27 384
原创 多线程经典实例(一)
在多线程的学习当中,有许多经典的例子值得学习,比如售票窗口、线程交替执行、生产者消费者等。下面就来看两个有关线程交替执行的案例。两个线程轮流打印数字这里采用 wait/notify 等待通知和 Lock/Condition 两种方式实现。wait()/notify()实现简单介绍一下wait/notify机制的几个方法。 以下4个方法都必须在获取了锁的情况下才能调用: ...
2018-07-20 21:10:44 5484 1
原创 深入浅出 ThreadLocal 的实现原理
ThreadLocal的简介ThreadLocal称为线程局部变量。在每个线程中都有自己独立的ThreadLocal变量。 每个线程中可有多个threadLocal变量。ThreadLocal的用法public class ThreadLocalDemo { private static ThreadLocal<Integer> threadLocal1...
2018-07-14 17:38:30 326
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人