`
leayer
  • 浏览: 60337 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
内部类和静态内部类 一.静态和非静态的区别 1.static一般用于修饰成员变量和方法,当然也可以修饰类,不过这个类得是内部类才行. 2.用static修饰的变量或方法,不需要实例化类能够直接用类名访问,属于类的所有对象且只有一份. 3.在静态成员(方法)中不可以引用非静态成员. 二.内部类 1.在一个类中定义的其它类,被称为内部类. 2.内部类可以被修饰为private与其它类隔绝,那这个内部类只有它的外部类才能访问. 3.内部类可以被修饰为static. 三.内部类访问外部类成员 1.内部类可以访问外部类的任意级别成员,包括private. 2.非静态内部类不可以定义静态成员,静态内部 ...

Ibatis源码分析

Ibatis的工作流程主要分为两个部分,配置文件解析和数据库操作,下面分别对两部分分别进行分析 一.配置文件解析 二.数据库操作 1.先看几个重要的接口定义 SqlMapTransactionManager接口定义了数据源的获取,数据库链接的获取,事务开启,事务提交,事务结束等方法. SqlMapExecutor接口定义了一系列的数据库操作方法,如增删改查等. 这两个接口也是最顶端,最核心的接口. SqlMapSession接口继承了SqlMapExecutor接口和SqlMapTransactionManager接口,并定义了一个close方法, 其实现类是SqlMapSessio ...
Visitor(访问者模式) 访问者 package com.dzeay.pattern.visitor; public interface Visitor { void visitorConcreteElementA(ConcreteElementA concreteElementA); void visitorConcreteElementB(ConcreteElementB concreteElementB); } 具体访问者 package com.dzeay.pattern.visitor; public class ConcreteV ...
Proxy(代理模式) 定义RealSubject和Proxy共用的接口 package com.dzeay.pattern.proxy; public abstract class Subject { public abstract void excute(); } 定义Proxy所代表的实体 package com.dzeay.pattern.proxy; public class RealSubject extends Subject { @Override public void excute() { Sy ...
以下内容全部摘自<<深入Java虚拟机第二版>>
以下内容全部摘自<<深入Java虚拟机第二版>>
前面一篇文章分析了Spring的配置文件的解析, Spring源码解析 配置文件装载与解析 下面接着来看配置的Bean是如何初始化的实例化的.
Java类中,有这么几个东西 静态变量,静态初始化块,变量,初始化块,构造器 它们的执行顺序,只要知道以下几个原则就好了 1. 静态 优先于 非静态 2. 变量 优先于 初始化块 优先于 构造器 3. 父类 优先于 子类 于是乎,顺序如下: 父类 静态变量  父类 静态初始化块  子类 静态变量  子类 静态初始化块  父类 变量  父类 初始化块  父类 构造器  子类 变量  子类 初始化块  子类 构造器 
Template Method模式很容易理解,就是由基类提供一个模板,将各子类中不变的行为提取到基类中实现,而各子类中可变的行为则由各子类自己重写基类方法实现. Strategy则是在使用策略模式的应用实例内部维护一个策略实例,针对不同的子类用不同的策略实现. 来看看两者的代码实现: Template Method模式 -- 基类 package com.dzeay.pattern.template_method; public class BaseTemplate { public void doSameThing() { System.out.pri ...

Java IO体系

Java IO体系
先上代码 package com.dzeay.aop; public interface IBusiness { public void excute(); } package com.dzeay.aop; public class BusinessImpl implements IBusiness { public void excute() { System.out.println("BusinessImpl.excute"); } } package com.dzeay.aop ...
Adapter(适配器模式) Adapter -- IDAO接口 package com.dzeay.pattern.adapter; public interface IDAO { public void insert(); } Adapter -- OracleDAO package com.dzeay.pattern.adapter; public class OracleDAO implements IDAO { @Override public void insert() { System.out.print ...
Builder(创建者模式) Builder -- 抽象创建者 package com.dzeay.pattern.builder; public abstract class Builder { public abstract void a(); public abstract void b(); public abstract void c(); public abstract void d(); public abstract void e(); } Builder -- 创建者实现 package ...
工厂模式之Simple Factory, Factory Method 以及Abstract Factory三种模式比较 以常用多种数据库访问层DAO为例, 三种模式代码分别为: Simple Factory(简单工厂模式) Simple Factory -- IDAO接口 package com.dzeay.pattern.simple_factory; public interface IDAO { public void execute(); } Simple Factory -- Db2DAO package com.dzeay.pattern.s ...
删除SVN目录的批处理 总是在用的时候找不到, 记在这里吧 批处理 @for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn" 注册表 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] @="Delete SVN Folders" [HKEY_LOCAL_MACHINE\SOFTW ...
Global site tag (gtag.js) - Google Analytics