自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (14)
  • 问答 (1)
  • 收藏
  • 关注

原创 原型工厂模式

    顾名思义就是原型模式和工厂模式的结合。在GOF的书里面,抽象工厂那节中对这个有描述,不过内容很少,所以看的时候也没注意到。    说个实际的问题:系统需要向用户发送短信,但是根据场景的不同,发送的短信格式也不同,比如重置密码和发送临时验证码的短信格式就有区别,而之前的开发人员使用了策略模式,每个内容都有一个类,现在也不方便去改动这些。但是随需求的增加,发送的场景在不断增加,策略+工...

2012-09-03 11:15:10 339

原创 学习:桥接模式(Bridge)

意图将抽象部分与它的实现部分分离,使它们都可以独立地变化。别名Handle/Body 结构 参与者• Abstraction— 定义抽象类的接口。— 维护一个指向I m p l e m e n t o r类型对象的指针。• RefinedAbstraction— 扩充由Abstraction定义的接口。• Implementor...

2012-08-31 21:43:20 148

原创 学习:适配器(Adapter)

如果你知道电源适配器的作用,就应该很容易理解这个模式。 意图:将一个类的接口转换成客户希望的另外一个接口。 Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 别名:包装器 Wrapper 结构:类适配器public interface Target { public void request();}...

2012-08-21 14:17:27 301

原创 学习:创建型模式

创建型模式:用于创建对象的模式。 用一个系统创建的那些对象的类对系统进行参数化有两种常用方法:一、生成创建对象的类的子类;这对应于使用 Factory Method模式。这种方法的主要缺点是,仅为了改变产品类,就可能需要创建一个新的子类。这样的改变可能是级联的。 二、对系统进行参数化的方法更多的依赖于对象复合:定义一个对象负责明确产品对象的类,并将它作为该系统的参数。这...

2012-08-19 22:58:42 91

原创 学习:单件(Singleton)

意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 结构图: 代码示例:public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { } public static Singl...

2012-08-19 22:14:19 94

原创 学习:原型(Prototype)

很少见到,我都没遇到过,或是遇到过也没注意。 意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 结构:Prototype    ——声明一个克隆自身的接口ConcretePrototype    ——实现一个克隆自身的操作 协作:客户请求一个原型克隆自身。 示例代码:public abstract...

2012-08-19 21:51:28 217

原创 学习:工厂方法(Factory Method)

意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类。 Factory Method使一个类的实例化延迟到其子类。 别名:虚构造器(Virtual Constructor) 结构: •Product— 定义工厂方法所创建的对象的接口。• ConcreteProduct— 实现Productt接口。• Creator— 声明工...

2012-08-15 13:27:07 88

原创 学习:生成器(Builder)

