摘要:
一、介绍什么是代理模式。惯例,我们先看一下《研磨设计模式》中的介绍——为其他对象提供一种代理以控制对这个对象的访问。代理模式的本质是——控制对象访问。什么意思呢?就是我们每次访问一个对象的时候,实际上去访问这个对象的代理。这个代理实际上就是这个对象的替身,可以实现原本对象绝大多数的功能。只有当需要某... 阅读全文
摘要:
编程规范是很重要的东西,能让团队的代码易于阅读和维护,也便于日后的功能扩展。工欲善其事必先利其器!作为一个Java程序员,与Eclipse打交道可能是一辈子的事情。将Eclipse设置为符合公司编程规范的模式,将节省我们很多时间。使用Eclipse的都知道 Ctrl + Shift + F 这个快捷... 阅读全文
摘要:
中介者模式是一个设计模式中非常重要的一个模式,是我们模块设计中经常会用到的。一、介绍那么什么是中介者模式呢?《研磨设计模式》中有这样的定义——用一个中介对象来封装一系列的对象交互。中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立的改变它们之间的交互。中介者模式的本质是——封装交互... 阅读全文
摘要:
今天在书上看到一个作者提出一个问题“怎样通过编写Java代码让Jvm崩溃”,我看了之后也不懂。带着问题查了一下,百度知道里面有这样一个答案: 1 package jvm; 2 3 public class Crash { 4 public static void main(String[]... 阅读全文
摘要:
(前言:最近在复习设计模式,之前学的不少都忘了,而且印象不深刻,所以最近才每天抽时间复习。照着书本多打打代码,自己理解了之后按照自己的想法也打打代码,感觉进步挺大的。写这个博客,也是觉得自己好不容易打的东西,放在这里也好让日后自己可以轻松的复习。)一、介绍生成器模式是什么呢?《研磨设计模式中》给了这... 阅读全文
摘要:
一、介绍什么是抽象工厂模式呢?《研磨设计模式》中是这样定义的:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。本质是——切换产品簇的实现。这里的描述挺含糊的,产品簇是什么呢,就是一系列有关联的对象。其实呢,说白了,就是这个工厂接口是用来创建一系列对象的,其实现类保证了其创建的一系... 阅读全文
摘要:
一、介绍今天,我们来回顾一下工厂方法模式,这个模式很简单。《研磨设计模式》中的定义是:定义一个用于创建对象的接口,让子类决定实例化哪个类,“Factory Mehod”使一个类的实例化延迟到子类。工厂方法模式的本质是——延迟到子类来选择实现什么意思呢?简单来说,就是面向接口编程。打个比方,我现在需要... 阅读全文
摘要:
《研磨设计模式》中的定义:保证一个类仅有一个实例,并提供它的一个全局访问点。而单例模式的本质便是——控制实例数目。一、介绍1、单例模式是比较简单的模式,传统的有懒汉式和饿汉式两种。懒汉式如下:package singleton;public class Singleton1 { private... 阅读全文
摘要:
一、介绍我们看一下《研磨设计模式》中的定义:将一个类的接口转换成客户希望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式的本质是——转换匹配,复用功能。怎么理解呢?就是说,新的接口需要实现的功能,旧的接口现在都有,问题是,怎么把旧的接口的实现类拿去实现新的... 阅读全文
摘要:
一、介绍:引用《研磨设计模式》中的定义:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这一接口使得这一子系统更易于使用。外观模式的本质是——封装交互、简化调用。什么意思呢?外观模式封装交互的目的,就是简化调用。说白了,就是要讲各个模块之间复杂的交互,放到外观类的某些方法... 阅读全文
摘要:
JDK1.3之后,Java提供了动态代理的技术,允许开发者在运行期间创建接口的代理实例。一、首先我们进行JDK动态代理的演示。现在我们有一个简单的业务接口Saying,如下:package testAOP;public interface Saying {public void sayHello(S... 阅读全文
摘要:
今天学习Spring,突然想重新复习一下Java类加载和类反射的。巩固一下底层原理。部分参考了李刚老师的《疯狂Java讲义》和陈雄华、林开雄的《Spring3.x企业应用开发实战》。一、一个命令对应一个进程。 当我们启动一个Java程序,即启动一个main方法时,都将启动一个Java虚拟机进程,不管这个进程有多么复杂。而不同的JVM进程之间是不会相互影响的。这也就是为什么说,Java程序只有一个入口——main方法,让虚拟机调用。而两个mian方法,对应的是2个JVM进程,启动的是两个不同的类加载器,操作的实际上是不同的类。故而不会互相影响。二、类加载。 当我们使用一个类,如果这个类还未加载到 阅读全文
摘要:
最近重新复习了一下java基础,在使用javap的过程中遇到了一些问题,这里便讲讲对于一个类文件如何编译、运行、反编译的。也让自己加深一下印象。如题,首先我们在桌面,开始->运行->键入cmd 回车,进入windows命令行。进入如图所示的画面:可知,当前默认目录为C盘Users文件夹下的Admin... 阅读全文
摘要:
spring struts2 整合 阅读全文
摘要:
(本人第一次写博客,部分内容有参照李刚老师的疯狂java系列图书,如有遗漏错误,请多指教,谢谢。)Java的集合类可分为Set、List、Map、Queue,其中Set、List、Queue都有共同的接口:Collection.所以Collection和Map是Java集合框架的根接口。Java集合实际上并不是真的把对象放入其中,集合中保存的只是对象的引用。这里首先讲Map,因为所有的Set底层都是由Map实现的,仔细观察API可以发现,Set集合继承体系中所有的接口、实现类的类名,对应的Map集合体系都有。如:Set-->Map EnumSet-->EnumMap SortedS 阅读全文