自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (15)
  • 收藏
  • 关注

转载 org.hibernate.TransactionException: JDBC begin transaction failed:解决方法

异常:  javax.servlet.ServletException: org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.Transaction

2015-05-21 14:32:28 11827

转载 Ubuntu修改Mysql字符编码

安装了mysql。版本:5.5.28操作系统 :ubuntu 14.10mysql> show variables like 'character%';+--------------------------+----------------------------+| Variable_name            | Value

2015-05-21 14:28:11 611

转载 Java访问者模式(Visitor)

一、概述      访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。       实现的基本思路:在对象结构上添加一个方法,作为通用的方法,也就是可以代表要添加的功能,在这个方法中传入具体的实现新功能的对象。在对象实现的具体实现对象中实现这个方法,回调传入具体的实现新功能的对象,就相当于

2013-12-14 11:09:07 1049

原创 Java迭代器模式(Iterator)

一、概述      迭代器(Iterator)模式,又叫做游标(Cursor)模式。GOF给出的定义为:提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。      该模式在客户与容器之间加入了迭代器角色,这样就可以很好的避免容器内部细节的暴露,而且也使得设计符号“单一职责原则”。在迭代器模式中,具体迭代器角色和具体容器角色是耦合在一起的——遍历算法是与容器的内部细节紧

2013-12-13 15:54:12 815

原创 Java装饰器模式(Decorator)

一、概述      装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,可以在不创建更多子类的情况下,将对象的功能加以扩展,是继承关系的一个替代方案。用意:动态地为对象添加一些额外的功能,就好比为房子进行装修一样。      特点:1)装饰者和被装饰者拥有相同的超类型(可能是抽象类也可能是接口);2)在装饰类中包含一个被装饰组件类的对象引用;3)可以为被装饰

2013-12-11 18:48:10 1769

转载 Java解释器模式(Interpreter)

一、概述      定义语言的文法,并且建立一个解释器来解释该语言中的句子。如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子,这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题,而且当文法简单,效率不是关键问题的时候效果最好。二、结构图      抽象解释器:声明一个所有具体表达式都要实现的抽象接口(或者抽象类),接

2013-12-10 16:51:05 1134

原创 Java命令模式(Command)

一、概述      定义:将一个请求封装成一个对象,从而可以使用不同的请求对客户端进行参数化;对请求排队或记录请求日志,并且可以提供命令的撤销和恢复功能。将“行为请求者”和“行为实现者”解耦,可实现二者之间的松耦合。      队列请求:就是对命令对象进行排队,组成工作队列,然后依次取出命令对象来执行。可以使用多线程或者线程池来进行命令队列的处理,但是也可以使用一个线程,一次从队列中取出命

2013-12-10 15:40:39 1438

转载 Java策略模式(Strategy)

一、概述     策略模式定义一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换,而且使这些算法在客户端调用它们的时候能够互不影响地变化。策略模式属于对象行为型模式,它们之间是弱连接的关系,提高了软件的可扩展性与可重用性。策略模式适用于当一个应用程序需要实现一种特定的服务或者功能,而且该程序有多种实现方式时使用。     策略模式的重心不是如何实现算法,而是如何

2013-12-07 20:15:30 1553

转载 Java状态模式(State)

一、概述     (1)定义:状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类,这个对象看上去象是改变了它的类一样。状态模式需要对每一个系统可能取得的状态创立一个状态类的子类。当系统的状态变化时,系统便改变所选的子类。     (2)意图:让一个对象在其内部状态改变的时候,其行为也随之改变。     (3)适用场景:1)一个对象的行为取决

2013-12-07 09:38:51 1527

转载 Java模板方法模式(Template Method)

一、概念      定义一个算法的骨架,将部分逻辑以具体方法的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方法实现这些抽象方法,从而对剩余的逻辑有不同的实现。意图:在一个方法中实现一个算法,并推迟定义算法中的某些步骤,从而让子类重新定义它们。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。      抽象类的任务是搭建逻辑的框架,

