0xTTEPX

Just do it, deeply...

Follow me on GitHub

JUC包总结

Feb 1, 2018 by donaldhan

引言 在 Java 5.0 提供了 java.util.concurrent(简称JUC)包, 主要有原子操作CAS,锁机制AQS(可重入锁,闭锁,屏障锁等), 并发集合(Map,Queue等),线程池(线程池执行器,调度线程池执行器和执行器)。 Callable与Future,FutureTask CountDownLatch使用场景 AtomicInteger解析 ...

NIO总结

Jan 31, 2018 by donaldhan

引言 在JDK1.4之前,Java的socket通信与文件的IO操作都是阻塞的,即一个动作的执行,必须等待先前的动作完成;从JDK1.4开始加入nio包,主要以通道的思想完整socket通信与文件的io操作,并且是非阻塞的,在线程执行一个动作,不用等待动作执行完,可以去做别的事情。NIO中通道主要有Socket,ServerSocket和Datagram通道,及文件通道和管道,通道读写操作主...

Memory Analyzer Tool的使用

Jan 29, 2018 by donaldhan

引言 最近又遇到了Java堆内存溢出异常,以前在JVisualVM与MemoryAnalyzer分析堆内存过程,这篇文章中,使用VIsualVM与MemoryAnalyzer分析堆内存,最近应用中出现又出现Java堆内存溢出异常。应用背景,调用WebService接口,查询信息。 目录 分析堆内存泄漏问题 导出堆内存 Overview L...

父亲与我

Jan 28, 2018 by donaldhan

记不得那年的那一天,应该是很久以前,脑海中有了父亲概念。那是一个丰收的季节,父亲不知从什么地方回来,收割家里的小麦。 那时,田地里还没有收割机,只能用于一种被称为镰刀的刀具,收割小麦。我们兄弟也帮着父母割麦,不过是图个快乐,玩玩而已, 我不知道其他兄弟有没有是,认真割麦的,反正我是很认真?当小麦割完时,用板车将小麦,拉倒田头打好的麦场中,等村里唯一 的脱麦机来,脱小麦。村里的田地大多数在一起...

AbstractApplicationContext总结

Jan 26, 2018 by donaldhan

引言 到目前为止,我们已经把AbstractApplicationContext相关的操作与涉及的概念已经讲述完,今天来总结一下AbstractApplicationContext的相关操及设计到的概念。相关文章如下: AbstractApplicationContext源码解析第一讲 AbstractApplicationContext源码解析第二讲 AbstractApp...

AbstractApplicationContext源码解析第五讲

Jan 26, 2018 by donaldhan

引言 我们可以通过setEnvironment配置上下文环境,通过getEnvironment获取上下文位置,如果没有则上下文的环境默认为StandardEnvironment。 需要注意的是在修改应用上下文环境操作,应该在刷新上下文refresh操作之前。 获取自动装配bean工厂AutowireCapableBeanFactory,实际委托给获取bean工厂方法getBeanFact...

AbstractApplicationContext源码解析第四讲

Jan 24, 2018 by donaldhan

引言 HierarchicalMessageSource主要提供了设置父消息的操作。此接口用于,当消息源不能解决给定消息时,尝试使用父消息源解决消息,即层级解决消息。 MessageSourceSupport内部主要成员为消息格式缓存messageFormatsPerLocale(HashMap<String, Map<Locale, MessageFormat»())用于存...

DelegatingMessageSource解析

Jan 11, 2018 by donaldhan

引言 AbstractEnvironment主要的成员变量为激活配置集activeProfiles(LinkedHashSet),默认配置解defaultProfiles( LinkedHashSet) ,属性源管理器propertySources(MutablePropertySources),还有一属性源解决器propertyResolver([PropertySourcesPrope...

StandardEnvironment源码解析

Jan 10, 2018 by donaldhan

引言 应用事件多播器ApplicationEventMulticaster主要提供了应用事件监听器的管理操作(添加、移除),同时提供了发布应用事件到所管理的应用监听器的操作。应用事件多播器典型应用,为代理应用上下文,发布相关应用事件。BeanClassLoaderAware主要体用了设置bean类加载器的操作,主要用于框架实现类想用根据的name获取bean的应用类型的场景。 Abstr...

SimpleApplicationEventMulticaster解析

Jan 6, 2018 by donaldhan

引言 抽象应用上下文 AbstractApplicationContext 实际为一个可配置上下文 ConfigurableApplicationContext 和可销毁的bean(DisposableBean),同时拥有了资源加载功能(DefaultResourceLoader)。我们通过一个唯一的id标注抽象上下文,同时抽象上下文拥有一个展示名。除此身份识别属性之前,抽象应用上下文,有...