自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 【Spring】IOC核心源码学习(三):bean标签和自定义标签实现原理

[size=large]本文将解析spring bean定义标签和自定义标签的解析实现原理。 这里说的标签仅限于以xml作为bean定义描述符的spring容器,继承AbstractXmlApplicationContext的一些子 容器,如XmlApplicationContext、ClassPathXmlApplicationContext、 FileSystemXmlApplication...

2012-05-14 10:25:18 121

原创 IOC核心源码学习(二):容器初始化过程

[size=large][b]ClassPathXmlApplicationContext 类体系结构[/b] 以下是 ClassPathXmlApplicationContext 的类继承体系结构,理解这个结构有助于后面的代码理解。 [img]http://dl.iteye.com/upload/attachment/0068/0539/d401b24e-6952-3510-ab9...

2012-05-14 00:04:46 110

原创 Spring IOC核心源码学习(一)

[size=large][b]关于IOC容器[/b] IoC容器:最主要是完成了完成对象的创建和依赖的管理注入等等。 先从我们自己设计这样一个视角来考虑: 所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。那么必然的我们需要创建一个容器,同时需要一种描述来让容器知道需要创建的对象与对象的关系。这个描述最具体表现就是我们可配置的文件。 对象和对象关系怎...

2012-05-13 23:51:22 106

coprize 心得

1,bas 包 作为整个架构的基础数据结构包:提供了架构中基础数据的接口,和默认的实现。 IExtend : 扩展属性接口类 在Coprize架构中,所有对象的实例都应该具备可扩展属性的能力 可在程序执行过程中动态设定对象的属性及属性值。该接口提供了 新增属性(setAttribute) 获取属性(getAttribute) 检查是否存在属性(Contan) IField : ...

2012-05-13 20:57:58 131

2012 新起航!

好久不写字了,快忘记那种敲打键盘写写心情的日子了。 好久前,感觉2012 好遥远的世界末日,没想到都已经过了四分之一了。浑浑噩噩,总感觉工作很忙,却始终没忙出点什么,感觉时间越来越近了,目标越来月明确了,但自己好多时候越来越手足无措了! 一个人能做的毕竟有限,时间有限,能力有限,等等什么都有限,在这样的一个社会所有的事情,都不是能靠一个人就可以完成的! 忙了几个月,也没有来得及抽点空...

2012-03-23 11:27:22 70

原创 JVM ClassLoader 介绍

与C或C++编写的程序不同,Java程序并不是一个可执行文件,而是由许多独立的类文件组成,每一个文件对应于一个Java类。 此外,这些类文件并非立即全部都装入内存,而是根据程序需要装入内存。ClassLoader是JVM中将类装入内存的那部分。 而且,Java ClassLoader就是用Java语言编写的。这意味着创建您自己的ClassLoader非常容易,不必了解JVM的微小细节。...

2010-10-26 17:29:44 79

原创 Struts2--ActionContext及CleanUP Filter

1. ActionContext ActionContext是被存放在当前线程中的,获取ActionContext也是从ThreadLocal中获取的。所以在执行拦截器、 action和result的过程中,由于他们都是在一个线程中按照顺序执行的,所以可以可以在任意时候在ThreadLocal中获取 ActionContext。 ActionContext包括了很多信息,比如Sessio...

2010-10-26 16:41:07 97

原创 Struts2--Dispatcher&ConfigurationProvider

首先强调一下struts2的线程程安全,在Struts2中大量采用ThreadLocal线程局部变量的方法来保证线程的安全,像Dispatcher等都是通过ThreadLocal来保存变量值,使得每个线程都有自己独立的实例变量,互不相干.   接下来就从Dispatcher开始看起,先看其构造函数: Java代码 //创建Dispatcher,此类是一个Delegat...

2010-10-26 16:39:57 92

原创 Struts2--Dispatcher&ConfigurationProvider续

接下来第三步:init_LegacyStrutsProperties()调用的是调用的是LegacyPropertiesConfigurationProvider通过比较前面DefaultPropertiesProvider与调用的是LegacyPropertiesConfigurationProvider.发现DefaultPropertiesProvider继承自后者,但重写了regist...

2010-10-26 16:36:46 76

原创 Struts2 --FilterDispatcher核心控制器

