自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

pentiumchen的专栏

混迹在猪厂的超级大码农

  • 博客(15)
  • 资源 (8)
  • 收藏
  • 关注

原创 Spring IOC容器bean初始化源码分析

上一篇分析对bean定义的解析源码进行了分析,这个过程的最终结果是把xml文件中bean的定义解析成一个个的BeanDefinition对象并且注册到容器中,在Spring IOC容器启动简介篇中分析,在容器启动的最后会对容器中的所有bean进行初始化,利用之前解析出的BeanDefinition对象,创建一个个最终的bean对象,并且完成bean之间的依赖注入,本篇从源码的角度分析在容器启动时所

2015-02-25 20:59:01 4406 2

原创 Spring bean定义解析源码分析

在上一篇Spring IOC容器启动简介中在ClassPathXmlApplicationContext的基础粗略的分析了IOC容器的启动过程,对一些比较复杂的步骤没有详细的说明,从本篇开始对其中的一些比较复杂的步骤进行分析。本篇对基于ClassPathXmlApplicationContext的IOC容器的bean定义的解析与加载过程进行分析。bean定义解析加载的简单时序图如下:b

2015-02-24 21:13:36 2972

原创 Spring IOC容器启动简介

BeanFactory和ApplicationContext都可以用来作为Bean工厂负责创建和管理Bean,相比之下ApplicationContext是BeanFactory的一个增强升级版,比如Application提供了强大的事件机制,自动加载BeanPostProcessor和BeanFactoryPostProcessor,预创建Bean等,一般情况下都使用ApplicationCon

2015-02-18 14:34:56 2836

原创 Disruptor原理浅析

