- 博客(9)
- 收藏
- 关注
原创 观察者模式和Tomcat, Guava的EventBus中的简单实现
1. 简介 观察者模式,也叫发布-订阅模式, 定义了一对多的依赖关系. 多个观察者监听一个主题. 主题发生变化时, 观察者得到通知, 然后选择后续的动作. 这里的得到通知, 根据是主题主动通知还是观察者主动请求分为推模型和拉模型 类图如下: 上图是观察者模式的最简单实现,类似于OS中的最小系统. 和...
2015-09-18 20:49:26
177
原创 垃圾回收基础知识
一、简介 在C/C++中,都可以直接操作指针,分配内存都需要显式释放。 C++有构造函数和析构函数,创建对象用new,销毁对象用delete。C分配内存用malloc和free。 而java中,只需要显式的new出对象,具体什么时候销毁,就由JVM决定了,不需要人工干预。但是我么还是最好明白JVM垃圾回收的原理,出现问题也容易排查。 二、虚拟机基本结构 以Sun Hotspot...
2015-07-12 11:59:01
135
模板方法模式要点
模板方法模式是比较简单的模式,在框架中用处也很多,这里介绍下基本实现,和几个理解上的关键点。 1、定义和类图 定义一个抽象类,将部分逻辑使用具体方法或构造方法在抽象类中实现,另一部分逻辑,在抽象类中定义成抽象方法,强迫子类是实现。这样,不同的子类对于抽象方法的实现逻辑就可以不一样。这就是模板方法模式的意义。类图如下: ...
2015-05-09 21:47:22
137
原创 Java动态代理模式
代理模式,就是因为某些原因,无法操作一个具体的对象concrete,那么就提供一个代理对象proxy,通过这个代理对象来操作具体的对象concrete。 代理模式有很多种,包括静态代理,保护代理,远程代理,动态代理等等,每一种都有特定的使用场景。本文主要介绍Java中的动态代理。 一、静态代理和动态代理的区别 首先给出静态代理和动态代理的定义: 静态代...
2015-04-26 01:22:32
47
转载 Java动态代理
代理模式有很多种,包括静态代理,保护代理,远程代理,动态代理等等,每一种都有特定的使用场景。本文主要介绍Java中的动态代理。 一、静态代理和动态代理的区别 首先给出静态代理和动态代理的定义: 静态代理:由程序员创建,或由工具自动生成源代码,然后进行编译。运行期间,代理的class文件已经存在。 动态代理:程序运行时,通过反射机制动态创建而成。
2015-04-26 00:52:07
248
原创 深入剖析 Maven 规则
网上有很多maven配置和使用的内容,本文不重复讲解,只介绍maven的一些规则,在开发工作中不会被一些问题卡住。 一、什么是maven,为什么要用maven 作为一门编译型语言,和其它编译语言相同,需要进行编译,测试,部署等必须流程,也就是通常说的软件生命周期。我们需要一个工具能够帮我们自动的完成这样一些没有意义的事情,把精力集中在程序开发和业务处理上...
2015-04-18 20:36:43
129
转载 java反射机制与动态代理
类的生命周期 在一个类编译完成之后,下一步就需要开始使用类,如果要使用一个类,肯定离不开JVM。在程序执行中JVM通过装载,链接,初始化这3个步骤完成。 类的装载是通过类加载器完成的,加载器将.class文件的二进制文件装入JVM的方法区,并且在堆区创建描述这个类的java.lang.Class对象。用来封装数据。 但是同一个类只会被类装载器装载以前 链接就是把二进制数据组装为可以运行的状态
2014-05-28 08:53:27
253
原创 WordCount程序的简单解释
目前使用的hadoop是新架构,API与旧版本的也不一样。新版的API是在org.apache.hadoop.mapreduce,旧版API是在org.apache.hadoop.mapred中。新版API不兼容旧版API。 主要改变: 1、Mapper和Reducer不再是接口,而是抽象类,且Map函数和Reduce函数不再实现Mapper和Reducer接口,而是集成Mapper和Redu
2014-04-08 16:33:10
792
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人