自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 设计模式-组合模式

###模式定义将对象组合成树型结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。###模式结构###代码实现public abstract class Component { //输出组件自身名称 public abstra...

2016-08-18 18:09:00 150

转载 设计模式-迭代器模式

###模式定义提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。###模式结构Iterator:迭代器接口。定义访问和遍历元素的接口。ConcreteIterator:具体的迭代器实现对象。实现对聚合对象的遍历,并跟踪遍历时的当前位置。Aggregate...

2016-08-18 17:53:00 128

转载 设计模式-命令模式

###模式定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户端进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。###模式场景电脑启动,当我们按一下启动按钮###模式结构Command:定义命令的接口,声明执行的方法。ConcreteCommand:命...

2016-08-18 17:52:00 149

转载 设计模式-策略模式

###模式定义定义一些列的算法,吧他们一个个封装起来,并且使他们克相互替换。本模式使得算法可独立于使用它的客户而变化。###模式结构###代码实现interface Strategy { public void doSomething();}class Concret...

2016-08-18 17:51:00 99

转载 设计模式-模版方法模式

###模式定义:定义一个操作中算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。###模式结构###代码实现public abstract class BankTemplateMethod { public ...

2016-08-18 17:50:00 59

转载 设计模式-备忘录模式

###模式定义:在不破环封装行性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。###模式场景录入大批人员资料的时候。正在录入当前人资料时,发现上一个人录错了,此时需要恢复到上一个人的资料,进行修改。Word编辑时,忽然...

2016-08-18 17:49:00 68

转载 设计模式-状态模式

###模式定义:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。###模式结构###代码实现public interface State { public void handle();}public class FreeRoom implem...

2016-08-18 17:47:00 67

转载 Mybatis执行流程(二)

##获取MapperProxy###执行流程图###源码走读 //获取MapperProxy StudentDao userMapper = sqlSession.getMapper(StudentDao.class); //获取MapperProxy最终交给mapperRe...

2016-06-22 18:51:00 71

转载 Mybatis执行流程(一)

##搭建一个简单的Mybatis+Maven项目###Maven依赖 <!-- 添加log4j --> <dependency> <groupId>log4j</groupId> ...

2016-06-22 18:11:00 59

转载 Mybatis整体架构

##Mybatis功能架构设计###Mybatis的功能架构分层API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。Mybatis和数据库交互的两种方式:(1)传统的MyBatis提供的A...

2016-06-21 11:18:00 42

转载 从JDBC到Mybatis

##从JDBC到Mybatis###JDBC操作数据库过程加载JDBC驱动建立并获取数据库连接创建JDBC Statements对象设置SQL语句的传入参数执行SQL语句并获取查询结果对查询结果进行转换处理并将处理结果返回释放相关资源(关闭Conne...

2016-06-21 10:31:00 63

转载 Java泛型

##Java泛型由来的动机Java泛型可以把它看成一个便捷语法,能节省你某些Java类型转换上的操作:List<Apple> box = new ArraryList<Apple>();Apple apple = box.get(0);上面的代码表示:box是...

2016-06-18 16:45:00 85

转载 设计模式-代理模式

###代理模式意图所谓代理就通过引用一个新的对象来实现对真实对象的操作或者将新的对象当做真实对象的一个替身,这种实现的机制就是代理模式,通过引用代理对象来访问真实对象就是代理模式的设计动机。###引用远程代理(Remote Proxy)为一个位于不同的地址空间的对象提供一个本地...

2016-06-16 14:33:00 56

转载 final和static final修饰成员变量的区别

final称为常量,static final称为全局常量。成员变量是随类初始化或对象初始化而初始化的。当类初始化的时候,会给类变量分配内存;当对象初始化的时候,会给实例变量分配内存。final修饰成员变量可以在申明的时候指定初始值,还可以在构造器或者在普通初始化块中指定初始值。...

2016-06-16 11:20:00 873

转载 理解阻塞非阻塞与同步异步

###同步与异步同步和异步关注的消息同步机制。####同步所谓同步,就是发出一个调用时,在没有得到结果之前,该调用就不会返回。但是一旦调用返回,就得到返回值。也就是说,调用者主动等待这个调用结果。####异步所谓异步,就是调用在发出之后,这个调用就直接返回,所以没有返回结果。也就是说...