2013-12-06 16:21:36 886

转载 Java备忘录模式(Memento)

一、定义      备忘录模式(Memento)的作用是保存对象的内部状态,并在需要的时候(undo/rollback)恢复对象以前的状态。在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以在需要的时候将该对象恢复到原先保存的状态。二、结构图       涉及的角色:发起人(Originator)角色、备忘录(Memento)角色、负责人(C

2013-12-04 19:19:47 788

转载 Java原型设计模式(Prototype)

1、定义      原型模式(Prototype)就是通过复制一个已经存在的实例来返回新的实例,而不是新建实例,被复制的实例就是我们所称的原型对象,这个原型是可定制的。2、原理     有两部分组成,抽象原型和具体原型。意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。3、原型模式UML图4、实现      1>使用一个原型管理器;

2013-12-03 21:43:11 978

原创 Java抽象工厂模式(Abstract Factory)

一、定义       多个抽象产品类,派生出多个具体产品类;一个抽象工厂类,派生出多个具体工厂类;每个具体工厂类可创建多个具体产品类的实例。即提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们的具体的类。假设一个子系统需要一些产品对象,而这些产品又属于一个以上的产品等级结构。那么为了将消费这些产品对象的责任和创建这些产品对象的责任分割开来,可以引进抽象工厂模式。这样的话,消费产品的一方

2013-12-03 20:57:36 1261

原创 Java工厂方法模式(Factory Method)

一、定义       首先,在工厂方法模式中,核心的工厂类不再负责所有的产品的创建,而是将具体创建的工作交给子类去做,仅负责给出具体工厂子类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。这种进一步抽象化的结果,使这种工厂方法模式可以用来允许系统在不修改具体工厂角色的情况下引进新的产品,这一特点无疑使得工厂模式具有超过简单工厂模式的优越性。二、结构图及各部分的功能

2013-12-03 19:22:54 764

转载 java中finalize终结方法的一些问题

一、finalize的作用       由于在java中存在垃圾回收器,因此许多人认为它相当于C++中的析构函数,然而,垃圾回收器只会回收使用new方法获得的内存,而通过其他方法得到的内存以及任何其他系统资源(比如文件句柄、数据库连接等)都不能通过垃圾回收器得到释放。因此我们需要其它的释放函数。那么能够做到这一切的是finalize()方法(但是,一定不要使用finalzie方法去释放这些资源

2013-12-03 11:16:10 2262

原创 Java单例模式(Singleton)

单例模式有一下特点:  1、单例类只能有一个实例。  2、单例类必须自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。  单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一

2013-12-02 22:09:01 737

原创 Java构建者模式(Builder)

一、定义:      将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。意图是:将类的构建逻辑转移到类的实例化外部。Builder模式是分步骤地创建一个复杂的对象,关注的是目标类的构建过程,目标类关注合法实例的业务本身。它将复杂的内部创建封装在内部,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们,用户不知道内部的具体构建细节。这样做的好处是在实例化目标类前,

2013-11-30 17:44:07 2933

原创 Java享元模式(Flyweight)

一、享元模式(Flyweight):      意图:运用共享技术有效地支持大量细粒度的对象。享元模式可以使你共享地访问那些大量出现的细粒度对象,享元对象必须是不可变的,可以将那些不变的部分提取出来。     享元模式的重点在于分离变与不变。本质是分离与共享。把一个对象的状态分成内部状态和外部状态,内部状态是不变的,外部状态是可变的。然后通过共享不变的部分,达到减少对象数量并节约内存的目的

2013-11-29 21:02:47 761 1

原创 Java责任链模式(Chain of Responsibility)

一、定义:       在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。二、责任链模式的结构       责任链模式涉及到的角色如下所示:     (1)抽象处理者(H

2013-11-29 19:43:59 2249

转载 Java创建线程数目问题

一、JVM最大线程数       能创建的线程数的具体计算公式如下:(MaxProcessMemory-JVMMemory-ReservedOsMemory)/(ThreadStackSize)=Number of threads       MaxProcessMemory 指的是一个进程的最大内存      JVMMemory JVM内存      ReservedOsMe

2013-11-28 14:05:13 1710

转载 Java代理模式(Proxy)

一、作用:      为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。使用代理模式创建代理对象,让代理对象控制目标对象的访问(目标对象可以是远程的对象、创建开销大的对象或需要安全控制的对象),并且可以在不改变目标对象的情况下添加一些额外的功能。二、结构图三、在代理模式中的

2013-11-27 20:48:53 985

转载 Java调停者模式(Mediator)

1.定义       调停者模式定义一个对象(Mediator),封装一系列对象(Colleagues)相互作用的方式,使得这些对象(Colleagues)不必相互明显作用。从而使他们可以松散偶合,避免了对象之间的显示引用,并且可以独立地改变对象的行为。当某些对象之间的作用发生改变时,不会立即影响其他的一些对象之间的作用。调停者模式将多对多的相互作用转化为一对多的相互作用。调停者模式将对象的行

2013-11-27 19:10:24 830

转载 Java设计模式总结

1、工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。     2、建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以

2013-11-27 17:19:04 564

转载 并行编程之Fork/Join框架

一、概述:       在实际情况中,很多时候我们都需要面对经典的“分治”问题。要解决这类问题,主要任务通常被分解为多个任务块(分解阶段),其后每一小块任务被独立并行计算。一旦计算任务完成,每一快的结果会被合并或者解决(解决阶段)。“分治”问题可以很容易地通过Callable线程的Executor接口来解决。通过为每个任务实例化一 个Callable实例,并在ExecutorService类中

2013-11-27 16:55:50 1491

转载 并发编程之Executors及其子类

java.util.concurrent.Executors是个工具类,它提供对Executor、ExecutorService、ScheduledExecutorService、ThreadFactory、Callable、ExecutorCompletionService、Future等类的一些实用方法。其中Callable、Future和FutureTask在《并发编程之Callable和F

2013-11-27 14:42:42 1182

原创 并发编程之Callable和Future接口、FutureTask类

Thread、Runnable、Callable,其中Runnable实现的是void run()方法,Callable实现的是V call()方法,并且可以返回执行结果,其中Runnable可以提交给Thread来包装下,直接启动一个线程来执行,而Callable则一般都是提交给ExecuteService来执行。Executor就是Runnable和Callable的调度容器,Future就是

2013-11-27 11:28:19 828

转载 Java线程的两种创建方式及优劣比较

1、通过实现Runnable接口线程创建(1).定义一个类实现Runnable接口,重写接口中的run()方法。在run()方法中加入具体的任务代码或处理逻辑。(2).创建实现Runnable接口的类的对象。(3).创建一个Thread类的对象,需要封装前面Runnable接口实现类的对象。(接口可以实现多继承)(4).调用Thread对象的start()方法,启动线程。这种方式创

2013-11-26 21:58:02 1587

原创 并发编程之交换器Exchanger

示例程序:生产者线程:import java.util.ArrayList;import java.util.List;public class Producer implements Runnable { private static List buffer = new ArrayList(); private boolean okToRun = true; private

2013-11-26 19:02:19 738 1

原创 并发编程之移相器Phaser

示例程序:1、Horse程序import java.util.concurrent.atomic.AtomicInteger;public class Horse implements Runnable { private final static AtomicInteger idSource = new AtomicInteger(); private final int id

2013-11-26 18:58:14 853

转载 并发编程之倒计数闭锁CountDownLatch

CountDownLatch看作一个计数器,只不过这个计数器的操作是原子操作,同时只能有一个线程去操作这个计数器,也就是同时只能有一个线程去减这个计数器里面的值。CountDownLatch的一个非常典型的应用场景是:有一个任务想要往下执行,但必须要等到其他的任务执行完毕后才可以继续往下执行。假如我们这个想要继续往下执行的任务调用一个CountDownLatch对象的await()方法,其他的任务

2013-11-26 15:41:49 747

原创 并发编程之屏障CyclicBarrier

它是一个同步辅助类,允许一组线程互相等待,直到到达某个公共屏障点(common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时CyclicBarrier很有用,常用于协调分组的线程的启动和停止。因为该barrier在释放等待线程后可以重用,屏障可以被重复的重置状态。所以称它为循环的barrier。             CyclicBar

2013-11-26 14:16:40 1093

原创 并发编程之信号量Semaphore

在以前的操作系统学习中,为了实现进程的同步,需要设置信号量执行P、V操作来实现。在Java中,线程之间的同步也是使用信号量Semaphore类来实现的。线程访问临界资源(需互斥访问的那段代码)的时候,如果信号量(计数器)大于0,则允许进入临界资源,若信号量小于等于0,则线程阻塞等待另外的线程释放临界资源。Java 并发库的Semaphore 可以很轻松完成信号量控制,Semaphore 通常用于限

2013-11-26 10:57:42 1108

转载 Java中的几种标识接口

标识接口是没有任何方法和属性的接口.它仅仅表明它的类属于一个特定的类型,供其他代码来测试允许做一些事情.使用标记接口的唯一目的是使得可以用instanceof进行类型查询,例如:if(obj instanceof Cloneable) {………} 一些容器例如Ejb容器,servlet容器或运行时环境依赖标记接口识别类是否需要进行某种处理,比如serialialbe接口标记类需要进行序

2013-11-26 08:59:02 1441

转载 阻塞队列之LinkedTransferQueue

TransferQueue是一个继承了BlockingQueue的接口,并且增加若干新的方法。LinkedTransferQueue是TransferQueue接口的实现类,其定义为一个无界的队列,一样具有先进先出(FIFO)的特性。     Doug Lea 这样评价它:"TransferQueue是一个聪明的队列,它是ConcurrentLinkedQueue、SynchronousQ

2013-11-25 21:47:46 12895

转载 阻塞队列之SynchronousQueue

SynchronousQueue是一种无缓冲的等待队列,类似于无中介的直接交易,有点像原始社会中的生产者和消费者,生产者拿着产品去集市销售给产品的最终消费者,而消费者必须亲自去集市找到所要商品的直接生产者,如果一方没有找到合适的目标,那么对不起,大家都在集市等待。相对于有缓冲的BlockingQueue来说,少了一个中间经销商的环节(缓冲区),如果有经销商,生产者直接把产品批发给经销商,而无需在意

2013-11-25 21:18:30 910

转载 Java观察者模式(Observer)

Observer模式的意图是“定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新”。从这段话里我们可以得到两个信息,如下:      1, 观察者(具体执行操作的对象,有多个);      2, 被观察者(顾名思义是被观察的对象,如果该对象发生某些变化则通知观察者执行对应的操)

2013-11-25 17:06:22 1547 1

转载 java之yield,sleep,wait详解

1、sleep()    使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。     例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有

2013-11-25 10:38:47 1117

转载 LinkedList源码分析(基于JDK1.6)

LinkedList也和ArrayList一样实现了List接口,但是它执行插入和删除操作时比ArrayList更加高效,因为它是基于链表的。基于链表也决定了它在随机访问方面要比ArrayList逊色一点。      除此之外,LinkedList还提供了一些可以使其作为栈、队列、双端队列的方法。这些方法中有些彼此之间只是名称的区别,以使得这些名字在特定的上下文中显得更加的合适。

2013-11-24 14:29:46 681

转载 ArrayList removeRange方法分析

《ArrayList原码分析》一文中提到了“为什么removeRange(int fromIndex,int toIndex)是protected的?”    先给出removeRange(int fromIndex,int toIndex)方法的源码(这段代码是干什么的就不再解释了,源码分析一文中已经说明) 1 protected void removeRange(int f

2013-11-24 10:39:12 1298

转载 ArrayList源码分析(基于JDK1.6)

ArrayList就是传说中的动态数组,就是Array的复杂版本,它提供了如下一些好处:动态的增加和减少元素、灵活的设置数组的大小......    认真阅读本文,我相信一定会对你有帮助。比如为什么ArrayList里面提供了一个受保护的removeRange方法?提供了其他没有被调用过的私有方法?    首先看到对ArrayList的定义:1 public class A

2013-11-24 10:36:53 696

算法分析与设计结课论文

本文主要是浅析了Floyd算法在校车安排与站点优化中的应用问题。为了求解出各区域间的距离,我们建立了有权无向图,方便了求解过程。利用图论中的Floyd算法求解出了各个区域之间的最短路径,得到了D矩阵和R矩阵(其中D矩阵直观的表达出任意两个区之间的最短路径,R矩阵又列出了任意两个区最短路径具体的路线),进而成功解决了如何安排有限个站点使得教师及其他工作人员获得满意度最高的问题。

2011-07-06

操作系统实验报告 时间片轮转算法+源代码

这是自己编写的时间片轮转程序,该程序能够实现时间片轮转算法的模拟,能够计算各个进程的周转时间,输出各个进程的执行过程等。

2011-06-17

编译原理实验报告+源代码 预测分析法

这是一个预测分析法的实验报告,内含源代码+运行结果,完整的实验报告,该程序能够对句子进行分析,并输出分析过程,希望对大家有所帮助。

2011-06-17

操作系统实验报告+源代码 基本分页存储管理

这是操作系统实验报告,实现的是操作系统,里面含有源代码,能够对内存进行初始化,内存分配和回收等功能,决定原创。希望对各位有帮助

2011-06-17

公交信息查询系统 C语言

这是一个不错的数据结构课程设计,源代码和文档,题目是公交信息查询系统,该系统实现了以下功能:查询公交车的线路;查询停靠站点信息;查询任意两点之间可乘车辆;显示公交路线图等。

2010-11-21

学生选课系统 C语言版

这是一个用C语言编写的数据结构课程设计,题目是学生选课系统C言版,报告和源代码都在其中,报告中各方面分析的都比较详细,值得分享。

2010-11-18

C语言数据结构 飞机订票课程设计报告

这是一个用C语言编写的数据结构课程设计报告,题目是飞机订票,报告中包含了程序源代码,值得推荐参考。

2010-11-14

数据结构课程设计报告_排序设计

这是一个比较不错的数据结构课程设计报告,包含在数据结构中的各种排序设计,比较齐全,值得下载共享。

2010-11-14

计算机课程设计报告 商品管理系统

这是一个C数据结构课程设计,题目是商品管理系统,本课程设计报告包含了整个设计的全过程,里面有详细的源代码和比较完善设计报告。

2010-11-13

数据结构课程设计大全

数据结构课程设计大全是经过笔者精心编制而成,供各位下载分享,希望能给各位以帮助。

2010-11-13

数据结构课程设计总结报告

计算机专业数据结构课程设计,花费了我一周的时间,总于将这个报告做完了,值得下载分享一下,想能给各位带来用处。

2010-11-13

图书管理系统 C语言版

图书管理系统 C语言版,是一个比较好的课程设计,值得下载参考。

2010-11-12

学生成绩管理系统 C语言

学生成绩管理系统,包含了源代码和设计报告,比较全面详。,

2010-11-12

职工管理系统数据库设计

这是一个职工管理系统的设计比较详细,包含E-R图等资源。

2010-11-12

空空如也

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

TA关注的人

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