加载中
Spring @Component - 注解

invokeBeanFactoryPostProcessors(beanFactory); 此处开始调用 ConfigurationClassPostProcessor 的 postProcessBeanDefinitionRegistry 方法。 在 ConfigurationClassParser 中 doProcessC...

05/20 01:49
27
OpenFeign 设置 path

如果你用 OpenFeign 访问报404错,那就很可能是路径问题,其中之一便是 context path 没有指定。 比如你要访问的 web 上下文是 /provider,具体服务是 localhost:8080/provider/order/1,但你...

05/16 16:52
318
Java 动态代理 - Proxy 和 Cglib

Proxy 方式的代理类继承 Proxy Cglib 方式的代理类继承被代理类

05/13 01:09
37
Mybatis 原理

Mybatis 所有的力量来自 SqlSession 接口,DefaultSqlSession 是它的一个实现类。 DefaultSqlSession 中包括了 Configuration 和 Executor。 Configuration 在 SqlSessionFactory 的初始化中...

Java concurrent - ThreadPoolExecutor

主要看下 execute 方法,大白话说就是没有超过限额就通过 addWorker 方法添加进 workQueue,超过限额就失败。 private boolean addWorker(Runnable firstTask, boolean core) addWork 方法中...

05/06 15:41
19
ActiveMQ Client - Consumer

ActiveMQ 5.15.12 在 consumer 这一端,可以分成两块来说,一块是 consumer 等待数据,另一块是 TcpTransport 通过 61616 端口读取来自 broker 的消息。 这两块的交集是 MessageDispatchCha...

05/05 15:57
39
Apache Common Pool - 通用池组件 SoftReferenceObjectPool

SoftReferenceObjectPool 也是一个Pool,它的存在是为了便于JVM GC。它里面的 idleReferences 如下: private final LinkedBlockingDeque<PooledSoftReference<T>> idleReferences = new Lin...

05/03 01:16
30
Apache Common Pool - 通用池组件 evict

在说 evict 之前,我们先看下 池对象的状态定义: public enum PooledObjectState { IDLE, ALLOCATED, EVICTION, EVICTION_RETURN_TO_HEAD, VALIDATION, VALIDATION_PREALLOCATE......

05/01 21:22
93
Apache Common Pool - 通用池组件 borrowObject

看下 GenericObjectPool 类 borrowObject 方法的源码,这个类和方法理解了,对Pool就算理解了大半。 说下这个 borrowObject 方法: p = (PooledObject)this.idleObjects.pollFirst(); ......

05/01 17:47
71
Apache Common Pool Introduction - 通用池组件 介绍

先说下主要的类和接口 ObjectPool 接口是“池”定义,GenericObjectPool 是它的实现。 PooledObject 接口是“池对象”定义,DefaultPooledObject 是它的实现。DefaultPooledObject 用来包裹业...

05/01 13:05
81
Java concurrent - LinkedBlockingQueue

LinkedBlockingQueue算是通过数据结构来实现同步的方式,其底层实现还是依赖Lock和Queue。 看一些关于put的代码,进一步理解 /** Lock held by put, offer, etc */ private final ReentrantL...

04/28 22:48
28
Java network - NIO 彻底明白

为什么要在标题上加个“彻底明白”,因为这个NIO概念太困扰人了,现在我才搞明白, 为了方便其他需要了解它的人,特意在此总结下。 理解NIO的关键是和BIO做对比。如果BIO很完美,就不会有NIO...

04/28 21:08
61
Java concurrent - LockSupport

先看下这个类的描述: This class associates, with each thread that uses it, a permit (in the sense of the Semaphore class). A call to park will return immediately if the permit i...

04/28 00:38
57
Java concurrent - ReentrantReadWriteLock

这个类可以看成是实现ReadWriteLock的ReentrantLock。 An implementation of ReadWriteLock supporting similar semantics to ReentrantLock. --------------------------深入源码---------...

04/24 17:37
31
Java concurrent - ReentrantLock

首先ReentrantLock内部真正干活的是 abstract static class Sync extends AbstractQueuedSynchronizer 这个静态抽象类有两个实现版本,一个是NonfairSync,另一个是FairSync。 取锁有两个方式...

04/24 12:24
37
Java concurrent - CyclicBarrier

CyclicBarrier这个类名,可以拆成两半,即Cyclic和Barrier。 Cyclic意思是可以重复用,Barrier在这里可以理解为基准线。CyclicBarrier的定义如下: A synchronization aid that allows a se...

04/24 01:48
33
Java concurrent - CountDownLatch

CountDown顾名思义就是“倒数”,CountDownLatch的定义如下所示: A synchronization aid that allows one or more threads to wait until a set of operations being performed in other t...

04/23 22:53
27
Java Collection 的源码探究

一般而言Java Collection可以分为List/Set/Map,这个分法是从数据结构本身以及接口类的定义来划分的。 如果从内部实现来看的话,最后可以分解到数组和链表。 数组或者链表加了hash可以支持M...

04/22 01:54
51
Nginx + Tomcat + Spring Session

关于Nginx的配置有点记录下。 ------------------------ upstream localhost { server 192.168.1.5:8080; server 192.168.1.7:8080; } 以上内容添加在h......

04/21 15:19
23
运行jmap报错,两个java版本冲突

遇到这个问题只要把其中一个的配置从env中移除。 对于Ubuntu环境最简单的办法就是把openjdk卸载掉。

没有更多内容

加载失败,请刷新页面

返回顶部
顶部