摘要: Maven基本使用: mvn help:system 打印出所有Java系统属性和环境变量,下载maven-help-plugin文件 Maven最主要的命令:mvn clean compile,mvn clean test, mvn clean package,mvn clean install.执行test之前会先执行compile的,执行package之前会先执行test,install(把jar包安装到仓库中供所有人使用) 之前会执行package,可以在任何一个Maven项目中执行这些命令。 可以直接运行mvn archetype:generate去生成项目基本骨架。会有很多A... 阅读全文
posted @ 2014-04-08 09:31 丁丁木木 阅读(1447) 评论(0) 推荐(0) 编辑
摘要: 1.物理层网络由若干结点和连接这些结点的链路组成,网络把许多计算机连接在一起,而因特网则把许多网络连接在一起因特网服务提供商ISP(Internet Service Provider)网络接入点NAP(Network Access Point)NAP又称对等点(peering point)表示接入到NAP的设备不存在从属关系而都是平等的。RFC(Request For Comments)请求评论。所有的因特网标准都是以RFC形式在因特网上发表。在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类:客户端服务器方式(C/S方式)和对等方式(P2P9(peer 2 peer)方式).实际 阅读全文
posted @ 2013-10-26 17:56 丁丁木木 阅读(699) 评论(0) 推荐(0) 编辑
摘要: 1在并发编程中有两类关键问题:线程之间如何通信及线程之间如何同步(这里线程是并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递2共享内存并发模型里,线程间共享程序的公共状态,线程间通过写--读内存中的公共状态来隐式进行通信。消息传递并发模型里,线程间没有公共状态,线程间必须通过明确的发送消息来显示进行通信。)3 同步指程序用于控制不同线程间操作发生的相对顺序的机制。在共享内存并发模型中,同步是显式进行的。程序员必须显式指定某个方法或某段代码需要在线程之间互斥执行。在消息传递的并发模型中,由于消息的发送必须在消息的接收之前,. 阅读全文
posted @ 2013-09-23 17:28 丁丁木木 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 1 使用hibernate步骤 2 1.创建Hibernate的配置文件 3 2.创建持久化类 4 3.创建对象-关系映射文件 5 4.通过Hiberante api 编写访问数据库的代码 6 SessionFactory: 7 一个SessionFactory实例对应一个数据存储源,应用从SessionFactory中获得Session实例,SessionFactory有以下特点:它是线程安全,这意味着它一个实例可以被多个线程共享,这是重量级的。如果应用只访问一个数据库,只需要创建一个SessionFactory实例,在应用初始化时候创建一个该实例,如果应用同时访问多个数据库... 阅读全文
posted @ 2013-08-14 23:40 丁丁木木 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 1,转义字符 \b 退格字符 \f 换页符 \n 换行字符 \r 回车字符 \t 制表符 \'单引号 \"双引号 \\ 反斜线 \xNN 其中NN是一个十六进制数,表示Latin-1字符集中的编号来表示一个字2.parseInt()函数与parseFloat()函数把字符串转换为整数和浮点数 这两个函数逐字解析,如果解析到的字符不是有效数字,解析将停止,并把解析到之前的字符串转换为对应的数值。如parseInt("123abc")将返回数值123,当javascript解析到a字符a时,将认为字符串的数字部分已经结束。parseFloat()与parseI 阅读全文
posted @ 2013-08-13 23:16 丁丁木木 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 1.JavaScript只有一个单一的数字类型,它在内部被表示为64位的浮点数。所以1和1.0是相同的值。值NaN是一个数值,它表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它自己。值Infinity表示所有大于1.79769313486231570e+308值2.JavaScript在被创建的时候,Unicode是一个16位的字符集,所以JavaScript中所有字符都是16位的。 JavaScript没有字符类型,要表示一个字符,只须创建仅包含一个字符的字符串即可。3.字符串有一个length属性4.字符串是不可变的,一旦字符串被创建,就永远无法改变它。但通过+运算符去连接其 阅读全文
posted @ 2013-08-13 23:09 丁丁木木 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 调停者模式是对象的行为模式。调停者模式包装了一系列相互作用的方式,使得这些对象不必互相明显引用。从而使它们可以较松散地耦合。当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化。在调停者模式中,所有的成员对象都可以协调工作,但是又不直接相互管理。这些对象都与一个处于中心地位的调停者对象发生紧密关系,由这个调停者对象进行协调工作。这个协调者对象叫做调停者(Mediator),而调停者所协调的成员对象称做同事(Colleague)对象。调停者模式包括几个角色:1.抽象调停者角色:定义出同事对象到调停者对象的接口,其中主要 阅读全文
posted @ 2013-08-06 21:49 丁丁木木 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 解释器模式是类的行为模式,给定一个语言之后,解释器模式可以定义出其方法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。如果某一类问题一再地发生的话,那么一个意义的做法就是将此类问题的各个实例表达为一个简单语言中的语句。这样就可以建造一个解释器,通过解释这些语句达到解决问题的目的。模式所涉及的角色有:1.抽象表达式(Expression)角色:声明一个所有的具体表达式角色都需要实现的抽象接口。这个接口主要是一个interpret()方法,称做解释操作2.终结符表达(Terminal Expression)表达式角色:这是一个具体角色,它实现了抽象表达式角色所要求 阅读全文
posted @ 2013-08-06 21:06 丁丁木木 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 所谓双分派,就是根据方法的接收者以及某一个参量的类型的不同而执行不同的代码。Java语言以方法重载的试支持静态的多分派,而通过方法的重写支持动态的单分派访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。 访问者模式适用于数据结构相对未定的系统,它把数据结构和作用于结构之上的操作之间的耦合解脱开,使得操作集合可以相对自由地演化。所涉及角色:1.抽象访问者(Visitor)角色:声明了一个或多个访问操作,形成所有的具体元素角色必须实现的接口2.具体访问者(ConcreteVisitor)角色:实. 阅读全文
posted @ 2013-08-05 15:54 丁丁木木 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 状态模式(State Pattern),又称为状态对象模式(Pattern of Objects for Statues),状态模式是对象的行为模式。状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类。状态模式的意图是让一个对象在其内部状态改变的时候,其行为也随之改变。模式所涉及角色有:1.抽象状态角色:定义接口,用以封装环境(Context)对象的一个特定的状态所对应的行为2.具体状态角色:每一个具体状态类都实现了环境(Context)的一个状态所对应 的行为3.环境(Context)角色:定义客户端所感兴趣的接口,并且保留一个具体状态类的实例。 阅读全文
posted @ 2013-08-05 14:31 丁丁木木 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 备忘录模式又叫快照模式(Snapshot Pattern)或Token模式,是对象的行为模式。备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并外部化(Externalize),存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。它常常与命令模式和迭代子模式一同使用。常见的软件系统往往不止存储一个状态,而是需要存储多个状态。这些状态常常是一个对象历史发展的不同阶段的快照,存储这些快照的备忘录对象叫做此对象的历史:某一个快照所处的位置叫做检查点(Check Point)备忘录模式涉及三个角色:备忘录(Meme 阅读全文
posted @ 2013-08-05 11:25 丁丁木木 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式.命令模式把一个请求或操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或记录请求日志,可以提供命令的撤销和恢复功能。命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。每一个命令都是一个操作:请求的一方发出请求要求执行一个操作,接收的一方收到请求,并执行操作。命令模式允许请求的一方和接收的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接收的,以及操作是否被执行,何时被执行,以及是怎么被执行的。 阅读全文
posted @ 2013-08-04 11:21 丁丁木木 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任。角色:1.抽象处理者(Handler):定义出一个处理请求的接口。如果需要,接口可以定义出一个方法,以设定的返回对下家的引用。这个角色通常由一个Java抽象类或者Java接口实现。2.具体处理者(ConcreteHandler)角色:具体处理者接到请求后,可以选择将请求处理掉,或者将请求传给下家。由于具体处理者持有对 阅读全文
posted @ 2013-08-04 10:25 丁丁木木 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 迭代子(Iterator)模式又叫游标(Cursor)模式,是对象的行为模式。迭代子模式可以顺序地访问一个聚焦中的元素而不必暴露聚焦的内部表象。为什么聚集需要迭代子?聚焦对象必须提供适当的方法,允许客户端能够按照一个线性顺序遍历所有的元素对象,把元素对象提取出来或删除掉等 。一个使用聚焦的系统必然会使用这些方法操控聚焦对象,因而在使用聚焦的系统演化过程中,会出现两类问题:1.迭代逻辑没有改变,但是需要将一种聚焦换成另一种聚焦。因为不同的聚焦具有不同的遍历接口,所以需要修改客户端代码,以便将已有的迭代调用换成新聚焦对象所要求的接口2.聚焦不会改变,但是迭代方式需要改变。如原来只需要读取元素和删除 阅读全文
posted @ 2013-08-03 19:21 丁丁木木 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 观察者模式是对象的行为模式,又叫做发布-订阅(Publish/Subscribe)模式,模型-视图(Model/View)模式,源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模式的角色:1.抽象主题(Subject)角色:主题角色把所有对观察者的引用保存在一个聚焦里,每个主题都可以有任何数量的观察者。抽象主题角色提供一个接口,可以增加和删除观察者对象,主题角色又叫做抽象被观察者角色,一般用一个抽 阅读全文
posted @ 2013-08-03 17:22 丁丁木木 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式是类的行为模式,准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法的用意。 模板方法模式是基于继承的代码复用技术,模版方法模式的结构和用法也是面向对象设计的核心。它涉及两个角色:1.抽象模版(Abstract Template)角色有如下责任定义一个或多个抽象操作,以便让子类实现。这些抽象操作叫做基本操作,它们是一个顶级逻辑的组成步骤定义并实现了一个模板方法。这个模板方法一般是一个具体方法,它给出了一个顶级逻辑的骨架,而逻辑的组成步骤在相. 阅读全文
posted @ 2013-08-03 15:17 丁丁木木 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 策略模式属于对象的行为模式,其用意就是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响客户端的情况下发生变化。策略模式 是对算法的包装,是把使用算法的责任和算法本身分割开,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里,作为一个抽象策略类的子类。这个模式涉及三个角色:1.环境(Context)角色:持有一个Strategy类的引用2.抽象策略(Strategy)角色:抽象角色,通常由一个接口或抽象类实现,此角色给出所有具体策略类所需要的接口3.具体策略(ConcreteStrategy)角色:包装了相关的 阅读全文
posted @ 2013-08-02 18:26 丁丁木木 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 行为模式(Behavioral Pattern)是对在不同的对象之间划分责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的。行为模式分为类的行为模式和对象的行为模式两种:1.类的行为模式:类的行为模式使用类继承关系在几个类之间分配行为2.对象的的行为模式:对象的行为模式则使用对象的聚合来分配行为。行为模式包括:不变模式,策略模式,模版方法模式,观察者模式,迭代子模式,责任链模式,命令模式,备忘录模式,状态模式,访问者模式,解释器模式,调停者模式等。不变模式:一个对象的状态在对象被创建之后就不再变化,这就是所谓的不蛮模式(Immutable Pattern)不变模 阅读全文
posted @ 2013-08-02 16:50 丁丁木木 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 桥梁模式的用意是“将抽象化与实现化脱耦,使得二者可以独立地变化”所谓脱耦,就是两个实体的行为的某种强关联。而将它们的强关联去掉,就是耦合的解脱或称为脱耦。或者说,将它们之间的强关联改换成弱关联。所强关联,就是在编译时期已经确定的,无法在运行期间动态改变的关联。所谓弱关联,就是可以动态地确定并且可以在运行时期动态地改变的关联。在java语言中,类继承关系是强关联,而聚合有关系是弱关联。桥梁模式中的所谓脱耦,就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以相对独立地变化。这就是桥梁模式的用意。桥梁模式的系统含有两个等级结构:1.由抽象化角色和修正抽象化角色组 阅读全文
posted @ 2013-08-02 16:43 丁丁木木 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 门面模式是对象的结构模式,外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式。角色:1.门面角色:客户端可以调用这个角色的方法。此角色知晓相关的一个或多个子系统的功能和责任。在正常情况下,本角色会将所有从客户端的请求委派到子系统去2.子系统角色:可以同时有一个或多个子系统。每一个子系统都不是一个单独的类,而是一个类的集合。每一个子系统都可以被客户端直接调用,或者被门面角色调用。子系统并不知道门面的存在,对于子系统而言,门面仅仅是另外一个客户端而已。类似于医院中设计一个接待员的话(超级无敌全知道)什么情况下使用门面模式?1.为一个复杂子系统提供一个简单接口子系统 阅读全文
posted @ 2013-08-02 11:44 丁丁木木 阅读(187) 评论(0) 推荐(0) 编辑