Disruptor是一个高吞吐量的异步处理框架,LMAX号称用它可以1秒钟处理600万订单,从一个简单的例子来分析Disruptor,下面的代码是基于2.10.4版本,不同的版本API有些变化,代码仅供参考。private static void testDisruptor() { RingBuffer ringBuffer = new RingBuffer( new EventFacto

2015-02-16 20:51:37 2520

原创 乱弹java并发(九)-- fork/join

ForkJoin是在java7引入的由Doug Lea设计的一个并行计算框架,ForkJoin框架包含两部分:1、把任务Fork成一系列的相互之间无依赖的递归子任务,不同的子任务可以由不同的CPU核心执行;2、合并(Join)子任务的执行结果。Doug Lea在ForkJoin中引入一个叫work steal的算法,即当某线程的任务队列已执行完时,可以扫描其它线程的任务队列,从其它线程的任务队列队

2015-02-15 00:58:25 666

原创 乱弹java并发(八)-- Phaser

Phaser是java7新添加的一个同步工具,相比CyclicBarrier、CountDownLatch、Semaphore等同步工具,Phaser更灵活而且可复用(CyclicBarrier也可复用),Phaser包含几个动作:register:给Phaser增加parties,并且可以通过deRegister减少总parties(CyclicBarrier、CountDownLatch、

2015-02-14 15:39:51 834

原创 乱弹java并发(七)-- 轻量级锁、偏向锁

java6之前的同步时依赖操作系统互斥来实现的,互斥会导致频繁的线程上下文切换,消耗CPU资源,java6在HotSpot中引入了轻量级锁和偏向锁机制来对同步进行优化,它们的本意是在没有多线程竞争的前提下,减少传统的重量级锁使用操作系统互斥量产生的性能消耗。要了解轻量级锁,以及后面讲到的偏向锁原理和运作过程,必须从虚拟机(HotSpot)的对象头的内存布局开始介绍。HotSpot虚拟机的对象头

2015-02-14 00:29:42 1318

原创 乱弹java并发(六)-- Condition

Condition可以让线程处于条件挂起的状态,它和锁(Lock)配合使用,Lock实例通过newCondition可以生成一个条件对象,Condition.await()让线程处于挂起等待状态,通过在别的线程中调用Condition.signal和Condition.signalAll唤醒处于等待的线程,它们的功能和Object的wait和notify、notifyAll方法功能是一样,wait

2015-02-13 22:14:21 542

原创 乱弹java并发(五)-- AQS

AQS(AbstractQueuedSynchronizer)是JDK中大部分同步工具:可重入锁(ReentrantLock)、可重入读写锁(ReentrantReadWriteLock)、计时闩(CountDownLatch)、信号量(Semaphore)、异步任务(FutureTask)实现的基础。它提供了五个模板方法: protected boolean tryAcquire(in

2015-02-12 22:09:05 661

原创 乱弹java并发(四)-- ThreadPoolExecutor

ThreadPoolExecutor是JDK5加入的一个线程池实现,我们知道线程池一般有两个作用:1、可以重复利用线程,省去反复创建线程的开销,这在高并发系统中不容小觑2、控制线程数量,避免过多的线程耗尽进程的栈空间。整个线程池由两个核心结构组成:线程集合、等待任务队列。ThreadPoolExecutor中有三个关键参数:corePoolSize、maximumPoolSize、ke

2015-02-11 22:07:57 615

原创 乱弹java并发(三)-- CopyOnWriteArrayList和CopyOnWriteArraySet

CopyOnWriteArrayList是基于“写时复制”策略的线程安全的数组,它的特点是写加锁读不加锁,了解过ConcurrentHashMap的原理之后,再理解它的原理就比较简单了,来看看两个关键方法: public boolean add(E e) { final ReentrantLock lock = this.lock; lock.lock(); try {

2015-02-11 21:37:41 1476

原创 在eclipse中玩起btrace

Btrace脚本可以让我们在不停止线上系统的情况来动态的添加一些脚本来对系统进行监控和调测,官方教程都是通过命令行来运行btrace脚本。现在我们来看怎么一步一步在eclipse中玩起Btrace,首先上官网https://kenai.com/projects/btrace/下载一个发布包,我 下的时Win平台的。要在eclipse中玩起btrace,首先在让btrace相关的jar包关联进来

2015-02-10 23:20:14 1809

原创 乱弹java并发(二)-- ConcurrentHashMap

ConcurrentHashMap是JUC中一个高性能的线程安全的hash表,key和value都不可为null,ConcurrentHashMap通过如下手段来来达到它的高性能:1、分离写锁:普通的Hash表通过桶数组+冲突链表来实现,ConcurrentHashMap增加了一个段结构(Segment),通过段数组+桶数组+冲突链表三层结构来实现,在进行put操作的时候先通过hash码定位到

2015-02-09 23:01:31 593

原创 乱弹java并发(一)-- BlockingQueue

最近抽空整理了一下几年前的学习笔记,发现有些东西久了不用就忘记了,感慨年纪大了忘性大呀。现在把这些笔记整理一下分享到博客上,分享的同时加深自己的记忆。java5加入了一个java.util.concurrent包,这个包的大部分代码作者都是Doug Lea大神,JUC对java并发编程有着里程碑式的意义。由于笔记是几年前的,当时的学习时在JDK6的基础上做的,所以如无特殊说明文中涉及到的代

2015-02-08 20:39:28 1040

原创 一个简单的Android SQLite ORM框架

关于SQLite的ORM框架,目前有一些用得比较多的框架比如ORMlite,但是在公司做项目时由于公司的开源政策,对开源框架的检查流程非常繁琐,需要一个专人投入半个月左右(不能忍),而根据我们项目的复杂度估测,自己开发的话半个月肯定就能搞定了(事实上一个礼拜的时候原型就出来了),下面我来简单介绍一下我们的框架。

2015-02-07 22:28:27 1614

Android SQLite ORM框架

一个简单的Android SQLite ORM框架不想花资源分的同学可以上我的github主页下载:https://github.com/chenyihan/Simple-SQLite-ORM-Android,因为要传到github,所以代码中的注释和doc文档都是英文的,对自己英文不自信的同学可以求助百度翻译^_^

2015-02-06

Spring技术内幕

阐述了Spring的设计原理和工作原理,非常不错,希望对Spring原理有了解的可以下一下

2014-06-29

spring3.2.9源码

spring3.2.9的jar包,包含源代码

2014-06-29

jmx api规范

是一个用于管理和监视的标准 API。典型用途包括: 查询并更改应用程序配置 累积有关应用程序行为的统计数据并使其可用 通知状态更改及错误状况。 附件里面是jmx相关的规范,以及相关的api帮助文档

2012-09-27

xmlbeans 源码

xmlbeans是apache提供的用于在xml和java POJO之间相互转换的工具,附件中是相关的源代码,有兴趣的同学欢迎下载

2012-09-27

apache xmlbeans2.6

apache提供的技术,主要功能是在xml文档和POJO对象之间进行可逆的转换,类似于Java的jaxb标准,大家赶紧下吧

2012-09-27

proxool-0.9.jar

proxool 0.9大家赶紧下吧,跟tomcat5.0兼容,能够替代Hibernate的连接池

2009-03-25

jsf1.2 source code

jsf1.2得源代码,包括jsf-api,jsf-ri,jsf-tools,jsf-doc等等。。。

2008-10-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除