- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 ReentrantLock原理探究(一)
前言ReentrantLock类是synchronized语义的替代品,可以实现与其相同的功能,了解其实现原理对并发编程无疑是很有帮助的。其次,ReentrantLock 的实现基础AQS(AbstractQueuedSynchronizer)也是java并发编程中相当重要的一个类,所以无论如何,我们都要了解一番。
2017-05-21 10:16:32 1184 3
原创 ReentrantLock原理探究(二)
前言上篇ReentrantLock原理探究(一)介绍了ReentrantLock类的使用说明,详细解析了关于非公平锁的lock()过程。这篇我们继续分析。
2017-05-24 12:42:10 718
原创 java代理模式与JDK代理解析
前言代理模式是很常用的设计模式之一,一般可分为静态代理和动态代理两类。java利用反射也对动态代理提供了支持。今天我们就来学习学习。1. 定义 给某一个对象提供一个代理,并由代理对象控制对原对象的引用,称为代理模式。它是一种对象结构型模式。即可理解为,某个对象实例(记为Subject)不方便直接引用,我们就提供一个代理实例(记为Proxy),让这个代理实例去调用实例对象。
2017-05-24 12:39:08 490
原创 java获取方法参数名的若干实践
文章首发于我的个人博客网站梧桐和风的博客,欢迎关注。前言我们知道java可以通过反射得到方法名、参数类型等信息。但我们似乎不能直接得到方法的参数名。而在一些场景中,比如构建自己的MVC框架时,我们也想像Spring MVC一样,根据参数名获取用户传来的数据。下面就来总结一下,都有哪些方法可以获得方法的参数名。
2017-05-15 13:40:23 12665 4
原创 java多线程之线程通信
在多线程机制中,线程之间需要传输信息。一般有以下几种通信机制:共享对象:通过在共享对象中设置信号量,多个线程通过读取、修改该信号量来通信。wait/notify()方法:线程之间通过调用wait()、notify()方法实现线程等待、唤醒状态,从而达到线程通信的目的。接下来我们分别看看这两种方法:通过共享对象通信在共享对象中设置信号量是最简单也是最常用的线程通信方法。共享变量需要使用volat
2017-05-11 13:23:35 526
原创 Latke源码解析(二)IOC部分
上篇 Latke源码解析(一)Servlet部分讲解了latke有关web 请求的servlet部分,这次深入了解一下它的Ioc部分内容。前言这部分有关Ioc和bean大量使用了javax.enterprise.context.spi 、JSR-330标准的jar包javax.inject以及操作java字节码的类库javassist。可参看文末参考文章。
2017-05-01 14:29:08 1041
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人