Dispatcher已经在之前讲过,这就好办了。FilterDispatcher是Struts2的核心控制器,首先看一下init()方法。 Java代码 public void init(FilterConfig filterConfig) throws ServletException {        try {            this.filter...

2010-10-26 16:34:19 135

原创 Struts2 -- ActionProxy&ActionInvocation

下面开始讲一下主菜ActionProxy了.在这之前最好先去了解一下动态Proxy的基本知识. ActionProxy是Action的一个代理类,也就是说Action的调用是通过ActionProxy实现的,其实就是调用了ActionProxy.execute()方法,而该方法又调用了ActionInvocation.invoke()方法。归根到底,最后调用的是DefaultActionInvo...

2010-10-26 16:11:58 134

java 容器(持有对象)

java 容器,也是面试当中问的频率比较高的问题。下面贴一张 thinking in java中的集合类库的完备图。 [img]http://dl.iteye.com/upload/attachment/336384/5e3b7a37-3693-3b90-8e8e-50f7ad866712.png[/img] 图中不包括queue的实现。虚线框表示abstract类,这些类可能看起来有...

2010-10-26 00:28:36 91

原创 java 模式,6大原则

1,OCP(Open-Close Principle)开闭原则 Software entities should be open for extension,but closed for modification,(在设计一个模块的时候,应当使这个模块可以在不被修改的前提下扩展)。 对扩展开放open,对修改关闭close。 如何实现?1,抽象化是关键,...

2010-10-25 22:39:48 80

原创 Struts2 --拦截器&工作流程概述

记得一次面试当面试官问起我有关struts2是如何把参数直接封装到action 的属性当中的。在那一秒我竟然想不起struts到底是如果做到的,只知道它做到了。很多时候我们在写代码,只是在为了功能而去写,去用到一些工具,然后按照配置,按照套路,一步一步的去走,可以实现,有时候可能大概的知道可能是如何如何实现的。却很少去真正的弄清楚。 当面试完了,突然我想起来,struts 2之所以可以有那么神...

2010-10-24 01:00:07 243

原创 OGNL 语言介绍

来源 ibm developerWorks 简介: OGNL 是 Object-Graph Navigation Language 的缩写, 从语言角度来说:它是一个功能强大的表达式语言,用来获取和设置 Java™对象的属性。 OGNL 在许多的地方都有应用。本文将对 OGNL 进行介绍以及如何使用 OGNL . OGNL 的历史 OGNL 最初是为了能够使用对象的属性名来建立 UI ...

2010-10-23 00:21:09 133

原创 Spring 事务管理高级应用难点剖析: 第 1 部分

文章来源:ibm developerWorks . 简介: Spring 的事务管理是被使用得最多的功能之一,虽然 Spring 事务管理已经帮助程序员将要做的事情减到了最小。但在实际开发中,如果使用不当,依然会造成数据连接泄漏等问题。本系列以实际应用中所碰到的各种复杂的场景为着眼点,对这些应用的难点进行深度的剖析。 概述 Spring 最成功,最吸引人的地方莫过于轻量级的声明式...

2010-10-23 00:15:14 72

原创 Java 动态代理机制分析

本文转自:ibm 简介: 本文通过分析 Java 动态代理的机制和特点,解读动态代理类的源代码,并且模拟推演了动态代理类的可能实现,向读者阐述了一个完整的 Java 动态代理运作过程,希望能帮助读者加深对 Java 动态代理的理解和应用。 引言 Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代...

2010-10-22 23:43:09 80

原创 Java反射机制

侯捷观点 Java反射机制 摘要 Reflection 是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时 透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如 public, static 等等)、superclass(例如Object)、实现之interfaces(例如 Cloneable),也包括f...

2010-10-22 16:15:44 82

原创 Hibernate POJO为什么要实现Serializable接口

无意当中想到这个问题,然后google 一下。找到一篇对 serialization 介绍的文章,关于这个问题比较多的人解释是:hibernate有二级缓存,缓存会将对象写进硬盘,就必须序列化,以及兼容对象在网络中的传输 等等... 目的:将二级缓存中的内容持久化保存下来,便于恢复缓存的信息,hibernate的缓存机制通过使用序列化,断定应该是基于序列化的缓存,如没有serial...

2010-10-21 23:10:11 237

空空如也

空空如也

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

TA关注的人

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