2016-04-26 09:10:00 65

转载 前端构建工具-grunt介绍

###前端构建工具-grunt介绍grunt是一款优秀的前端构建工具(自动化工具)。对于需要反复重复的任务,例如压缩、编译、单元测试等,自动化工具可以减轻你的劳动,简化你的工作。当你在 Gruntfile 文件正确配置好了任务,任务运行器就会自动帮你完成大部分无聊的工作。###grun...

2016-04-11 17:48:00 193

转载 Spring MVC的web.xml文件的分析

###web.xml<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>&...

2016-04-08 09:50:00 71

转载 Bean的生命周期

###BeanFactory中Bean生命周期###ApplicationContext中Bean生命周期###Bean的生命周期总结Bean的完整生命周期从spring容器开始实例化bean开始到销毁,可以从三点来理解Bean自身的方法:包括构造方法、set方法、init-m...

2016-04-07 17:37:00 56

转载 Spring容器

###BeanFactoryBeanFactory是Spring框架最核心的接口,它提供IOC的配置机制,但是它无法支持spring的许多插件,如AOP功能、Web应用等。 XMLBeanFactory是BeanFactory典型实现。注意:初始化BeanFactory时,必须提供...

2016-04-07 14:17:00 66

转载 设计模式-门面模式

###门面模式####门面模式意图通过门面的包装,使应用程序只能看到门面对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性。例子:一个电源总开关可以控制四盏灯、一个风扇、一台空调和一台电视机的启动和关闭。该电源总开关可以同时控制上述所有电器设备...

2016-03-23 16:18:00 61

转载 设计模式-装饰模式

###模式定义动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更为灵活。###模式结构Component:组件对象的接口,可以给这些对象动态地增加职责。ConcreteComponet:具体的组建对象,实现组件对象接口,通常就是被装饰器装饰的原始对象,也就是...

2016-03-23 15:16:00 46

转载 设计模式-适配器模式

###适配器模式####适配器模式定义适配器模式将一个类的接口,转换成客户期望的另一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。**比如:**一个电脑需要两项插座,220V的电源,现在有三项插座和110V电源,如何让其工作呢,现在就需要插座适配器和电源适配器...

2016-03-17 16:20:00 57

转载 设计模式-桥接模式

###场景分析商城系统中常见的商品分类,以电脑为例,如何良好的处理商品分类销售的问题?这个场景有两个维度:电脑类型、电脑品牌。###模式定义:将抽奖部分与它的实现部分分离,使它们都可以独立地变化。###模式结构###代码实现public interface Brand {...

2016-03-17 16:16:00 52

转载 设计模式-抽象工厂模式

###抽象工厂模式####抽象工厂模式优点:抽象工厂模式隔离了具体类的生产,使得客户并不需要知道什么被创建。当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。增加新的具体工厂和产品族很方便,无须修改已有系统,符合“开闭原则”。...

2016-03-17 16:15:00 48

转载 设计模式-工厂方法模式

###工厂方法模式####优点良好的封装性,代码结构清晰。创建一个对象只要只知道对象的类名,不用知道创建对象的艰辛过程,减少模块间的耦合。扩展性非常优秀。在增加产品类的情况下,只要适当地修改具体的工厂类或扩展一个工厂类。例如在下面的例子中,需要增加一个棕色人种,则只需要增加一个...

2016-03-17 16:05:00 39

转载 设计模式-创建者模式

###创建者模式####创建者模式优点在创建者模式中客户端不再负责对象的创建和组装,而是由一个具体的组装类来完成这项功能,将组装的责任交给组装类,客户端只负责对象的调用,从而更加明确了各个类的职责。####创建者模式缺点缺点:利用创建者模式可以创建出不同类型的产品,但是如果要创建的产品...

2016-03-17 16:04:00 74

转载 设计模式-原型模式

###原型模式####原型模式的优点原型模式创建对象比直接使用new创建对象性能上要好许多,为Object类的clone方法是一个本地方法,它直接操作的是内存中的二进制流.原型模式简化创建对象的过程,使得创建对象像粘贴复制一样.####使用场景需要重复地创建相似对象时可以考虑使用原型模...

2016-03-17 16:04:00 94

转载 设计模式-单例模式

