自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (6)
  • 收藏
  • 关注

原创 装饰器模式 —— mybatis

mybatis 中 装饰器模式使用案例

2022-09-12 18:03:14 269 1

原创 工厂模式 —— mybatis

源码解析-设计模式

2022-09-04 18:09:22 530

原创 01 数据源之 PooledDataSource

mybatis 数据库连接池源码婆媳

2022-09-04 17:53:44 1286

原创 面向对象的软件工程

面向对象的软件工程主要包括以下部分:1) 面向对象分析(object oriented analysis,OOA);2) 面向对象设计(object oriented design,OOD);3) 面向对象编程(object oriented programming,OOP);4) 面向对象测试(object oriented test,OOT);5) 面向对象维护(objec

2017-07-08 14:38:18 1542

原创 shell脚本杂记

1、概念Shell脚本是利用shell的功能所写的一个程序“程序”,这个程序是使用纯文本文件,将一些shell的语法与命令(含外部命令)写在里面,搭配正则表达式、管道命令与数据流重定向等功能,以达到我们所要的处理目的。**简单记就是: Shell语法与命令 [ + 正则表达式 + 管道命令 + 数据流重定向 ]**2、脚本执行方式(source,sh script,./script)的区别下面先给

2017-06-17 17:10:19 369

原创 从SQL到NoSQL

对于熟悉结构化查询语言的我们可以从SQL到NoSQL指南入手Aws Dynamodb。本系列笔记也将从这里展开,欢迎一起探讨学习。

2017-03-05 22:01:56 395

原创 XMLHttpRequest对象创建和使用

根据上一小节已经知道XMLHttpRequest是Ajax实现的基础,所有现代浏览器都支持并内建了XMLHttpRequest对象。我们下面就来看一下该对象的使用。1、创建XMLHttpRequest对象        要实现异步操作首先就需要创建一个XMLHttpRequest对象,创建语法如下:var XHR = new XMLHttpRequest();        有了

2017-02-18 01:09:35 527

原创 mybatis学习资源

以下仅给出一些比较有用的参考资料,待有时间好好进一步研究学习。1、mybatis文档

2017-01-07 01:11:58 321

原创 Redis学习资源

以下仅给出一些比较有用的参考资料,待有时间好好进一步研究学习。1、http://www.runoob.com/redis/redis-tutorial.htmlredis教程2、 http://blog.csdn.net/javaloveiphone/article/category/6383102分布式缓存技术redistribution学习系列

2017-01-02 23:02:47 297

原创 Mina学习资源

以下仅给出一些比较有用的参考资料,待有时间好好进一步研究学习。1、http://blog.csdn.net/defonds/article/category/1220684 《Apache MINA 2.0 用户指南》(译文)2、http://blog.csdn.net/Cages/article/category/1098863 apachemina学习

2017-01-02 14:50:12 309

原创 Restlet学习资源

以下仅给出一些比较有用的参考资料,待有时间好好进一步研究学习。1、https://restlet.com/technical-resources/restlet-framework/guide/2.3 Restlet官方文档2、http://blog.csdn.net/is_zhoufeng/article/category/1540901 restlet2.1学习笔记3、http

2017-01-01 22:41:28 505

原创 在不借助第三方变量情况下实现两个变量的交换(借助于异或运算)

下面首先来看一个问题。假设存在两个int型变量a和b,那么如何实现两个变量值的交换呢。通常我们的做法,也是最容易想到的做法就是通过定义一个第三方变量,然后借助于该变量来实现变量值的交换。方法一(通常做法):int temp = a;a = b;b = c;这虽然是最笨的方法,却是我们工作中使用的最多的方法,因为它直观,满足代码的易读性特征。那么,除了以上方法,我们还有没有

2016-11-22 12:59:51 2514

原创 代码块的执行过程

1、概念在进入正题之前,我们首先需要知道的一个概念就是神马才是代码块。那么神马才是代码块呢?下面给出正解。所谓代码块,在Java中,就是指使用大括号{}括起来的代码部分。2、代码块的分类关于代码块的分类,主要有四种:局部代码块、构造代码块、静态代码块和同步代码块。1)局部代码块局部代码块是指在方法中给出的一个代码块,其主要作用就是用来限定变量的生命周期,及早释放,提高内存的

2016-11-22 11:57:59 1705

转载 Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition

转自:http://www.cnblogs.com/dolphin0520/p/3920385.html在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消费

2016-06-11 13:52:26 245

转载 interrupt、interrupted 、isInterrupted 区别

文章转自:点击打开链接1、interrupt       interrupt方法用于中断线程。调用该方法的线程的状态将被置为"中断"状态。      注意:线程中断仅仅是置线程的中断状态位,不会停止线程。需要用户自己去监视线程的状态为并做处理。支持线程中断的方法(也就是线程中断后会抛出interruptedException的方法)就是在监视线程的中断状态,一旦线程的中断状

2016-06-10 16:32:05 424

原创 Java动态代理

