源码阅读
文章平均质量分 77
wind瑞
微信搜索JavaQ,专注Java基础原理分析、微服务实战、分布式系统构建,诚邀关注!
展开
-
源码阅读之ArrayList
源码阅读是基于JDK7,本篇主要涉及ArrayList常用方法源码分析。1.概述ArrayList是List接口的可调整大小的数组实现,可以包含任何类型的元素,包括null。除了实现List接口中的方法,它还提供了调整元素数组大小的方法。这个类除了非同步的特性,大体上和Vector是相同的。它的size、isEmpty、get、set方法运行时间为常数,而add方法运行开销为分摊的常数原创 2016-08-12 21:08:50 · 552 阅读 · 0 评论 -
源码阅读之Vector
源码阅读是基于JDK7,本篇主要涉及Vector常用方法源码分析。1.概述Vector实现了一个增长型的Object数组,可以包含任何类型的元素,包括null。像数组一样,它的元素可以使用下标索引值进行访问。为了容纳添加或删除后的元素,Vector的容量可以增长或收缩。每个Vector实例通过维护容量大小和容量增长因子来优化存储管理。Vector容量的大小要大于等于Vector中元素的原创 2016-08-13 21:21:17 · 793 阅读 · 0 评论 -
不常见的Date使用问题
问题最近维护老项目,遇到一个遗留的日期传输问题。A系统远程调用B系统获取申请时间字段,B系统接口返回的申请时间是String类型,结果A、B两个系统显示的申请时间不一样,A系统的申请时间比B系统的提前了14个小时,问题可以通过简单的代码复现。Date currentDate = new Date();System.out.println("currentDate:" + currentDate);原创 2017-08-10 21:47:23 · 460 阅读 · 0 评论 -
深入理解Spring系列之七:web应用自动装配Spring配置
在《深入理解Spring系列之一:开篇》的示例代码中使用如下方式去加载Spring的配置文件并初始化容器。ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationgContext.xml");在web应用中,配置文件都是自动加载的,示例代码中的方式就不能满足需求了。在web应用中使用原创 2017-08-10 20:42:34 · 779 阅读 · 0 评论 -
深入理解Spring系列之六:bean初始化
《深入理解Spring系列之四:BeanDefinition装载前奏曲》中提到,对于非延迟单例bean的初始化在finishBeanFactoryInitialization(beanFactory)中完成。进入这个方法,代码如下。protected void finishBeanFactoryInitialization(ConfigurableListableBeanFactory beanFa原创 2017-08-10 20:41:07 · 914 阅读 · 0 评论 -
深入理解Spring系列之五:BeanDefinition装载
接上篇《深入理解Spring系列之四:BeanDefinition装载前奏曲》,进入AbstractXmlApplicationContext类的loadBeanDefinitions方法,代码如下所示。protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) throws BeansException, I原创 2017-08-10 20:38:37 · 870 阅读 · 0 评论 -
深入理解Spring系列之四:BeanDefinition装载前奏曲
框架的源码分析,有些代码可以暂时忽略,如Spring如何进行XML模式校验的、XML解析的细节等,这些代码可以在了解了整体的原理之后,再做针对性的分析,关注重点内容即可,切记在一开始就去深挖每个细节,这样不仅会耗费很长时间,而且容易陷入某个坑里出不来。以《深入理解Spring系列之一:开篇》示例中的ApplicationContext applicationContext = new ClassPa原创 2017-08-10 20:36:02 · 598 阅读 · 0 评论