自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 问答 (1)
  • 收藏
  • 关注

再论Java的构造方法

在OOP语言中,都会有构造方法这个概念,它的主要作用就是用于创建一个类的实例,并为这个实例的成员变量赋值。虽然它是一个好像很简单的东西,但是好像还有很多人对它的理解还不是很透彻,往往在面试中就会搞一些比较2B的题目来考大家。写这个主题主要是因为在自己的代码中出现了问题,在XStream中,它在实例化的时候是不会调用类的默认方法的,后面自己去跟了一下XStream的源码才发现,它是用了Unsa...

2014-10-11 16:36:23 159

原创 模拟Struts2的AOP实现

     在Struts2中有拦截器的概念,通过它的拦截器可以拦截Action。Struts2的拦截器是通过AOP来实现的,在Spring也有类似的概念。下面的我们先来比较一下Struts2和Spring中AOP的东西。 AOP概念Struts2SpringJoinPointAction中方法的执行符合条件方法的执行PointcutAction(...

2013-06-02 14:07:56 241

原创 用ClassLoader实现热部署

       这几天研究了一下Tomcat的ClassLoader,在一年多以前,每改一下Java源码都要启动一下Tomcat,觉得很不爽。后来,生锅锅教了我一招,其实改Java源码是不用重启Tomcat的(主要是改方法内的代码),这就是所谓的“热部署”。一直对这个比较好奇,这是怎么实现的呢?        下面就来简单的模拟一下热部署,其实原理是比较简单的,就是对比class文件的...

2013-02-17 15:43:32 436 2

原创 java语法糖---枚举

         在JDK5.0中提供了大量的语法糖,例如:自动装箱拆箱、增强for循环、枚举、泛型等。所谓“语法糖”就是指提供更便利的语法供程序员使用,只是在编译器上做了手脚,却没有提供对应的指令集来处理它。         下面要介绍的是枚举这个语法糖的原理。         其实enum就是一个普通的类,它继承自java.lang.Enum类。public enum Sex ...

2013-01-31 20:44:52 503

JavaEE过滤器处理原理

     大家都知道JavaEE中的Filter是用了责任链模式来实现的,请求值先到达Filter,根据Filter在web.xml的配置顺序一个个按顺序地处理,处理完以后,再按反顺序来处理响应信息,有点像是一个栈(先处理请求的Filter,后处理响应)。下面就山寨一下它的实现,来说明它的实现原理。package myself.filter;/** * 请求 * @aut...

2012-12-01 21:46:58 207

JDK动态代理实现原理

之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白。比如说:InvocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的,直到前几个星期才把这些问题全部搞明白了。 废话不多说了,先来看一下JDK的动态是怎么用的。[code="java"]package dynamic.proxy; import java.lang.reflect.In...

2012-08-09 20:18:37 712

原创 第一个JNI程序

JNI(JavaNative Interface)Java本地接口,是Java提供给程序员用Java语言调用本地语言(C、C++)写的函数的一种方法。       下面简单的说一下怎样写第一个JNI程序。 package jni.hello;/** * 第一个JNI程序 * @author zyb * @version 创建时间:2012-4-2 下午3:5...

2012-04-02 16:32:21 108

原创 hhff

 前段时间,一直在为Eclipse中不能调试Web项目而烦恼,今天终于找到了解决的办法。以后可以不用MyEclipse了,哈哈,内存使用就没那么大了。1 编辑tomcat\bin\catalina.bat  ,添加rem ===========================================================================rem this...

2010-09-13 11:04:42 136

指针问题

1 #include 2 using namespace std; 3 4 int main () 5 { 6 char c[5] = "hell"; 7 int i[5] = {1,2,3,4,5}; 8 char a = 'o'; 9 10 char(*p1)[5] = &c;11 char* ...

2009-05-14 11:35:04 99

空空如也

北京国信蓝点

2009-03-18

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

TA关注的人

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