###单例模式####单例模式特点保证一个类只有一个实例,并且提供一个访问该实例的全局访问点windows中的任务管理器操作系统的文件系统,一个操作系统只能有一个文件系统servlet编程中,每个servlet也是单例SpringMVC中,控制对象也是单例Sp...

2016-03-16 10:08:00 57

转载 一致性hash

普通hash算法 采用简单取模的方式,将机器进行散列,这在cache环境不变的情况下能取得让人满意的结果,但是当cache环境动态变化时,命中率将不尽人意,比如添加或者删除几台机器。 一致hash算法 构建Hash空间 按照常用hash算法来将对应的key哈希到一个具有2...

2016-03-15 15:10:00 34

转载 初识NIO

为什么要使用NIO NIO(阻塞IO),不管是磁盘IO还是网络IO,数据在写入OutputStream或从InputStream读取的时候都可能发生阻塞,当发生阻塞,线程会失去CPU的使用权,这个在当前访问量大和有性能要求的情况下是不被允许的。若果我们采用一个客户端对应一个线程的方式来解决...

2016-03-10 16:57:00 62

转载 Guava—避免使用null

null问题 null的主要问题是语义含糊,例如:map.get(key)返回null时,你无法判断是map==null还是key==null。 如何避免 由于这个原因对于null值建议采取快速失败。同时,在程序中我们可以使用Optional,使用Optional除了赋予null语义...

2016-01-21 15:02:00 80

转载 Java集合浅析

Java集合类框架图 Collection List |类型|数据结构|查询速度|插入速度|是否线程安全||ArrayList|数组|快|慢|否||LinkList|双向链表,...

2016-01-19 16:05:00 115

转载 Java类加载机制(二)

类加载器原理 将class文件字节码内容加载到内存中,并将这些静态数据转换为方法区的运行时数据结构,在堆中生成一个代表这个类的java.lang.Class对象,作为方法区类数据访问的入口 类缓存 标准的JavaSE类记载器可以按照要求查找类,但一旦某个类被加载到类加载器中, 它将...

2016-01-17 15:56:00 82

转载 Java类加载机制(一)

类加载机制 JVM把class文件加载到内存,并对数据进行校验、解析和初始化,最终形成JVM可以直接运行的Java类型的过程。 类加载过程 Java类加载的过程:加载————>验证->准备->解析————>初始化————>使用————>...

2016-01-16 21:22:00 64

转载 Java四种引用类型及垃圾回收

强引用 强引用是我们接触最多的引用,若果是强引用JVM宁愿抛出OOM也不愿回收具有强引用的对象。 软引用 具有软引用的对象,内存空间充足的时候,垃圾回收器不会回收,当内存空间不充足的时候,垃圾回收器回收。 publicclassSoftReferenceTest{...

2016-01-15 14:14:00 88

转载 动态代理

案例 获取1个方法的运行时间 使用继承实现(继承) 使用实现接口实现(组合) //继承publicclassTank{publicvoidmove(){System.out.println("Tankismoving~~~...

2016-01-11 17:05:00 77

转载 Java反射机制

动态语言 程序运行的时,可以改变程序结构或变量类型。典型的语言:Python,ruby,javascript等如javascript代码:functiontest(){vars="vara=3,varb=...

2016-01-11 11:25:00 47

转载 Java内存区域与内存溢出异常

Java虚拟机运行时数据区 程序计数器 程序计数器可以看作是当前线程所执行的字节码的行号指示器线程私有异常:唯一一个java虚拟机规范中没有规定任何OutOfMemoryError情况的区域 Java虚拟机栈 线程私有,生命周期和线程相同虚拟机栈描述的是Java方法...

2016-01-09 11:18:00 70

转载 Java自动装箱拆箱浅析

自动装箱拆箱概念 在JavaSE5之后,为基本数据类型提供了自动装箱和拆箱功能,使得将基本类型转换与对象之间的转换变得极其便捷。|基本数据类型|包装类||int(4字节)|Integer||byte(1字节)|Byte...

2016-01-08 10:01:00 84

转载 BigDecimal浅析

为什么使用BigDecimal 首先看一个例子:publicclassDoubleTest{publicstaticvoidmain(String[]args){System.out.println(0.1+0.2);}}输出的结果:0.30...

2016-01-06 18:02:00 134

空空如也

空空如也

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

TA关注的人

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