代理是基本的设计模式之一,它是为了提供额外的或不同的操作,而插入的用来代替“实际”对象的对象。这些操作通常涉及与“实际”对象的通信,因此代理通常充当着中间人的角色。而Java的动态代理比代理的思想更向前迈进了一步,它可以动态地创建代理并动态地处理对所代理方法的调用。在动态代理上所做的所有调用都会被重定向到单一的调用处理器上,它的工作是揭示调用的类型并确定相应的对策。下面是用来展示动态代理的一个

2016-06-08 21:13:03 426

原创 第45条 通用程序设计——将局部变量的作用于最小化

将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能性。        1、最强有力的做法就是在第一次使用变量的地方对其进行声明。        在循环中提供了特殊的机会来将变量的作用域最小化。对于for循环,允许声明循环变量,且它们的作用域被限定在正好需要的范围之内。因此,如果在循环终止之后不再需要循环变量的内容,for循环就优先于while循环。示例1:

2016-05-05 15:53:01 571

原创 第41条 方法——慎用重载

1、对象的运行时类型并不影响“哪个重载版本将被执行”,对于重载方法的选择是静态的(而对于被覆盖的方法的选择是动态的),要调用哪个重载方法是在编译时做出决定的。publicclass CollectionClassifier{ public static String classify(Set s){ return "Set";

2016-05-05 15:45:31 624

转载 第28条 泛型——利用有限制通配符来提升API的灵活性

转自:http://www.cnblogs.com/ttylinux/p/4439503.html        和的使用        1、的使用        如第25条所述,参数化类型是不可变的。换句话说,对于任何两个截然不同的类型Type1和Type2而言,List既不是List的字类型,也不是它的超类型。考虑第26条中的堆栈下面就是它的公共API:publi

2016-05-05 15:35:04 377

转载 第27条 泛型——优先考虑泛型方法

术语: 递归类型限制:通过某个包含该类型参数本身的表达式来限制类型参数。        考虑如下的方法,它的作用是返回两个集合的联合:[java] view plain copy// Users raw types - unaccepable!  public static Set union(Set s1,

2016-05-05 15:06:42 2603

原创 第25条 泛型——列表优先于数组

数组与泛型相比有两个重要的不同点。        首先,数组是协变的。相反泛型则是不可变的。//这是被允许的Object[]objectArray = new Long[1];objectArray[0]= "hello world";//Throws java.lang.ArrayStoreException //Won'tcompile! 不被允许:Type mismat

2016-05-05 14:08:07 835

原创 第23条 泛型——请不要在新代码中使用原生态类型

1、泛型与原生态类型        声明中具有一个或者多个类型参数的类或者接口,就是泛型类或者接口。每个泛型都定义一个原生态类型,即不带任何实际类型参数的泛型名称。例如,List相对应的原生态类型是List。        2、请不要在新代码中使用原生态类型。虽然不提供类型参数,使用集合类型和其他泛型也仍然是合法的,但是这样就失掉了泛型在安全性(编译时检查)和表述性方面的所有优势。 

2016-05-05 13:54:21 657

原创 第22条 类与接口——优先考虑静态成员类

嵌套类是指定义在另一个类内部的类,嵌套类只为它的外围类提供服务。嵌套类分为四种:静态成员类、非静态成员类、匿名类和局部类(后面三种称为内部类)。        如果一个嵌套类的实例可以在它外部类的实例之外独立存在,则这个嵌套类应该设置成静态成员类(即:如果你声明的成员类不要求访问外围实例,就要始终把static修饰符放在它的声明中)。        匿名类的用法:        1、创

2016-05-04 16:18:43 563

原创 第18条 类与接口——接口优于抽象类

1、Java程序设计语言提供了接口和抽象类两种机制来定义允多个实现的类型。这两种机制的主要区别有:1)抽象类允许包含某些方法的实现,但是接口则不允许。2)为了实现由抽象类定义的类型,类必须成为抽象类的一个子类。3)因为Java只允许单继承,所以抽象类作为类型定义受到了极大的限制,但是一个类可以实现多个接口。2、通过第16条中介绍的包装类模式,接口使得安全地增强类的功能成为可能。如果

2016-05-04 15:38:54 965

原创 第17条 类与接口——要么为继承而设计,并提供文档说明,要么就禁止继承

一个专门为了继承而设计并且具有良好文档说明的类,意味着:        1、该类的文档必须精确地描述了改写每一个方法所带来的影响。该类必须有文档说明其可改写的方法的自用性:对于每一个公有的或受保护的方法或者构造函数,它的文档必须指明它调用了哪些可改写的方法是以什么顺序调用,每个调用的结果是如何影响后续的处理过程的。惯例是如果一个方法调用了可改写的方法,那么在它的文档注释的末尾应该包含关于这些调

2016-05-04 15:18:43 788

原创 第13条 类与接口——使类和成员的可访问性最小化

