自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(25)
  • 收藏
  • 关注

转载 将博客搬至CSDN

将博客搬至CSDN转载于:https://www.cnblogs.com/jenkinschan/p/10542373.html

2019-03-16 15:04:00 124

转载 java集合框架(二):HashTable

HashTable作为集合框架中的一员,现在是很少使用了,一般都是在面试中会问到其与HashMap的区别。为了能在求职的时候用上场,我们有必要对其原理进行解读。HashTable的实现原理跟HashMap类似,也是通过节点的哈希值映射到哈希桶数组,如果发生哈希碰撞就构建一条链表,简单点说就是:数组+链表一、类的定义public class Hashtable<K,V...

2019-03-16 14:49:00 164

转载 java集合框架(一):HashMap

  有大半年没有写博客了,虽然一直有在看书学习,但现在回过来看读书基本都是一种知识“输入”,很多时候是水过无痕。而知识的“输出”会逼着自己去找出没有掌握或者了解不深刻的东西,你要把一个知识点表达出来,自己没有吃透是很难写出来的。我算是明白了为什么有些人可以通过写博客来学习,我也不能懒了,坚持写下去。  都以为自己对java的集合框架掌握得还可以,打开源码才发现我只是掌握了他们的基本使...

2017-10-25 07:36:00 137

转载 设计模式(十七):备忘录模式

