- 浏览: 44241 次
- 性别:
- 来自: 杭州
-
文章列表
28、设计模式之动态代理
- 博客分类:
- java
在25章讲过代理模式,这里再开一章来详细讲解代理模式,因为在spring的aop核心技术就是动态代理,有必要把动态代理机制理解透彻:
代理模式的特征是代理类与委托类(被代理类)有同样的接口,代理类主要负责为委托类预处 ...
27、设计模式的6大原则(暂空)
- 博客分类:
- java
设计模式的六大原则
1、开闭原则(Open Close Principle)
开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类;比如学习过的抽象工厂模式;
26、设计模式之行为模式
- 博客分类:
- java
行为模式:策略模式、模板方法模式、观察者模式、迭代模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
3.1、Strategy(策略模式)
提供一个辅助类A,和一个接口实现不同的算法,按需求调用不同的算法;
3.2、Template Method(模板模式)
就是将策略模式的抽象方法和辅助类的辅助方法放到一个抽象类中,实现类分别实现抽象方法,实现和策略模式一样的功能;
3.3、Observer(观察者模式)
@
25、设计模式之结构模式
- 博客分类:
- java
结构型模式:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
2.1、Adapter(适配器模式): class C继承class A ,以达到A的代码重复利用;就是将class A 的方法适配到 接口B中去,这种设计模 ...
24、设计模式之创建模式
- 博客分类:
- java
设计模式的分类
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
还有两类:并发型模式和线程池模式。
这里说的模式可以理解为如何创建实例,这种创建实例的设计方式有什么好处和用地;
1.1、FactoryMethod (工厂方法模式)
@判断创建实例:
接口; 实现 ...
23、jvm之JNI
- 博客分类:
- java
JNI是Java Native Interface的缩写,JAVA本地调用。从jdk1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。看过JDK源代码的人肯定会注意到在源码里有很多标记成native的方法。这些个方法只有方法签名但是没有方法体。其实这些naive方法就是我们说的 java native interface。他提供了一个调用(invoke)的接口,然后用C或者C++去实现;
JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA ...
21、java反射机制与注解
- 博客分类:
- java
反射,reflection,听其名就像照镜子一样,可以看见自己也可以看见别人。在java语言中这是一个很重要的特性。下面是来自sun公司官网关于反射的介绍:
Reflection is a feature in the Java programming language. It allows an executing Java program to examine or "introspect(内省)" upon itself, and manipulate(操作) internal properties of the program. For example, it' ...
讲解之前先引入几个问题:
1.jvm如何识别.class文件?
2.jvm如何加载.class文件里面的字节码?
3.jvm如何创建类、对象、方法、属性?
上一章中讲到,jvm是通过.class文件的二进制流转换成16进制,得到字符串cafebabe认为这是一个.class文件;若任意文件本身不是由javac生成的.class文件,即使更改文件名为.class后缀的文件,不能被认定为cafebabe(6f6b);
由上图可知类加载器是JVM的一部分,主要作用是将字节码加载进入执行引擎,以供执行。当调用ava.exe执行一个.class文件时,从而根据%JAVA_HOME% ...
18、认识java语言
- 博客分类:
- java
编译型语言&解释型语言&混合型语言&脚本语言
动态语言&静态语言&强类型定义语言&弱类型定义语言
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算 ...
nullnullnullnullnullnullnullnullnullnullnullnull
Spring 的 Web MVC 框架是围绕 DispatcherServlet 设计的,它把请求分派给处理程序,同时带有可配置的处理程序映射、视图解析、本地语言、主题解析以及上载文件支持。默认的处理程序是非常简单的 Controller 接口,只有一个方法 ModelAndView handleRequest(request, response)。Spring 提供了一个控制器层次结构,可以派生子类。如果应用程序需要处理用户输入表单,那么可以继承 AbstractFormController。如果需要把多页输入处理到一个表单,那么可以继承 AbstractWizardFormControl ...