自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 第六章 重新组织函数

 一、Extrat Method(提炼函数)定义:将这段代码放进一个独立函数中,并让函数名称解释该函数的用途。自我理解:就是将一个复杂的函数或者过长的函数分解成独立的小函数。例子: void printOwing(){ Enumeration e =_orders.elements(); double outstanding = 0.0; ...

2012-07-08 21:45:35 360

原创 重构-第3章 代码的坏味道-读书笔记

详见附件

2012-07-06 14:29:28 107

毕业一年的感想或者总结吧

今天突然很想写一些东西,因为自己似乎快毕业一年了,好像我从毕业开始就似乎挺折腾人的,下午似乎不想在公司做什么事情,就想想静下心,想想过去一年和未来的路该如何去找。先从毕业说起,毕业了,我进了一个WS科技股份有限公司,在厦门。也和女朋友开始了两地分居的过程(女朋友在深圳工作),这个也是我在过去一年挺纠结的一点,慢慢说,下午也许要说的挺多的。那时候我刚从大学里出来,虽然我已经在WS实习了半年,...

2012-05-10 16:34:47 225

原创 js数字比较

测试时,发现了代码中js出现的一个bug。var shouldAttendPersons = 8;var camePersons = 10;if(camePersons > shouldAttendPersons ) { alert("");}当shouldAttendPersons为8,camePersons为10时,打出了提示信息,原来js在这种情况下...

2012-05-05 16:16:07 109

原创 log4j PropertyConfigurator 类找不到异常

早上,用servlet+log4j做了一些模拟程序,想让程序初始化时,将log4j直接配置好,但是发现在启动tomcat时,总是会报PropertyConfigurator类找不到这个错误,纠结了一个早上,最后发现是包一如位置错误,我引入的log4j的包不是在WEB-INF-lib的目录下,是从外部目录通过build-path引入,通过参考一篇文章,发现是类加载器的顺序问题,只要将log4j.ja...

2012-04-28 14:42:12 2076

原创 java异常机制和异常处理原则(文摘)

本文从Java异常最基本的概念、语法开始讲述了Java异常处理的基本知识,分析了Java异常体系结构,对比Spring的异常处理框架,阐述了异常处理的基本原则。并且作者提出了自己处理一个大型应用系统异常的思想,并通过设计一个异常处理的框架来论述此思想。一、 异常的概念和Java异常体系结构异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常...

2012-04-25 11:13:33 117

原创 Tomcat 下,JSP文件修改后,重新部署,页面不变化的问题(转)

现象: 没有动任何配置文件,今天就出现了修改的JSP内容在页面不体现。依然是老的页面内容 问题分析: 既然可以用过,所以系统应该是检测文件更新的,之所以不重新编译JSP,估计时文件日期的问题。因为tomcat是根据文件日期判断jsp文件是不是比现有的翻译好的.java文件新来决定是否重新编译。 经询问,昨天曾经把系统时间改成1年后,用来测试某些功能。后来...

2012-04-23 17:08:30 255

原创 Web服务器和应用服务器的区别(转)

通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。 下面让我们来细细道来: Web服务器(Web Serv...

2012-04-23 17:06:56 92

原创 加快MyEclipse启动速度 .(转)

加快MyEclipse启动速度1、加大JVM的非堆内存打开 eclipse.ini-showsplashcom.genuitec.myeclipse.product–launcher.XXMaxPermSize256M-vmargs-Dosgi.requiredJavaVersion=1.5-Xms128m-Xmx512m-Dosgi.splashLocation=e:MyEcli...

2012-02-21 22:54:50 69

原创 ibatis中输入/输出各种类型的参数分析及#与$区别 (转)

(1)在数据库持久层的框架中,大家一定听过Hibernate的大名了吧,经典的SSH框架就有它的一份哦!可是我今天要说的却是另外一个持久层的框架,它就是iBatis。与Hibrenate相比,它的主要优势就是简单、小巧、轻量级,但是它的功能却丝毫不亚于 Hibernate,下面让我们来看看iBatis在项目中的应用吧!iBatis确实很简单,它的工作原理就是通过SQL Map映射文件将sql语...

2012-02-21 14:17:33 198

原创 struts2 ognl 原理

Struts2内置了OGNL这是大家都知道的了,其实这种说话不严格,应该OGNL本身是一种很强大的表达式语言,XWork整合了OGNL的一部分并且将这部分内容做了相应的扩展,而Struts2又建立在XWork这个项目的基础之上,所以Struts2也就内置了OGNL这部分强大的功能。         为了详细些一步一步做记录吧。        先说OGNL,OGNL内部自己会维护一个OGNL...

2012-02-14 00:02:34 72

原创 OGNL中的#,%,$ 三种符号

 OGNL的用法OGNL是通常要结合Struts 2的标志一起使用,如<s:property value="xx" />等。大家经常遇到的问题是#、%和$这三个符号的使用。下面我想通过例子讲述这个问题:“#”主要有三种用途:1.    访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();下表有几个ActionContext中...

2012-02-13 23:31:45 306

原创 > /dev/null 2>&1

分解这个组合:“>/dev/null 2>&1” 为五部分。 1:> 代表重定向到哪里,例如:echo "123" > /home/123.txt2:/dev/null 代表空设备文件3:2> 表示stderr标准错误(0 = stdin,1 = stdout,2 = stderr)4:& 表示等同于的意思,2>&1,表示2的输出...

2012-02-13 21:56:38 99

原创 《Head.First设计模式》的学习笔记(15)--代理模式

 意图:为另一个对象提供一个替身或占位符得以访问这个对象。  结构: 接着我们来看RMI远程代理:1.我们先在服务器注册好几个糖果机,由于我们现在使用RMI,我们需要构造糖果机和状态。糖果机首先变成一个服务,我们为糖果机创建一个远程接口,让开接口提供了一组可以远程调用的的方法。public interface GumballMachineRemote ext...

2012-02-13 00:03:03 112

原创 《Head.First设计模式》的学习笔记(14)--状态模式

意图:允许对象在内部状态改变时改变她的行为,对象看起来好像修改了它类。结构:  我们是不是发现它和策略模式很像啊?这个我们将后面仔细介绍这两个模式共同点和不同点,现在我们还是先看例子。 我们现在有一个糖果机,有一下几个状态: 我们先来看我们平常的设计会如何进行实现:public class GumballMachine { final static i...

2012-02-12 20:24:34 79

原创 《Head.First设计模式》的学习笔记(13)--组合模式

先说一下题外话,这个模式是我学的最累的模式,代码纠结无比,而且似乎又不经常用,但是我还是硬着头皮把这个模式给看完了。废话不多说,开始干活.......意图:允许你将对象组成属性结构来表现“整体/部分”的层次结构,组合能让客户以一直的方式处理个别的对象和对象组合。结构:  首先是组合包含组件,组件有两种:组合与叶节点元素。接着我们继续看例子:在原有的对象餐厅我们添加了晚餐...

2012-02-12 17:49:07 99

原创 《Head.First设计模式》的学习笔记(12)--迭代器模式

  意图:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表现。 结构:  让我们看一下一个例子:对乡村的餐厅和对象村的煎饼屋合并了。现在碰到一个棘手的问题,餐厅的菜单是使用Arraylist来实现,而煎饼屋的菜单是用数组来进行实现的,由于各自的菜单已经与其他过多的代码进行耦合,所以不能进行更改,现在有一个女Waitress,需要打印全部菜单,我们最初设想就...

2012-02-12 15:30:46 75

原创 《Head.First设计模式》的学习笔记(11)--模板方法模式

意图:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。结构: 其中AbstractClass 实现为: public abstract class AbstractClass { final void templateMethod(){ primitiveOperation1();...

2012-02-12 00:46:51 98

原创 《Head.First设计模式》的学习笔记(10)--外观模式

意图:为子系统中的一组接口提供一个一致的界面,Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。结构: 例子:假设你有一套杀手级的家庭影院系统,内含DVD播放器、投影仪、自动屏幕、环绕立体声等。那么当你想看一部DVD时,需要做哪些事情呢(用最土的方式)?1、将灯光调暗;2、放下屏幕;3、打开投影仪;4、将投影仪的输入切换到DVD;5、...

2012-02-11 23:30:34 72

原创 《Head.First设计模式》的学习笔记(9)--适配器模式

软件开发中经常遇到的问题:假设已有一个软件系统,你希望它能和一个新的厂商类库搭配使用,但是这个新厂商所设计出来的接口,不同于旧厂商的接口。如果你不想改变现有的代码,也不能改变厂商的代码,那么你该如何解决这个问题。方法其实很简单,就是写一个类,将新厂商的的接口转成你所期望的接口。如图 这就是适配器模式。意图:将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原本由于接口不兼...

2012-02-11 23:27:26 84

原创 《Head.First设计模式》的学习笔记(8)--命令模式

背景:有时候我们需要对方法进行封装,通过对这些封装的方法进行调用,我们可以很好的处理一些事情。比如,记录日志,或者重复使用这些封装实现撤销功能。意图:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。结构: 例子:这次我们将设计一个家电自动化遥控器的API需求分析:遥控器的图: 1)、遥控器上具有七个可编程...

2012-02-11 22:55:34 100

原创 《Head.First设计模式》的学习笔记(7)--单件模式

背景:有一些对象其实我们只需要一个,比方说:线程池(threadpool)、缓存(cache)、对话框、处理偏好设置和注册表(registry)的对象、日志对象,充当打印机、显卡等设备的驱动程序的对象。事实上,这类对象只能有一个实例,如果制造出多个实例,就会导致许多问题产生,例如:程序的行为异常、资源使用过量,或者是不一致的结果。因此,我们设计这种类时必须确保只有一个实例,单件模式应运而生。单...

2012-02-11 13:55:01 64

原创 《Head.First设计模式》的学习笔记(6)--抽象工厂模式

 意图:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。结构:实例:还是以Pizza店为例,现在pizza需要进行需要不同的原料,例如添加cheese,sauce等原料,重新扩展的pizza为: package headfirst.factory.pizzaaf;public abstract class Pizza { String name;...

2012-02-11 13:37:02 114

原创 《Head.First设计模式》的学习笔记(5)--工厂方法模式

意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。结构: 实例:下面我们以Pizza店的例子来谈谈“工厂方法模式”的来龙去脉,我们学习的思路是“原始设计-->简单工厂-->工厂方法”。情景分析:假如你有一个Pizza店,那么你的Pizza订单可能会写成如下代码(这段代码写在PizzaStore...

2012-02-10 23:58:13 95

原创 《Head.First设计模式》的学习笔记(4)--装饰者模式

意图:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。结构: 例子:下面我们以星巴兹(Starbuzz)的订单系统为例加以说明。需求分析:1)、星巴兹的饮料(Beverage)种类繁多,主要有HouseBlend、DarkRoast、Decaf、Espresso。2)、星巴兹的调料很多,主要有Steamed Milk、Soy、Moc...

2012-02-10 23:40:22 81

原创 《Head.First设计模式》的学习笔记(3)--观察者模式

意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。结构: 例子:下面以模拟气象站系统来加以说明。需求分析:该系统的需求如下:1、气象站能够追踪目前的天气状况,包括温度、湿度、气压、2、气象站能够提供三种布告板,分别显示目前天气状况、气象统计和简单的预报。3、布告板上的数据必须实时更新。4、气象站必...

2012-02-10 23:27:07 74

原创 《Head.First设计模式》的学习笔记(2)--策略模式

先对策略模式有一个总体认识。意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。结构: 下面通过鸭子模拟器的设计来具体介绍。公司需要设计一套鸭子模拟器系统,该系统的第一次需求为:鸭子能够戏水;鸭子能够呱呱叫。根据该需求系统设计如下: 这个设计主要用了父类鸭子和子类绿头鸭、红头鸭,这样设计的目的是为了达到代码的复...

2012-02-10 23:09:17 67

原创 Linux&find命令

1、find命令find命令是一个无处不在命令,是linux中最有用的命令之一。find命令用于:在一个目录(及子目录)中搜索文件,你可以指定一些匹配条件,如按文件名、文件类型、用户甚至是时间戳查找文件。下面就通过实例来体验下find命令的强大。1.1、find命令的一般形式man文档中给出的find命令的一般形式为:find [-H] [-L] [-P] [-D debugopt...

2012-02-03 16:50:00 61

原创 Linux&grep命令

grep命令grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。1.1、grep命令的一般选项及实例grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS] [...

2012-02-03 15:06:29 48

原创 vi 键盘图详解(转)

vi键盘图:    

2012-02-02 15:39:09 114

原创 Linux kill进程各种方法(转)

常规篇: 首先,用ps查看进程,方法如下:$ ps -ef……smx       1822     1  0 11:38 ?        00:00:49 gnome-terminalsmx       1823  1822  0 11:38 ?        00:00:00 gnome-pty-helpersmx       1824  1822  0 11:38 pts/0  ...

2012-02-02 13:32:02 128

viplugin2.x eclipes的vi 破解

1.首先安装viplugin. a).点击你的eclipse中的 help --> Install New Software... --> Add..  --> 添加网址  http://www.viplugin.com/ b).点击OK后,将搜索出的插件选项全部选上后点击 Next,然后选择 Accept ,最后点击 Finish。2.破解viplugin.现在...

2012-02-02 00:30:39 83

原创 《Head.First设计模式》的学习笔记(1)

1、慢一点,你理解的越多,需要记的就越少。2、勤做练习,自己记笔记。3、上床睡觉之前不要再看别的书了,或者至少不再看其他有难度的东西。4、要喝水,而且要多喝点水。5、大声说出来。6、听听你的大脑怎么说。7、要有点感觉!8、设计一点东西!书中列举的设计原则:1、封装变化。找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。2、针对接...

2012-01-31 21:53:28 55

原创 Linux各种解压缩命令详解之-tar

linux下面的归档工具。是对文件或者目录进行归档,归成一个文件,但并不压缩。语法格式tar [主选项+辅选项] 文件或者目录列表主选项-c 创建新的档案文件-r 把要归档的文件追加到档案文件的末尾-t 列出档案文件中已经归档的文件列表-u 更新文件,用新文件替代档案中原始文件。如果备份文件中不存在该文件,则把它追加到备份文件的末尾-x 从档案文件中还原文件 辅选项-f 归档到普通文件-k...

2012-01-18 16:39:35 105

原创 Linux各种解压缩命令详解之-zip&unzip

zip 命令功能说明:压缩文件。语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>]补充说明:zip是个使用广泛的压缩程序,文件经它压...

2012-01-18 14:57:36 79

原创 Linux各种解压缩命令详解之-gzip&gunzip

gzip 命令功能说明:压缩文件。语法:gzip [选项] 压缩(解压缩)的文件名参数:-c 将输出写到标准输出上,并保留原有文件。-d 将压缩文件解压。-l 对每个压缩文件,显示下列字段: (1)压缩文件的大小 (2)未压缩文件的大小 (3)压缩比 未压缩文件的名字-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。-t 测试,检查压缩文件是否完整。-v 对每一个压缩和解压的文件...

2012-01-18 14:56:02 181

原创 Android学习-菜鸟学习开发习惯(转)

Android开发规范是本文要介绍的内容,主要是来了解并学习Android开发中一些细节的内容,具体关于Android开发规范内容的详解来看本文。一、Android开发编码规范1、java代码中不出现中文,最多注释中可以出现中文2、局部变量命名、静态成员变量命名只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写3、常量命名只能包含字母和_,字母全部大写,单词...

2012-01-15 21:25:21 96

Android学习---Intent学习

一、Intent的用途    首先,我们来看api的类总结:     An intent is an abstract description of an operation to be performed. It can be used with startActivity to launch an Activity, broadcastIntent to send it to an...

2012-01-15 17:50:46 97

原创 xml解析之1--SAX解析(转)

    一、        前言    用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object Module)称为DOM。Sun公司提供了Java API for XML Parsing(JAXP)接口来使用SAX和DOM,通过JAXP,我们可...

2012-01-15 16:45:30 63

Android学习-------Activity篇

 一、Activity的用途     先从api获取这个类的总结为:    一个Activity是一个由用户能进行操作的单独,强制的事物,几乎所有的Activities都与用户进行交互,所以Acitity类能创建当你使用setContentView(View view)方法进行创建一个窗口。当然他们通常被使用为一个全屏窗口,当然它也有其他的用法,可以设置成一个浮动窗口(通过设置windowIs...

2012-01-14 23:42:24 89

空空如也

空空如也

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

TA关注的人

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