用来构建复杂的实例,java的StringBuilder就是一个Builder模式的例子。 意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 结构: 代码示例:Builder类public abstract class Builder { protected String product; public...

2012-08-13 21:23:13 80

原创 学习:抽象工厂(Abstract Factory)

意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。别名:Kit结构:代码示例:AbstractFactory类public abstract class AbstractFactory { public abstract AbstractProductA createProductA(); pub...

2012-08-13 13:59:34 91

原创 Mybatis返回特殊Map

想返回个特殊实体,一个Map,key是一个表的一个字段的值,value是另一个表的所有记录。参考了下网上的“攻略”,不过和攻略里面讲的有点不同,那里面key的值value的实体实在同一个表内,如果不同表,会报缺少set方法的异常。解决方法很简单,就是在实体里面加个字段对应的属性。但是并不愿意为了一个查询语句就要去改变实体。   无聊看了下session的select,提供了通过ResultHa...

2012-08-04 22:33:21 323

原创 保护眼睛,设置eclipse文本编辑背景色为自然绿

“色调”的参数设置为85,把“饱和度”参数设置为123,把“亮度”参.数设置为205 红199 绿237 蓝204

2012-08-04 21:43:29 82

原创 大家來學VIM(一個歷久彌新的編輯器)[十]

規則表示式的運用 在本系列文章一開始就說明了學 vi(m) 可以順便學規則表示式(regular expression,以下簡稱 regexp),那為什麼到現在才來講呢?因為 regexp 說簡單也算不很難,但您要深入去使用的話,有時會馬上看不出一個複雜的 regexp 在說些什麼的,就曾有人形容 regexp 為「有字天書」!而且在 vi(m) 整體都還沒一個概念就加入 rege...

2012-05-31 20:19:14 118

原创 大家來學VIM(一個歷久彌新的編輯器)[九]

set 功能設定 本單元可說是 vi(m) 的微調功能,可依您個人的喜好做有限度的調整。由於 vim 做了相當的擴充,文內主要是述敘 vim 的設定,但 elvis 沒有的也會標明。但並不打算一網打盡,只說明重要、常用的部份,其它的可以 :h option-list 來查閱。Linux Journal 四月份(April, 2000)有一篇關於 configuring Vim 的文章...

2012-05-31 20:18:40 104

原创 大家來學VIM(一個歷久彌新的編輯器)[八]

shell 命令及求助系統  shell命令:!外部指令 執行外部指令。當然您的指令要在 PATH 內。:!! 執行前一次執行之外部指令。在這裡的 ! 可不是強迫中止喔! vim 中有一個很特殊的指令 @:,是重複前一次的冒號命令。 :sh(ell) 執行 shell。使用 exit 回來。這在 vim...

2012-05-31 20:13:18 85

原创 大家來學VIM(一個歷久彌新的編輯器)[七]

各種標示方法及視窗操作 這個單元多了一種模式,那便是 visual mode(以下簡稱 v-mode)v-mode 下的反白區(反黑區?^_^)在本文就統一稱為標示區,不知各位是否有更好的中文名稱?ㄟㄟㄟ,視窗操作和標示有什麼關係?為什麼擺在這裡說明?ㄚ,是因為這兩個單元內容都不多,沒地方擺,所以就將就湊在一起的啦!亂點鴛鴦譜就請各位見諒。   標示指令v ...

2012-05-31 20:12:32 78

原创 大家來學VIM(一個歷久彌新的編輯器)[六]

叫檔、存檔、緊急回復 ㄟ,是不是在灌水呀!怎麼開個檔也成一個單元?那您就錯了,在 vi(m) 裡叫檔的花樣可多了,而且又可以多檔編輯,各編輯中的檔案還可以互通訊息,這裡面學問可大著呢!vim 就更騷包了,也學人家檔案可以加密,雖說是噱頭,但也還滿好用的。   開檔的一些花招vim + 檔名 這樣開檔後,游標會落在檔案最後一行的行尾,在檔 ...

2012-05-30 09:03:13 93

原创 大家來學VIM(一個歷久彌新的編輯器)[五]

尋找、替換 搜尋、替換的功能幾乎是每個編輯器必備的功能,那在 vi(m) 中有沒有特殊的地方呢?當然有,您忘了,vi(m) 是個性十足的編輯器。最特殊的地方是和規則表示式(regular expression,簡稱 regexp)結合在一起。簡單的說她是一種 pattern 的表示法,在執行動作,如尋找或替換,就會依據這個 pattern 去找,所有符合 pattern 的地方就會執...

2012-05-29 20:17:26 69

原创 大家來學VIM(一個歷久彌新的編輯器)[四]

複製(yank) yank 是什麼意思?有疑問的請查一下字典吧!就好像是中醫治療中的「拔罐」的意思啦(是不是叫「拔罐」?知道的朋友指正一下吧)!反正在 vi(m) 中,她就是複製 copy 的意思。這在 vi(m) 的思考邏輯裡,就是「拔」yank 起來,「放」put 上去。其實複製的指令就是 y 一個而已,為什麼要獨立成一個單元來說明呢?因為 vi(m) 複製、貼上的功能實在太獨特...

2012-05-29 20:14:55 61

原创 大家來學VIM(一個歷久彌新的編輯器)[三]

基本編輯指令 這個單元就開始進入主題了。下編輯指令都是在 commond-mode(c-mode),就是您一進入 vim 時的模式,只能下指令,不能鍵入文字。如果印象模糊,請瞄一下第一個單元的內容。這個單元說的是基本的指令,有些比較特殊的編輯指令,因為太有個性了,所以會獨立成一個單元來說明。   進入i-mode指令i 在游標所在字元前開始輸入文字(inse...

2012-05-29 20:11:53 60

原创 大家來學VIM(一個歷久彌新的編輯器)[二]

游標的移動本節所述皆是在 common-mode(c-mode,在 vim 又名 normal-mode)下的移動,原始的 vi 只能在 c-mode 移動游標,在 insert-mode 只做文字的輸入,而不做游標的移動。當然 vim 及 elvis 的方向鍵是不論在那一種 mode 皆可移動自如。   基本的游標移動h 左,或 Backspace 或方向鍵j...

2012-05-29 20:08:54 54

原创 大家來學VIM(一個歷久彌新的編輯器)[一]

本文出自:http://www.study-area.org/tips/vim/index.html因为最近在学vim,所以转过来。里面是繁体,好多都是台湾的计算机术语,看的时候有点怪异,不过还是不影响阅读的。大家來學VIM(一個歷久彌新的編輯器)[一] 前言 鑑於仍有許多人還沒找到順手的編輯器,而許多想學 vi 的人又覺得無從下手,因此在此...

2012-05-29 19:59:23 89

程序员修炼之道-前言

      在好多论坛上很多人都推荐《程序员修炼之道》这本书,自己也是很希望提升自己的能力,所以早早的就像买来看看。之前下了这本书的电子书看了下,感觉很不错,锁前几天就在网上买了本回来。所以这几天都在研读这部宝典。       这本书虽然不是什么圣经级别的不朽经典,但是的确是一部发人深省之作。全书没有怎么讲计算机方面的技术,而是在探讨如何成为一个“注重实效的程序员”,这是这本书的唯一一...

2012-05-27 22:02:13 187 1

原创 EJB的SessionBean抛出异常

     前天,偶然发现在远程调用EJB的时候抛出的异常比较怪异。之前知道调用SessionBean时候,如果接口抛出了异常,EJB会对异常有一次封装,都变成了EJBException。所以在捕获的时候都是捕获这个异常。可这次却抛出了一个自己定义的异常,导致了无法捕获。查了下EJB的一些说明,建议是不要在SessionBean抛出继承RuntimeException的异常,因为EJBexcepti...

2012-05-24 23:56:01 151

原创 JAVA可变参数方法及它的重载

JAVA支持方法的可变参数。类似如下public void method1(String... arg1); 这样,调用method1时候,参数的数量是可变的,如method1("1","2","3")。注意可变参数只能是最后一个参数。JAVA内部是把这样的参数看成一个数组来处理。在获取多个参数的时候可以用数组遍历来完成。for (String temp : arg1) {...

2012-04-28 14:22:59 435

原创 Java源码解读——ArrayList(二)

看了下ArrayList的源码,记录下自己的解读心得与体会。 ArrayList的自动变长机制都知道ArrayList不像数组那样是定长的,然而ArrayList也使用了数组来保存数据,所以么,自然很关心是怎么实现变长的。 ArrayList通过ensureCapacityInternal(int minCapacity)方法实现自身容量的增加,在add()和addAll(...

2012-03-14 14:15:14 81

原创 Java源码解读——ArrayList(一)

为了提高自己的Java开发能力,我也向高手、牛人学习,去解读源码。自己底子差了点,不过看个源码还是没问题的。第一站ArrayList。源码为Java 1.7的源码ArrayList是一个实现可变长数组,继承AbstractList类,实现所有的List接口,还实现了RandomAccess、Cloneable、Serializable接口。ArrayList不进行同步,除此之外基本...

2012-03-13 13:13:03 109

原创 Clone使用方法详解

Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别。和C语言一样,当把Java的基本数据类型(如int,char,double等)作为 入口参数传给函数体的时候,传入的参数在函数体内部变成了局部变量,这个局部变量是输入参数的一个拷贝,所有的函数体内部的操作都是针对这个拷贝的操作, 函数执行结束后,这个局部变量也就完成了它的使命,它影响不到作为输入参数...

2012-03-12 14:23:12 131

原创 《重构》学习笔记五

大型重构的重要性大型重构没有那些小动作那样立竿见影的效果,不过它可以帮助我们解决那些堆积了很久,影响范围又很大的问题。 Tease Apart Inheritance(梳理并分解继承体系)用于处理混乱的继承体系——这种继承体系往往以一种令人迷惑的方式组合了数个不同方面的变化(variations)。 ...

2012-03-01 13:06:56 91

原创 《重构》学习笔记四

测试……一年前,我开发的时候还是很不在乎测试,不过那个时候也没人告诉我测试的重要性。知道意识到要提高自己,学习中看到了那么多提到测试的,所以慢慢的尝试使用(大部分是单元测试),然后深深的爱上了单元测试(其他测试呢,好吧,编程中的确比较少用到其他测试,我比较懒)。作者在前面反复提到测试在重构中的重要性,这章就是介绍测试的。 自我测试代码的价值:编码...

2012-02-29 22:56:20 76

原创 《重构》学习笔记三

代码的坏味道…老外没有艺术细胞,作为一名大师级任务,好歹给起个好听点的名称。向金庸老人家学习下,让我们也感染下艺术气息。 我认为吗,坏味道就是对一段问题代码的感觉,从感性慢慢分析到理性。这种感觉需要在实践中培养。观看这里的介绍只能有个大概的理解方向,只有在反复在实际的代码中去体会,才能运用自如。 我也是爱国人士,也很不喜欢英语,不过毕竟都...

2012-02-29 22:28:20 83

原创 《重构》学习笔记二

    何谓重构,对它熟悉后估计理解都不用,作者说了两个概念,动词和名词,意思都差不多,无法就是通过调整软件内部的结构来达到想要的样子。     一、为何重构    改进软件设计:    不管开始的时候设计是多么好的一个软件,随着越来越多的修改,之前的设计也会被埋在代码堆里面。重构能够整理之前的设计,甚...

2012-02-22 14:30:41 99

原创 《重构》学习笔记一

 码农真得很辛苦,每天除了要下地编码之外,还需要挑灯夜战,学习专业知识,唉。不抱怨了,抱怨都是那些自暴自弃的人愤世嫉俗的。最近看《重构》一书,话说是一本很多人推荐看的好书,封面上还写着“从初级程序员到编程高手的秘籍”。好吧,我承认是初级程序员。所以我看了。 第一章:与其他书不同,第一章是一个例子。很多书,包括大学教材啊,技术教材都是以要讲的内容的定义和一些学习的重要...

2012-02-20 14:10:19 169

原创 研读代码必须掌握的Eclipse快捷键

原文:http://www.cnblogs.com/yanyansha/archive/2011/08/30/2159265.html1. Ctrl+左键 和F3 这个是大多数人经常用到的,用来查看变量、方法、类的定义跳到光标所在标识符的定义代码。当按执行流程阅读时,F3实现了大部分导航动作。2 Ctrl+Shift+G在工作空间...

2012-02-02 10:32:11 47

原创 j2ee成长路线

        听说J2EE的成长路线是:api-->源码-->jvm-->字节码汇编-->机器执行方式(内核),想想看自己到哪一步了,貌似还是api?好悲剧啊,完全原地不动,要走的路还很长啊,只能努力在努力。...

2012-01-19 22:48:40 160

原创 正确使用Volatile 变量

原文:http://www.ibm.com/developerworks/cn/java/j-jtp06197.htmlJava 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几...

2012-01-19 13:26:15 69

原创 Eclipse 3.7中文字体太小解决办法

作者:云海拾贝地址:http://hi.baidu.com/lovearuis/blog/item/2316fd129caccd1b5aaf53b0.html 升级到3.7Eclipse最直观的反映就是,中文怎么那么小啊………… 相当不方便。其实这是Eclipse的默认字体换了,以前的一直是Courier New,现在修改字体也找不到了,算了不找了。这次eclipse用的字体是Co...

2011-12-08 17:52:49 165

原创 poi 取消科学计数法

前台输入手机号13777777777,如果是为Double类型接收,就会自动转为科学计数法 找了下,一般是Double转String,方法一般有两种:1.利用String.format()saleUnilateImport.setPhone(String.format("%.4f",row.getCell(1).getNumericCellV...

2011-12-02 15:18:05 521

原创 apache jcs cache system 使用配置简介

一 词汇理解 Elements:目前的理解是要被放进 Caching System 的对象Regions:你可以将 Caching System艺命名空间区域划分提供基本的 namespace 功能。这样有什么样的好处呢?每一区的需要更新的频率不太一样,可以分开设定。Auxiliaries:Auxiliaries 是可以让 Regions 使用的 plug-in,基于磁盘序列...

2011-11-08 17:26:26 143

原创 【转】用Java缓存机制创建更快的Web应用----简介和配置

   Web开发人员通过Java的缓存功能可以方便快捷的改善应用程序的性能。对于java应用程序来说,一个强大的分布式Java缓存系统(JCS),是用简单的API就可以进行高度配置的工具。这篇文章概要的介绍了JCS,并且展示了怎样用它为Web应用程序提速。   很多的桌面应用程序正在被重写成Web应用程序,理想情况下,被重写后的应用程序应该和桌面版本的应用程序一样快捷并且具有可伸缩性...

2011-11-04 16:36:12 85

原创 【转】用Java缓存机制创建更快的Web应用----基本用法

   学习JCS的基本原理的一个好的方法是看它的API的最一般的用法。从缓存区自身的初始化开始是最好的地方。通过初始化JCS缓存区对象,你会获得访问缓存区所需要的几乎所有的共通方法。下面列出了初始化JCS对象并取得默认的缓存区实例的方法:  // Initialize the JCS object and get an instance of the default cache r...

2011-11-04 16:33:57 70

泛微OA 8.0库表结构文档

泛微OA 8.0库表结构文档。每个表的注释、字段注释齐全。适合想通过表结构进一步了解其业务或通过数据库拉去业务数据的开发者。

2021-04-22

编写可读代码的艺术-完整版(带书签)

编写可读代码的艺术-完整版(带书签),清晰扫描,有书签,方便阅读

2013-07-25

Spring3_权威开发指南

Spring3_权威开发指南,很不错的书。中文

2012-05-31

重构-改善既有代码的设计

《重构-改善既有代码的设计》,一般经典的开发进阶书籍

2012-05-24

Android应用框架原理与程式设计36技(中文)

Android应用框架原理与程式设计36技(中文)

2012-05-17

Android开发指南中文版

Android开发的入门书籍。需要有JAVA和一定编程基础。

2012-05-17

a byte of python for python3中文版

python的入门教程。老程序员或是入门新手都适合通过此书来学习python。

2012-04-16

设计模式速查手册

设计模式类图chm文件,另外有设计模式精简手册.pdf

2012-01-31

设计模式可复用面向对象软件的基础

设计模式可复用面向对象软件的基础(Design Patterns)书籍pdf格式

2012-01-18

winscp4.3.5

winscp 4.3.5版本,有中文。 WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。

2011-12-09

PLSQL Developer 9注册机

PLSQL Developer 9注册机

2011-12-07

shh工具putty

Putty是一个免费的Windows平台下的telnet、rlogin和ssh客户端

2011-12-07

详细了解JSP中九个隐含对象

详细了解JSP中九个隐含对象,page 对象,config 对象,request 对象,response 对象,out 对象,session 对象,application对象,pageContext对象,exception对象

2011-12-07

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除