要区别设计良好的模块与设计不好的模块,最重要的因素在于,这个模块对于外部的其他模块而言,是否隐藏其内部数据和其他实现细节。正确使用修饰符对于实现信息隐藏是非常关键的。       第一规则很简单:尽可能地使每个类或者成员不被外界访问。也就是说,我们应该使用与我们正在编写的软件功能相一致、尽可能最小的访问级别。       1、对于成员(域、方法、嵌套类和嵌套接口)有四种可能的访问级别,下面

2016-05-04 14:55:12 524

转载 第12条 对于所有对象都通用的方法——考虑实现Comparable接口

转自:http://www.cnblogs.com/gnuhpc/archive/2012/12/17/2822251.html1.什么是Comparable接口                                此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。实现此接口的对象列表(和数组)

2016-05-03 20:27:43 344

原创 第9条 对于所有对象都通用的方法——覆盖equals时总要覆盖HashCode

每个覆盖了equals方法的类中,也必须覆盖hashCode方法。如果不这样的话,就会违反Object.hashCode的通用约定,从而导致该类无法结合所有基于散列的集合一起运作,这样的集合包括HashMap、HashSet和HashTable。来自JavaSE6的约定如下:       1.在应用程序执行期间,只要对象的equals方法的比较操作所用到的信息没有被修改,那么对这同一个对象多次

2016-05-03 15:59:26 324

原创 第8条 对于所有对象都通用的方法——覆盖equals时请遵守通用约定

==表示的是物理上的相等,equals()表示的是逻辑上的相等。因为每一个类的实例对象本质上都是唯一的,利用物理相等(==)是指一个实例只能等于它自身。利用逻辑相等(equals())是指一个实例是否与另一个实例的某些关键域相等,从而来判断这两个实例是否相等。Object类的equals()方法的实现:物理相等的话就逻辑相等。1、不需要覆盖Object类的equals方法情况1)希望这个类

2016-05-03 15:52:26 630

原创 第6条 创建和销毁对象——消除过期的对象引用

1、如果一个栈先是增长,然后再收缩,那么从栈中弹出来的对象将不会被当作垃圾回收,即使使用栈的程序不再引用这些对象,它们也不会被回收。这是因为,栈内部维护着对这些对象的过期引用。所谓的过期引用是指永远不会被解除的引用。给出下面简单的栈的实现的例子:publicclass Statck{ private Object[] elements; private

2016-05-03 15:01:25 844

转载 第3条 创建与销毁对象——用私有构造器或者枚举类型强化Singleton属性

修改自http://blog.sina.com.cn/s/blog_44163be90100q0zd.html实现Singleton有以下三种方法。1、将公有静态成员做成final域:public class Elvis { public static final Elvis INSTANCE = newElvis(); private Elvis() { }

2016-05-03 14:25:33 453

原创 第2条 创建和销毁对象——遇到多个构造器参数时要考虑用构建器

1、静态工厂与构造器有一个共同的局限性:它们都不能很好地扩展到大量的参数。当创建对象需要传入多个参数的时候,程序员一向习惯采用重叠构造器模式来解决,也就是根据参数的数量写不同的构造器,示例如下:public class A{ public A(int a){} public A(int a, int b){} public A(int a, int b, int c){}}虽然

2016-05-03 13:51:55 348

原创 第1条 创建和销毁对象——考虑用静态工厂方法代替构造器

创建类的实例时最常见的也是最简单的一个方法就是使用new,此外还可以使用静态工厂方法来封装实例的细节,控制实例的数量,减轻jvm的堆栈中的压力。1、静态工厂方法相比较于构造器的第一大优势是它们有名称,具有见名知意的优点,可以提高程序代码的可读性。当一个类需要多个带有相同签名的构造器时,我们应该优先考虑使用静态工厂方法来代替构造器,并且慎重地选择方法名称以便于突出它们之间的区别。eg:pub

2016-05-03 13:43:45 557

翻译 Js自定义类时属性和方法的定义

在js中自定义类时属性和方法的定义方式有两种:类外定义和类内部定义。

2014-07-12 16:48:31 930

Struts2+Hibernate+Spring整合开发深入剖析与范例应用07

Struts2+Hibernate+Spring整合开发深入剖析与范例应用07源码

2014-10-25

Struts2+Hibernate+Spring整合开发深入剖析与范例应用06

Struts2+Hibernate+Spring整合开发深入剖析与范例应用06源码

2014-10-25

Struts2+Hibernate+Spring整合开发深入剖析与范例应用05

Struts2+Hibernate+Spring整合开发深入剖析与范例应用05源码

2014-10-25

Struts2+Hibernate+Spring整合开发深入剖析与范例应用04

Struts2+Hibernate+Spring整合开发深入剖析与范例应用04源码

2014-10-25

Struts2+Hibernate+Spring整合开发深入剖析与范例应用03

Struts2+Hibernate+Spring整合开发深入剖析与范例应用03源码

2014-10-25

Struts2+Hibernate+Spring整合开发深入剖析与范例应用02

Struts2+Hibernate+Spring整合开发深入剖析与范例应用02源码

2014-10-25

空空如也

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

TA关注的人

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