自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shuangyue的专栏

Nothing is impossible!

  • 博客(24)
  • 资源 (9)
  • 收藏
  • 关注

原创 深入理解activeMQ 消息通讯

public class BrokerMain { public static void main(String[] args) throws Exception { String brokerName="broker1"; BrokerService broker=BrokerFactory.createBroker("broker:tcp://localhost:1

2013-11-07 19:02:18 1461

原创 jvm类加载过程分析

为了支持跨平台的特性,java语言采用源代码编译成中间字节码,然后又各平台的jvm解释执行的方式。字节码采用了完全与平台无关的方式进行描述,java只给出了字节码格式的规范,并没有规定字节码最终来源是什么,它可以是除了java语言外的其他语言产生,只要是满足字节码规范的,都可以在jvm中很好的运行。正因为这个特性,极大的促进了各类语言的发展,在jvm平台上出现了很多

2013-07-07 12:26:17 5988 1

原创 xmlBeanDefinitionReader解析xml的过程

解析xml文件本身是一种比较枯燥的事情,这里只给出解析的基本过程,具体细节部分不予给出。类图结构:流程:

2013-05-27 21:10:31 998

原创 Spring事务分析(1)--统一事务接口

1 Spring事务操作接口为了一统百花齐放的事务江湖,spring抽取了各种类型事务的共同部分,抽象成极为方便的事务操作接口。在spring的事务管理中主要涉及到下面的三个接口。其中PlatformTransactionManager抽取了事务管理过程中的整个流程最顶层的操作接口。它的定义如下:public interface PlatformTransactionM

2013-05-27 21:02:14 1344

原创 IBatis SqlMap解析及加载

同其他ORM一样,IBatis同样需要一个总的配置文件来获取具体的sql映射文件,根据该配置所提供的配置信息,ibatis通过SqlMapClientBuilder加载配置文件,来构建sqlMapClient。ibatis中的sqlmap配置根据元素类型通常包括两类文件:sqlMap.xmlsqlMapConfig.xmlsqlMap.xml常用的配置文件的通常主要包括一些具体的s

2013-05-26 22:23:24 1897

原创 IBatis源码分析

iBatis 是一个开源的对象关系映射程序,着重于 POJO 与 SQL 之间的映射关系。使用时,开发者提供一个被称为 SQL 映射的 XML 文件,定义程序对象与 SQL 语句间的映射关系, iBatis 会根据 SQL 映射文件的定义,运行时自动完成 SQL 调用参数的绑定以及 JDBC ResultSet 到 Java POJO 之间的转换。IBatis结构图利用

2013-05-25 20:29:05 1073

原创 java.util.concurrent包之Lock

在java5.0以前都是采用synchronized关键字进行同步控制,所有对象都自动含有单一的锁,JVM负责跟踪对象被加锁的次数。如果一个对象被解锁,其计数变为0。在任务(线程)第一次给对象加锁的时候,计数变为1。每当这个相同的任务(线程)在此对象上获得锁时,计数会递增。只有首先获得锁的任务(线程)才能继续获取该对象上的多个锁。每当任务离开一个synchronized方法,计数递减,当计数为0的

2013-05-25 19:24:51 642

原创 线程安全中应该注意的点

何谓线程安全?在《java 并发编程实践》中对线程安全的定义如下:当多个线程访问一个类时,如果不用考虑这些线程在运行时环境下的调度和交替运行,并且不需要额外的同步及在调用方代码不必做其他的协调,这个类的行为仍然是正确的,那么这个类就是线程安全的。很多时候,在单线程环境下很稳定的程序,到了多线程环境下,往往就变得不安全了。1. 完全由线程安全的类构成的程序不一定就是线程安全的

2013-05-25 17:41:09 1052

原创 Spring AOP之基于AbstractAutoProxyCreator的自动代理

当系统比较复杂,或者中需要进行aop进行织入的bean较多时,简单采用ProxyFacotryBean无疑会增加很多工作量,同时由于要从ProxyFactoryBean获得代理对象,也会使应用和Spring之间的耦合度增加,并且很多时候可维护性不强,譬如,我们需要给bean名字满足“*service”的bean每个方法增加事务功能,如果采用ProxyFacotryBean必须为每个以service

2013-03-04 13:32:50 12998 1

原创 Spring AOP之基于ProxyFactoryBean的代理

ProxyFacotryBean的方式实际上相当于Proxy+FactoryBean,适合于对单个bean的aop代理。1. 使用举例: jianchi 26 Custom string property value com.mycompany.Person myAdvisor

2013-03-04 13:18:45 1759

原创 spring AOP的几种方式及实现原理分析

在基础的IOC内核之上,spring提供了强大的aop功能,最常用的有4种方式:1. 基于ProxyFactoryBean代理的方式,这种方式适合于对单个bean进行aop配置。这种方式的使用主要是采用IOC中提供的FactoryBean借口无缝的与IOC容器进行对接。具体参考Spring AOP之基于ProxyFactoryBean的代理2.基于AbstractAutoP

2013-03-04 13:13:58 1532

原创 Spring AOP之PointCut

实际上,AOP的JointPoint可以有多种类型,但是Spring目前只支持方法级别的JoinPoint,(Keep It Simple,Stupid)。Spring中定义了org.springframework.aop.PointCut作为切入点的顶级接口,它的定义如下:public interface Pointcut { ClassFilter getClassFilter

2013-03-04 13:09:43 854

原创 Spring AOP中涉及到以下一些基本概念

JoinPoint:从单词意思理解为:连接点,是的,它是程序在执行过程中可以被外部程序可以织入的点,它可以是方法执行前,方法执行后等,理论上讲,程序执行过程中的任何一个点都应该可以成为一个织入点。Pointcut:程序运行过程中既然有这么多织入点,那么如何定位我们比较感兴趣的一下点呢?PointCut实际上是对织入点的表述,通过PointCut可以指定一组我们感兴趣的织入点,它定义了相应的

2013-02-28 17:22:55 687

原创 BeanFactory相关后置处理接口

1. PropertyPlaceholderConfigurer 和PropertyOverrideConfigurer1.1 类的功能PropertyPlaceholderConfigurer这个类是用于将外部指定properties文件中的变量值替换到配置文件中属性定义的占位符中。PropertyOverrideConfigurer与PropertyPlaceholderCon

2013-02-28 09:01:00 888

原创 Spring初始化之扩展xml配置文件

在spring2.0之后支持xml schema的方式扩展xml的配置。这样对于一些常用的属性较多的bean的配置,可以采用这种方式进行简化要使用这种方式,只需要做以下几件事情:1.定义xml schema文件(.xsd格式)2.实现NamespaceHandler接口,将Xml Element元素转换为BeanDefinition,并注册到BeanDefinitionRe

2013-02-26 09:02:09 1649

原创 Spring Bean实例化过程(2)

Spring中bean的实例化的总的入口都是getBean方法具体的实现是在AbstractBeanFactory中。1.bean实例化的总体逻辑getBean->doGetBean,最终的逻辑是在doGetBean中doGetBean的大体逻辑归纳如下:转换bean名字 if(原生bean实例已经实例化){ 判断该bean是否是Factor

2013-02-17 17:16:53 6711

原创 Spring Bean实例化过程(1)

Spring容器启动和初始化过程实际上可以分为两个阶段,第一个阶段是容器的初始化,包括容器的创建,bean配置文件读取,解析和BeanDefinition的生成及注册。第二个阶段是bean的实例化,从beanDefinition到bean实例的生成,包括aop的切入等。ApplicationContext context = new ClassPathXmlApplicationContext

2013-02-17 16:59:38 1803

原创 spring AbstarctApplicationContext类中refresh代码分析

Spring容器启动的整个过程实际上就包含在AbstractApplicationContext的refresh方法中public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { /*

2013-02-17 16:41:25 2009

原创 利用instrument+Attach API+javassist动态改变方法逻辑

1 instrumentinstrument是jdk 1.5之后提供的一个功能,它通过代理的方式运行在 JVM 上的程序的服务。作为代理的类必须首先打成jar包。在jdk1.6中支持两种方式来启动代理:(1) 在程序启动的时候添加-javaagent:jarpath=options参数指定代理的jar来启动代理,这种情况下代理入口类通过在META-INF/MENIFEST.

2013-02-07 09:43:03 3038 1

原创 java concurent之BlockingQueue

从名字上看,BlockingQueue是阻塞队列的意思这个队列主要提供下面的功能:阻塞队列提供了可阻塞的take和put方法,另外可定时的poll和offer实际原理也是一样的。如果BlockingQueue是空的,从BlockingQueue取东西的操作将会被阻断进入等待状态,直到BlockingQueue进了东西才会被唤醒,同样,如果BlockingQueue是满的,任何试图往里存

2013-02-07 09:31:04 565

原创 java concurrent之CompletionService

在采用Executor执行任务时,可用通过采用Future来获取单个任务执行的结果,在Future中提供了一个get方法,该方法在任务执行返回之前,将会阻塞。当向Executor提交批处理任务时,并且希望在它们完成后获得结果,如果用FutureTask,你可以针对这一组任务进行遍历,并用future.get()去获取结果,若当前任务没有完成,则会造成阻塞。这对于对任务结果需要分别对待的时候

2013-02-07 09:25:01 447

原创 volatile变量

1.volatile的原理volatile的原理实际上是告诉处理器,不要把变量缓存在寄存器或者相对于其他处理器不可见的地方,而是把变量放在主存,每次读写操作都在主存上进行操作。另外,被申明为volatile的变量也不会与其它内存中的变量进行重排序。2.volatile与同步volatile是同步的一个子集,只保证了变量的可见性,但是不具备原子特性。这就是说线程能够自动发现 vo

2013-02-07 09:08:53 1443 1

原创 滤波反投影图像重建算法

关于CT重建的算法有很多,在这里给大家介绍的是滤波反投影算法,其原理如下:设f(x,y)表示需要重建的图像,用p(t,θ)表示在角度获取的f(x,y)的一个平行投影,t表示投影射线到对称中心(即旋转中心)的距离,设s为于角度θ下的投影X射线平行的坐标轴,它与t所在的坐标轴垂直,则:        (1)对p(t,θ)进行一维傅里叶变换    (2)将(1)代入(2)式得到

2010-08-14 09:10:00 33475 5

原创 CT图像重建技术

由于csdn贴图不方便,并且不能上传附件,我把原文上传到了资源空间CT图像重建技术1.引言计算机层析成像(Computed Tomography,CT)是通过对物体进行不同角度的射线投影测量而获取物体横截面信息的成像技术,涉及到放射物理学、数学、计算机学、图形图像学和机械学等多个学科领域。CT技术不但给诊断医学带来革命性的影响.还成功地应用于无损检测、产品反求和材料组织分析等工业领域。CT

2010-08-13 20:52:00 62436 7

CT影像成像技术

CT是一种利用X射线获得横断面图像的技术,它对诊断医学有革命性的影响,同时也广泛应用在了工业的无损检测。本文按照CT扫描机的发展,分别对不同CT扫描机采用的重建算法进行了介绍,同时分别对不同重建算法的优缺点进行了对比分析。

2013-01-29

Linux命令大全最新中文版

最新的中文版Linux命令大全,包括了最全的最常用的linux的最详尽用法、实例及解释

2012-02-06

matlab随机数生成大全

matlab随机数生成大全,包括matlab中最常用的随机数生成函数,并提供了具体实例进行讲解

2010-01-19

NeheOpengl中文版完整版

非常经典的NeHe OpenGL教程奉送给大家,而且还是中文版的。

2010-01-19

分布式系统原理与范型

本书是Tanenbaum先生所著的《分布式操作系统》的修订版,是分布式系统的权威教材。全书分为两部分:原理和范型。第一部分详细讨论了分布式系统的原理、概念和技术,其中包括通信、进程、命名、同步、一致性和复制、容错以及安全。第二部分给出了一些实际的分布式系统:基于对象的分布式系统、分布式文件系统、基于文档的分布式系统以及基于协作的分布式系统,介绍了一些实际系统的设计思想和实现技术。全书结构清晰,内容全面经典,系统性与先进性并茂。 本书适用对象广泛。对于学习分布式计算的本科生和研究生,本书是优选教材。对于从事分布式计算研究和工程应用的科研人员和工程技术人员,本书也是一本优秀的基础性读物。

2010-01-19

c++基础教程

这是一本关于c++的基础教程,非常适合入门,是中文的哦

2007-07-14

axis开发webservices

这是关于axis开发webservices的完整资料

2007-07-13

《Understanding SOA with Web Services中文版》webservice.

一本介绍Web Services 以及SOA的书,是中文的哦

2007-07-09

Web Services平台架构

Web Services平台架构,java平台上开发web services

2007-07-09

空空如也

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

TA关注的人

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