自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Halfopen的专栏

我的个人记事本,爱看不看

  • 博客(29)
  • 资源 (3)
  • 收藏
  • 关注

转载 [leetcode] 442. Find All Duplicates in an Array

在数组中找出所有重复出现的数,要求时间复杂度O(n),空间复杂度O(1)

2016-10-30 11:19:50 2044 2

转载 18、命令模式(Command)

命令模式很好理解,举个例子,司令员下令让士兵去干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令,口令经过传递,传到了士兵耳朵里,士兵去执行。这个过程好在,三者相互解耦,任何一方都不用去依赖其他人,只需要做好自己的事儿就行,司令员要的是结果,不会去关注到底士兵是怎么实现的。

2016-10-26 15:06:53 762

转载 构造回文串

给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?

2016-10-26 12:04:40 895

转载 使用java绘制希尔伯特曲线(hilbert curve)

绘制希尔伯特曲线 Hilbert Curve

2016-10-26 11:58:46 3306 1

转载 17、责任链模式(Chain of Responsibility)

接下来我们将要谈谈责任链模式,有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发出者并不清楚到底最终那个对象会处理该请求. 所以,责任链模式可以实现,在隐瞒客户端的情况下,对系统进行动态的调整。

2016-10-26 11:39:54 582

转载 ios以及微信页面中title动态修改失效问题

方法一(ios下有效) 作者:zhoukekestar 链接:https://www.zhihu.com/question/26228251/answer/114387428 来源:知乎 著作权归作者所有,转载请联系作者获得授权。<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>title1<

2016-10-24 18:06:21 3528

转载 16、迭代子模式(Iterator)

顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。

2016-10-21 20:25:19 3126

转载 15、观察者模式(Observer)

包括这个模式在内的接下来的四个模式,都是类和类之间的关系,不涉及到继承,学的时候应该 记得归纳,记得本文最开始的那个图。观察者模式很好理解,类似于邮件订阅和RSS订阅,当我们浏览一些博客或wiki时,经常会看到RSS图标,就这的意思是,当你订阅了该文章,如果后续有更新,会及时通知你。其实,简单来讲就一句话:当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化!对象之间是一种一对多的关系。

2016-10-21 20:21:36 2695

原创 Provisional headers are shown

Provisional headers are shown

2016-10-19 15:09:55 10304 2

转载 14、模板方法模式(Template Method)

解释一下模板方法模式,就是指:一个抽象类中,有一个主方法,再定义1…n个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用.

2016-10-19 09:36:45 7743

原创 父窗口操控iframe

父窗口操控iframeEbookMakerOL-CoverMaker.html:42 Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "null" from accessing a frame wit

2016-10-17 20:12:00 7678 1

转载 13、策略模式(strategy)

接下来讲解行为型模式,共11种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。先来张图,看看这11中模式的关系:第一类:通过父类与子类的关系进行实现。第二类:两个类之间。第三类:类的状态。第四类:通过中间类策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户

2016-10-17 16:16:48 7389

转载 12、享元模式(Flyweight)

享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,通常与工厂模式一起使用。

2016-10-17 15:37:20 7090

转载 11、组合模式(Composite)

组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便

2016-10-17 15:33:41 7206

转载 10、桥接模式(Bridge)

桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了。

2016-10-17 15:18:36 7241

转载 9、外观模式(Facade)

外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度,该模式中没有涉及到接口

2016-10-17 13:51:57 7283

转载 8、代理模式(Proxy)

其实每个模式名称就表明了该模式的作用,代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。再如我们有的时候打官司,我们需要请律师,因为律师在法律方面有专长,可以替我们进行操作,表达我们的想法。

2016-10-17 13:41:04 7315 1

转载 7、装饰模式(Decorator)

顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例

2016-10-17 10:13:23 7283

转载 6、适配器模式(Adapter)

适配器模式我们接着讨论设计模式,上篇文章我讲完了5种创建型模式,这章开始,我将讲下7种结构型模式:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。其中对象的适配器模式是各种模式的起源,我们看下面的图:主要分为三类:类的适配器模式对象的适配器模式接口的适配器模式。

2016-10-16 10:37:10 7257

转载 5、原型模式(Prototype)

原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。

2016-10-14 09:57:07 7383

转载 4、建造者模式(Builder)

工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的Test结合起来得到的。

2016-10-14 09:46:51 7412

转载 3、单例模式(Singleton )

单例对象单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。 在hibernate中的HibernateSessionFactory便应用了单例模式 这样的模式有几个好处:某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。省去了new操作符,降低了系统内存的使用频率,减轻GC压力。

2016-10-14 09:18:47 7395

转载 2、抽象工厂模式(Abstract Factory)

抽象工厂模式工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则。 所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。因为抽象工厂不太好理解,我们先看看图,然后就和代码,就比较容易理解。

2016-10-13 22:56:50 7292

转载 1、工厂方法模式(Factory Method)

工厂方法模式工厂方法模式分为三种:1、普通工厂模式就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。2、多个工厂方法模式,是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能正确创建对象,而多个工厂方法模式是提供多个工厂方法,分别创建对象。3、静态工厂方法模式,将上面的多个工厂方法模式里的方法置为静态的,不需要创建实例,直接调用即可。

2016-10-13 22:45:02 7688

转载 设计模式

设计模式(Design Patterns) 可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。

2016-10-13 11:58:41 7728

原创 at com.sun.proxy.$Proxy5.createQuery(Unknown Source)

java.lang.reflect.UndeclaredThrowableException at com.sun.proxy.$Proxy5.createQuery(Unknown Source)java.lang.NoSuchMethodError: antlr.collections.AST.getLine()

2016-10-11 23:42:38 35430 3

原创 Could not load requested class : com.mysql.jdbc.Driver

问题描述在已经添加驱动包mysql-connector-java-5.1.5-bin.jar的情况下,unitTest通过,但是运行仍然提示Could not load requested class : com.mysql.jdbc.Driver解决方法mysql-connector-java-5.1.5-bin.jar放到“WEB-INF/lib”目录下,即可解决上述问题。

2016-10-11 23:25:25 9233

原创 全面解析Java注解

全面解析Java注解 http://www.imooc.com/video/8861概述Annotation(注解)是JDK1.5及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注解是以‘@注解名’在代码中存在的,根据注解参数的个数,我们可以将注解分为:标记注解、单值注解、完整注解三类。它们都不会直接影响到程序的语义,只是作为注解(标识)存在,我们可以通过反射

2016-10-08 16:46:52 7317

原创 java 反射

java 反射 http://www.imooc.com/learn/199java 反射Class类的使用动态加载类获取方法信息基本的数据类型void关键字等都存在类类型Class类的基本API操作的Method类提供了一些操作方法的方法获取成员变量构造函数信息方法反射的基本操作获取A类中的printintint方法方法的反射操作通过反射了解集合泛型的本质Class类

2016-10-08 10:31:54 7332

武汉大学编译原理三次课后作业

武汉大学王汉飞老师布置的三次课后作业,内有答案

2015-12-23

sqlmap 源代码

sqlmap 在github上的代码

2015-11-20

苹果下神州数码系统上网

苹果mac系统下的神州数码上网教程,图形界面版

2014-10-10

空空如也

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

TA关注的人

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