java
文章平均质量分 79
iteye_2730
这个作者很懒,什么都没留下…
展开
-
JDK动态代理实现原理
之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白。比如说:InvocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的,直到前几个星期才把这些问题全部搞明白了。 废话不多说了,先来看一下JDK的动态是怎么用的。[code="java"]package dynamic.proxy; import java.lang.reflect.In...2012-08-09 20:18:37 · 694 阅读 · 0 评论 -
模拟Struts2的AOP实现
在Struts2中有拦截器的概念,通过它的拦截器可以拦截Action。Struts2的拦截器是通过AOP来实现的,在Spring也有类似的概念。下面的我们先来比较一下Struts2和Spring中AOP的东西。 AOP概念Struts2SpringJoinPointAction中方法的执行符合条件方法的执行PointcutAction(...原创 2013-06-02 14:07:56 · 223 阅读 · 0 评论 -
JavaEE过滤器处理原理
大家都知道JavaEE中的Filter是用了责任链模式来实现的,请求值先到达Filter,根据Filter在web.xml的配置顺序一个个按顺序地处理,处理完以后,再按反顺序来处理响应信息,有点像是一个栈(先处理请求的Filter,后处理响应)。下面就山寨一下它的实现,来说明它的实现原理。package myself.filter;/** * 请求 * @aut...2012-12-01 21:46:58 · 176 阅读 · 0 评论 -
java语法糖---枚举
在JDK5.0中提供了大量的语法糖,例如:自动装箱拆箱、增强for循环、枚举、泛型等。所谓“语法糖”就是指提供更便利的语法供程序员使用,只是在编译器上做了手脚,却没有提供对应的指令集来处理它。 下面要介绍的是枚举这个语法糖的原理。 其实enum就是一个普通的类,它继承自java.lang.Enum类。public enum Sex ...原创 2013-01-31 20:44:52 · 488 阅读 · 0 评论 -
用ClassLoader实现热部署
这几天研究了一下Tomcat的ClassLoader,在一年多以前,每改一下Java源码都要启动一下Tomcat,觉得很不爽。后来,生锅锅教了我一招,其实改Java源码是不用重启Tomcat的(主要是改方法内的代码),这就是所谓的“热部署”。一直对这个比较好奇,这是怎么实现的呢? 下面就来简单的模拟一下热部署,其实原理是比较简单的,就是对比class文件的...原创 2013-02-17 15:43:32 · 383 阅读 · 2 评论 -
再论Java的构造方法
在OOP语言中,都会有构造方法这个概念,它的主要作用就是用于创建一个类的实例,并为这个实例的成员变量赋值。虽然它是一个好像很简单的东西,但是好像还有很多人对它的理解还不是很透彻,往往在面试中就会搞一些比较2B的题目来考大家。写这个主题主要是因为在自己的代码中出现了问题,在XStream中,它在实例化的时候是不会调用类的默认方法的,后面自己去跟了一下XStream的源码才发现,它是用了Unsa...2014-10-11 16:36:23 · 127 阅读 · 0 评论