随笔分类 -  Java

摘要:设计模式学习笔记十二:访问者模式介绍访问者(visitor)模式,属于对象行为型模式,它实现了结构与行为的解耦。 意图:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。(本段摘自《GoF设计模式》 5.11)适用场景访问者模式适合对象的结构稳... 阅读全文
posted @ 2015-07-27 08:58 土豆条 阅读(190) 评论(0) 推荐(0)
摘要:设计模式学习笔记十一:观察者模式介绍观察者(observer)模式也叫发布-订阅模式,实现了观察者和被观察者的解耦操作,观察者可以根据自身需求选择关注哪些主题和取消关注哪些主题,当主题发生变化的时候会轮询通知观察者,所以主题和观察者之间是一对多的关系。典型应用MQAWT事件监听NIO多路复用……UM... 阅读全文
posted @ 2015-07-27 08:54 土豆条 阅读(199) 评论(0) 推荐(0)
摘要:遇到个小需求要写一个验证码功能,就是加减法,感觉挺好玩的就顺手写了。纯属自娱自乐,凑数,Orz~~ 生成图片的部分没写,逻辑都差不多。主要注意:干扰线,噪点,变形,背景色就OK。我用的现成的代码,就不发了。 /** * 加减法验证码 */ public class VerifyCodeUtil { 阅读全文
posted @ 2015-07-17 00:18 土豆条 阅读(461) 评论(0) 推荐(0)
摘要:总想写点技术积累。因为最近工作比较忙,一忙一懒,找足了借口 :(今天想简单记录一下前段时间发现在做数据清洗时遇到的问题,在处理这件事情上,感受到了许多。大概需求是这样的:有两组数据库,每组都是分库分表的结构。从两组库中查出数据,根据规则再进行入库、清除缓存、发送消息队列。数据有几千万。遇到这样的问题... 阅读全文
posted @ 2015-07-10 00:13 土豆条 阅读(280) 评论(0) 推荐(0)
摘要:构造器(Builder)模式,也叫生成器模式,属于创建型模式之一。GoF设计模式一书描述此模式的意图是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。适用场景:创建复杂对象,并且该对象的算法可以独立出来进行复用,构造过程必须允许被构造的对象有不同的表示。本例子代码基于GoF... 阅读全文
posted @ 2015-06-28 22:13 土豆条 阅读(229) 评论(0) 推荐(0)
摘要:原型设计模式是一个比较简单的设计模式,创建型模式的一种。主要作用是实现对象的自我复制。在实现上大多采用实现JDK中的Cloneable接口。适用场景同它的作用,也就是需要进行对象拷贝的情况。 在属性拷贝过程中,本例子实现了两种方式:浅复制和深复制。代码如下: 阅读全文
posted @ 2015-06-28 00:10 土豆条 阅读(175) 评论(0) 推荐(0)
摘要:享元模式,又叫蝇量模式:适用于是小类的复用,多与工厂模式配合使用。没看设计模式的人,在coding的时候应该会不知不觉中写过这种结构的代码,只不过不知道名字叫什么而已。 享受模式详细定义:传送门 上代码: 阅读全文
posted @ 2015-06-26 19:21 土豆条 阅读(160) 评论(0) 推荐(0)
摘要:生产者与消费者解耦,典型应用:MQ。不多解释,code talking:调用模块:package com.array7.ds.pc;import java.util.concurrent.BlockingDeque;import java.util.concurrent.LinkedBlocking... 阅读全文
posted @ 2015-06-10 13:21 土豆条 阅读(202) 评论(0) 推荐(0)
摘要:策略模式,它主要的作用是封装算法,是一种行为模式。 有三种角色: 1、具体算法角色:具体的算法的实现; 2、抽象策略角色:抽象类或接口,提供具体算法角色的抽象; 3、上下文角色:实现对具体算法角色的引用。 更详细定义参照:策略模式。 代码时间: 1、具体实现: 2、具体算法策略: 3、抽象接口: 3 阅读全文
posted @ 2015-02-15 11:32 土豆条 阅读(138) 评论(0) 推荐(0)
摘要:在java中,原型实现Cloneable接口实现clone接口方法。 在使用过程应该注意的一点是,Object的clone方法是不复制对象的,只会复制对象的引用,也就是说仅仅复制了对象的内存地址。所以人们常说的浅拷贝和深拷贝说的就是是否要复制对象值的操作。 代码如下: 阅读全文
posted @ 2015-01-25 06:44 土豆条 阅读(124) 评论(0) 推荐(0)
摘要:抽象工厂模式是工厂方法模式的进一步抽象,适用于有多个产品族的场景,拿美食举例: 美食可分为中餐和西餐,中餐又有东北菜,湘菜,粤菜等。而西餐又有法式菜、美式菜、德式菜等。这种可以称之为产品族。 个人认为抽象工厂顶级类应该都是单例的。 直接上代码了,代码与上面举例业务无关: 阅读全文
posted @ 2015-01-25 06:10 土豆条 阅读(136) 评论(0) 推荐(0)
摘要:相信很多道友搞开发的一般都会用到Junit单元测试工具,不知道大家有没有遇到一个这样的问题: 有的单元测试用例有很多@Test方法,甚至有的方法会执行很长时间,只能空等执行。而实际上我们只需要运行其中的某一些方法就可以了。然后有人会说不是有ingore注解么,可ingore需要为许多的方法添加,当测 阅读全文
posted @ 2015-01-20 22:34 土豆条 阅读(411) 评论(0) 推荐(0)
摘要:Mybatis3.2源码分析:一、加载配置文件。 使用SAX解析配置文件。读取xml配置文件后,调用XMLConfigBuilder.parse()方法,在parse方法中再调用parseConfiguration()方法,对读取到的配置信息保存到BaseBuilder.configuration... 阅读全文
posted @ 2014-10-04 19:23 土豆条 阅读(382) 评论(0) 推荐(0)
摘要:Java动态代理使用接口进行代理。不直接实例化目标类,而是通过动态代理类生成,这样在这个动态代理中调用目标类的时候就可以在方法前后调用逻辑。 代码如下: 1、创建基本实现类和实现接口: 2、创建动态代理类: 3、测试: 4、结果输出: 5、其他: Jdk自动动态代理的实现必须代理接口,当需要代理具体 阅读全文
posted @ 2014-10-02 12:02 土豆条 阅读(156) 评论(0) 推荐(0)
摘要:HashMap 实现Map、Cloneable、Serializable接口,继承AbstractMap基类。 HashMap map = new HashMap<String,String>(); 实例化一个HashMap,在构造参数中,设置了默认的loadFactor(DEFAULT_LOAD_ 阅读全文
posted @ 2014-09-21 16:27 土豆条 阅读(208) 评论(0) 推荐(0)
摘要:责任链模式:Responsibility Of Chain,简称RoC。链式结构,由多个结点组成,具备依次向下传递的特性,到达每个结点可以选择做处理或向下传递。每个结点可以设计为独立的功能单元,好处就是实现了解耦。设计好传递条件,即可清除在哪个结点做什么,出问题去哪里修改。我简单画了一个时序图,不大... 阅读全文
posted @ 2014-09-02 14:32 土豆条 阅读(221) 评论(0) 推荐(0)
摘要:上篇文章讲到了简单工厂模式(Factory method) 本人将按照上篇文章的场景继续讨论,若想了解请移至这里。 场景只是为了引申出主题,不具有实际意义,请谅解业务逻辑不完整之处,以后可能会再进行润色,咱只是不希望把一个模式说的没有依据。 随着公司领导有方与同事努力奋斗,公司的业绩越来越好,不同的 阅读全文
posted @ 2014-08-12 23:13 土豆条 阅读(237) 评论(0) 推荐(0)
摘要:含义: 从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个 阅读全文
posted @ 2014-08-11 22:49 土豆条 阅读(206) 评论(0) 推荐(0)
摘要:单例模式,全局保证指定对象只有一个实例。单例模式应该具备避免外部调用多次实例化的特性,并且要在并发环境下数据准确防止”幻读“。 单例模式实现有很多种,下面是实现之一: 调用片段: 阅读全文
posted @ 2014-07-01 23:34 土豆条 阅读(133) 评论(0) 推荐(0)
摘要:0、近期写了一个模拟数据接口,不想采用大型数据库,于是在同事的推荐下用了H2,简要记录。1、 H2简介(摘自H2官网:http://www.h2database.com/html/main.html):Welcome to H2, the Java SQL database. Themain fea... 阅读全文
posted @ 2014-06-19 13:20 土豆条 阅读(288) 评论(0) 推荐(0)