一、概述   现实生活中的备忘录是用来记录某些要去做的事情,或者是记录已经达成的共同意见的事情,以防忘记了。而在软件层面,备忘录模式有着相同的含义,备忘录对象主要用来记录一个对象的某种状态,或者某些数据,当要做回退时,可以从备忘录对象里获取原来的数据进行恢复操作。  备忘录(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可...

2017-02-25 18:23:00 114

转载 设计模式(十六):建造者模式

一、概述    建造者模式很容易让人想到建房子,不管建刚需房、改善房还是别墅,它们都离不开地基、柱子、层面和墙体这些组成部分,建筑工人就是把这些组成部分一个个建起来,最后连成一体建出一栋栋楼房。来看看建造者模式的定义,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建房子的过程都是相似的,但可以建出形形色色的房子。二、结构类图三、应用实例...

2017-02-22 22:47:00 171

转载 设计模式(十五):原型模式

  早就发现java父类有个方法clone(),但一直没用过,也不知道怎么用。直到学习了原型设计模式才明白,他就是克隆方法,专门用来复制对象的。虽然到目前为止还没真正在项目中用到,但克隆方法还是挺有用的,它为我们创建相同对象带来了很大的便利,只要克隆一下就可以拥有一个全新的、初始值跟父类一样的对象。一、概述  原型模式(Prototype),用原型实例指定创建对象的种类,并且通过...

2017-02-20 22:02:00 96

转载 设计模式(十四):代理模式

一、概述  代理模式为另一个对象提供一个替身或占位符以控制对这个对象的访问。其实就是代理就是做到类似转发的功能,针对不同代理,转发的具体实现不同。二、解决问题  从原理知道他就是控制客户对一个对象的访问,它跟现实中的中介代理类似,只是作为代表做一些受理工作,真正执行的并不是它自己。比如买火车票,外面有很多火车票代理点,我们直接去代理点买票就好而不用跑到火车票买了(暂时不考虑网...

2017-02-05 22:21:00 61

转载 设计模式(十三):状态模式

一、概述  状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它自己的类二、解决问题  它主要用来解决对象在多种状态转换时,需要对外输出不同的行为的问题。状态和行为是一一对应的,状态之间可以相互转换。三、结构类图四、应用实例  现在很多APP都有抽奖活动,我们在这里就用这个大家熟悉的例子来讲解状态模式。假如每参加一次这个活动要扣除用户50积分,...

2017-01-15 16:49:00 146

转载 设计模式(十二):组合模式

一、概述  允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及组合对象。二、解决问题  组合模式解决这样的问题,当我们的要处理的对象可以生成一颗树形结构,而我们要对树上的节点和叶子进行操作时,它能够提供一致的方式,而不用考虑它是节点还是叶子。三、结构类图四、应用实例  上一讲中,我们是以大学的院系结构来讲...

2017-01-14 12:04:00 82

转载 设计模式(十一):迭代器模式

一、概述  迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。二、解决问题  迭代器模式就是提供一种遍历元素的统一接口,用一致的方法遍历聚合元素。试想,如果我们的聚合元素是用不同的方式实现的,有些用了数组,有些用了java的集合类,或者还有其他方式,当客户端要遍历这些元素的时候就要使用多种遍历方式,而且还会暴露元素的内部结构。三、应用实例...

2016-11-15 23:27:00 126

转载 IntelliJ IDEA使用(二):tomcat和jetty配置

  上一讲用idea创建了maven web项目,接下来我们把项目发布到tomcat和jetty运行,以便进一步地开发和调试配置tomcat第一、打开菜单栏第二、点击设置按钮,添加应用服务器,选择tomcat server选择tomcat目录添加后如下所示到此我们已经把tomcat服务器添加进idea了,接下来还得设置maven web项目的部署信...

2016-11-12 11:23:00 318

转载 IntelliJ IDEA使用(一):创建maven web项目

  在公司用eclipse开发maven web项目后,慢慢开始明白大家的那句话“受不了eclipse”。的确,在开发大型的web项目,尤其是maven构建的项目,eclipse很不友好,时不时会出现莫名其妙的错误提示,有时改了某个类的代码明明没有任何错误却提示一大堆错误,还有就是每次清除项目的时候还要清除tomcat服务器下面的项目。总之各种不爽了,很多java开发人员都转向用Inte...

2016-11-10 22:38:00 62

转载 某公司笔试题解读(一)

  上午刚参加完一公司的笔试,整个笔试给我的感受是,比较基础也很全面。但自己就是有好多不确定,好多需要时间思考,总之就是基础需要补回来。下面我就总结一下这次的笔试,举一反三地把相关知识点也梳理下。一、最让我抓狂的SQL题  这种SQL题我以前做过好多次了,工作上SQL写得不多,运用SQL的思维能力都下降了。题目大概是“有一张销售营业额表(t_sales),表结构如下: C...

2016-09-22 22:32:00 155

转载 java异常处理(父子异常的处理)

  我当初学java异常处理的时候,对于父子异常的处理,我记得几句话“子类方法只能抛出父类方法所抛出的异常或者是其子异常,子类构造器必须要抛出父类构造器的异常或者其父异常”。那个时候还不知道子类方法为什么要这样子抛出异常,后来通过学习《Thinking in Java》,我才明白其中的道理,现在我再来温习一下。一、子类方法只能抛出父类方法的异常或者是其子异常  对于这种限制,主要...

2016-09-06 22:58:00 462

转载 java类与实例

  最近在看设计模式,感觉自己对java的三大特性的理解不够清晰,搞不清楚抽象类、接口、泛型的用处和优缺点。设计模式学了一半,想着还是停下来脑补一下java的基础,就从java对象开始吧。一、java对象  记得刚开始学java对象的时候,老师给我们解释说“一切事物皆为对象”,即所有东西都是对象,对象就是可以看得到、感觉到、听到、触摸到、尝到、或者闻到的东西。准确地说,对象是一个...

2016-08-30 12:56:00 144

转载 设计模式(十):模板方法模式

一、概述  模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。二、结构类图  三、解决问题  模板方法就是提供一个算法框架,框架里面的步骤有些是父类已经定好的,有些需要子类自己实现。相当于要去办一件事情,行动的流程已经定好了,但有些步骤需要自己去做,而有些步骤可能别人帮我...

2016-08-14 18:49:00 181

转载 设计模式(九):外观模式

一、概述  外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。二、解决问题  在上一讲中,我们学习了适配器模式,它是用来转换一个接口的,而外观模式可以理解为转换一群接口,客户只要调用一个接口,而不用调用多个接口就可以达到目的。想想现实生活中例子,我们在pc上安装软件的时候经常有默认安装或者是一键安装选项(省去选择安装目录、安...

2016-08-07 22:20:00 122

转载 设计模式(八):适配器模式

一、概述  适配器模式将一个类的接口,转换为客户期望的另一个接口。适配器让原本不兼容的类可以合作无间二、解决问题  从模式的定义中,我们看到适配器模式就是用来转换接口,解决不兼容问题的。想想我们现实生活中的适配器,最常用的就是手机充电器了,也叫做电源适配器,它把家用交流强电转换为手机用的直流弱电。其中交流电就是被适配者,充电器是适配器,手机是用电客户。三、结构类图  ...

2016-08-07 15:49:00 226

转载 设计模式(七):命令模式

一、概述  命令模式将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。二、解决问题  假设我们买了一套智能家电,有照明灯、风扇、冰箱、洗衣机,我们只要在手机上安装app就可以控制对这些家电工作。那么问题来了,这些智能家电来自不同的厂家,我们是不是要对每个厂家的家电都安装一个app呢?毫无疑问,我们肯定不想安装那么多的app,我...

2016-08-05 14:44:00 105

转载 设计模式(六):单例模式

一、概述  单例模式确保一个类只有一个实例,并提供一个安全的访问点。二、解决问题  从概述中我们知道,单例模式就是保证系统的一个类只有一个实例。它的作用就是控制受限资源的访问,确保任何时刻都只有一个线程在访问一个受保护的资源。或者确保行为和状态的一致性,避免异常行为。在java web的程序中可能用到最多单例的地方就是jdbc的线程池。三、结构类图  四、成员角色...

2016-08-01 22:21:00 150

转载 设计模式(五):抽象工厂方法(多个工厂方法的组合)

一、概述  抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。可以理解成是多个工厂方法的组合。二、解决问题  在工厂方法模式中,我们的具体创建者每次使用都只能创建一个同类型的对象,假如我们现在需要的是多个不同类型的对象,工厂方法就满足不了需求了。这时我们可以把多个工厂方法组合到一个类,这就是抽象工厂模式,它就是专门用来创建多个产品,也可以说是创建...

2016-07-31 13:12:00 339

转载 设计模式(四):工厂方法模式(解析设计原则)

一、概述  工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。二、解决问题  通常我们需要一个对象的时候,会想到使用new来创建对象      Tea tea = new MilkTea(); //使用了接口,代码更有弹性,体现设计原则“对接口编程,而不是对实现编程”  当我们需要多个对象的时候,”对接口编程“的...

2016-07-27 00:10:00 308

转载 设计模式(三):装饰器模式

一、概述  装饰器模式动态地将责任附加到对象上。想要扩展功能,装饰者提供了有别于继承的另一种选择。简单描述就是包装对象,让对象提供新的行为。二、解决问题  当一个类想要获得一个行为,我们会想到面向对象四大特性之一的继承,继承能够让子类从父类中获得行为,实现很好的代码复用。但这种继承而来的行为是在编译时静态决定的,而且所有的子类都会继承相同的行为。如果我们想要扩展对象的行为,就...

2016-07-20 22:33:00 190

转载 设计模式(二):观察者模式

一、概述  观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。观察者模式有时成为发布/订阅模式,就是让多个对象在一个对象的状态改变时被通知到。二、解决问题  当一个系统有多个类协同工作,如果在一个类中需要知道另外一个类的实现细节才能让系统运转,就会导致系统耦合过紧,以后相互依赖的类改变了或者新增了依赖的类,很多类需要同...

2016-07-17 22:25:00 118

转载 设计模式(一):策略模式

一.设计背景  现实生活中,我们要做一件事情或者完成某项工作,往往有很多种途径。比如我们出游,可以选择坐汽车,坐火车,土豪点的选择是坐飞机。还有我们现在线下的支付方式也有了很多种选择,以前在外面忘了带钱的话可能一瓶水都难以买到,现在只要我们手机在身上,可以用微信或者支付宝。  在软件设计层面,我们把各种支付方式叫做策略。如果不考虑设计模式的话,我们可能会在一个类中用if..e...

2016-07-07 22:56:00 99

空空如也

空空如也

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

TA关注的人

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