- 博客(44)
- 资源 (9)
- 收藏
- 关注
原创 设计模式结构型模式之桥接模式
桥接模式桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。我们通过下面的实例来演示桥接模式(Bridge Pattern)的用法。其中,可以使用相同的抽象类方法但是不同的桥接...
2019-07-11 17:10:31 250
原创 信息系统项目管理十大管理过程整理
2.1 立项管理概念定义:立项一般包括提交项目建议书、项目可行性研究、项目招标和投标等内容。项目建议书的内容:项目的必要性、项目的市场预测、产品方案或服务的市场预测、项目建设必须的条件可行性研究的内容一般包括:投资必要性、技术可行性、财务可行性、组织可行性、经济可行性、社会可行性、风险因素和对策投标活动流程:编制标书、递交标书、标书的签收可行性研究定义:在项目投资决策前,通过对项目有关工程技术、经济、社会等方面的条件和情况进行调查、研究和分析,对各种可能的技术方案进行比较论证,并对投资项
2021-05-27 19:43:47 4472
原创 设计模式结构型模式之外观模式
外观模式外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。介绍意图为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使...
2019-07-16 17:35:28 215
原创 设计模式结构型模式之适配器模式
适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。我们通过下面的实例来演示适配器模式的使用。其...
2019-07-10 18:01:32 208
原创 设计模式行为型模式之中介者模式
中介者模式中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。介绍意图用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。主要解决对象与对象之间存在大量的关联关系,这样...
2019-07-05 17:26:05 145
原创 设计模式行为型模式之访问者模式
访问者模式在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。介绍意图主要将数据结构与数据操作分离。主要解决稳定的数据结构和易变的操作耦合问题。何时使用需要对一个对象结构...
2019-07-04 17:15:54 174
原创 设计模式行为型模式之策略模式
在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。介绍意图定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决在有多种算法相似的情况下,使用 if…el...
2019-07-02 17:39:56 189
原创 设计模式行为型模式之状态模式
在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。介绍意图允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。主要解决对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。何时使用代码中...
2019-07-02 17:05:38 142
转载 javax.crypto.BadPaddingException: Given final block not properly padded解决方案
JAVA的AES加密解密在windows上测试一切正常,上传到空间上在解密时就出现错误。空间是Linux系统查看日志发现出现此异常javax.crypto.BadPaddingException: Given final block not properly padded后面百度了一下终于解决了,在生成key的时候出现错误的原来的代码:private Key initKeyForAES(...
2019-07-01 16:28:34 615
原创 设计模式行为型模式之迭代器模式
迭代器模式迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。迭代器模式属于行为型模式。介绍意图提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。主要解决不同的方式来遍历整个整合对象。何时使用遍历一个聚合对象。如何解决把在元素之间游走的...
2019-06-26 17:26:02 139
原创 设计模式创建型模式之工厂模式
工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。介绍意图定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决主要解决接口选择...
2019-06-24 17:22:27 112
原创 设计模式创建型模式之单例模式
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必...
2019-06-21 17:00:36 229
原创 设计模式结构型模式之过滤器模式
过滤器模式过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。实现我们将创建一个 Person 对象、Criteria 接口和实现了该接口的实体类,来过滤 Person 对象的列表。Cri...
2019-06-19 17:28:06 131
原创 设计模式结构型模式之组合模式
组合模式组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。我们通过下面的实例来演示组合模式的用法。实例演示了一个组织中员工的层次结构。介绍意...
2019-06-18 17:38:22 139
原创 设计模式结构性模式之代理模式
在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。介绍意图为其他对象提供一种代理以控制对这个对象的访问。主要解决在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者...
2019-06-17 15:18:19 251
原创 设计模式行为型模式之责任链模式
顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。介绍意图避免请求发送者与接收者耦合在一起,让多个对象...
2019-06-14 15:23:04 114
原创 设计模式创建模式之原型模式
原型模式的意图用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。主要解决的问题在运行期建立和删除原型。何时使用1、当一个系统应该独立于它的产品创建,构成和表示时。 2、当要实例化的类是在运行时刻指定时,例如,通过动态装载。 3、为了避免创建一个与产品类层次平行的工厂类层次时。 4、当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的...
2019-06-13 16:40:08 169
转载 数据库事务的四大特性和事务隔离级别
本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consi...
2019-06-11 16:46:50 106
原创 spring boot入门:功能介绍
一、Spring Boot四大功能Spring Boot将很多魔法带入了Spring应用程序的开发之中,其中最重要的是以下四个核心。自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置。起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无...
2019-06-11 14:54:15 499
转载 虚拟机NAT模式下设置Centos7固定IP地址
在研发过程中,虚拟机必不可少,但是如果虚拟机的IP经常变化会出现会很问题,比如之前配置好很多软件不可用。所以我们需要设置虚拟机的固定IP地址,方便我们的日常工作。一、确定虚拟机为NAT模式且更改虚拟网络配置这里写图片描述去掉使用本地DHCP服务将IP地址分配给虚拟机这里写图片描述二、修改虚拟网卡的IP地址网段把IP地址修改为想要修改的IP的网段192.168.182.1这里写图片描述...
2019-03-04 13:57:23 162
转载 Cannot change version of project facet Dynamic Web Module to 2.5问题解决
##一、问题现象:eclipse中,有个maven web项目,报错:Cannot change version of project facet Dynamic Web Module to 2.5二、期望:期望此maven web项目为 web 2.5,而非2.4三、解决步骤:1,更改setting目录下的配置。点击小三角,再点击Filters:去掉勾选 .* resources ...
2018-09-28 11:34:27 369
转载 解决maven update project 后项目jdk变成1.5的问题
一、问题描述在Eclipse中新建了一个Maven工程, 然后更改JDK版本为1.7, 结果每次使用Maven > Update project的时候JDK版本都恢复成1.5。二、原因分析Maven官方文档有如下描述:编译器插件用来编译项目的源文件.从3.0版本开始, 用来编译Java源文件的默认编译器是javax.tools.JavaCompiler (如果你是用的是java 1....
2018-09-28 11:20:33 242
原创 mybatis中SqlSession异常回滚
一、SqlSession介绍 SqlSessionFactorySqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由对它进行清除或重建。使用 SqlSessionFactory 的最佳实践是在应用运行期间不要重复创建多次,多次重建 SqlSessionFactory 被视为一种代码“坏味道(bad smell)”。因此 SqlSessionFac...
2018-09-11 16:13:32 12872 1
转载 次时代Java编程(一):Java里的协程
http://geek.csdn.net/news/detail/71824这东西其实有很多名词,比如有的人喜欢称为纤程(Fiber),或者绿色线程(GreenThread)。其实最直观的解释可以定义为线程的线程。有点拗口,但本质上就是这样。我们先回忆一下线程的定义,操作系统产生一个进程,进程再产生若干个线程并行的处理逻辑,线程的切换由操作系统负责调度。传统语言C++ Java等线程其实与...
2018-08-27 14:49:12 172
原创 C语言仓库管理系统
仓库管理系统 此系统为大学时课程为学习C语言来设计的,在此平台做一个记录用,希望看到的同学觉得不妥的地方可以指出来,也希望对刚学C语言的同学有帮助。一.功能仓库管理系统主要提供一个仓库业务及其作业管理的信息存储和检索系统。通过货物的信息管理、单据管理、仓库人员管理等功能模块来实现仓库的综合管理。本系统可以方便快捷地实现仓库中货物的添加、删除、查询、统计等操作,使企业的仓库管理的井...
2018-08-24 15:53:30 10785 6
原创 C语言实现静态循环队列
C语言实现静态队列 循环静态队列是一种长度固定,空间循环使用的队列。 为充分利用向量空间,克服”假溢出”现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。这种循环队列可以以单链表的方式来在实际编程应用中来实现。 具体操作过程见下图: 以下是简单代码实现:#include <std...
2018-08-24 15:20:20 1535
原创 linux下安装redis并配置服务
linux下安装redis并配置服务 最近比较闲比较闲。。正好公司项目有用到redis做缓存,没事自己在虚拟机上安装配置一下redis服务,发现并不是一帆风顺,就以这个博客记下安装过程以及过程中遇到的几个问题。一.redis安装包下载可以去redis网站上下载压缩包传到服务器上然后解压,也可以直接通过wget命令获取安装包,...
2018-08-24 14:36:40 258
转载 HTML5+实战
HTML5+ 介绍HTML5plus Runtime,简称5+ Runtime,是运行于手机端的强化web引擎,除了支持标准HTML5外,还支持更多扩展的js api,使得js的能力不输于原生。5+ Runtime内置于HBuilder,在真机运行、打包时自动挂载。业内之前有phonegap/Cordova方案,但是他们自带js api太少了,扩展api需要用原生语言开发,更致命的是这类方...
2018-08-21 17:55:38 661
原创 栈的实现(C语言)
栈的实现(C语言)栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 &gt;...
2018-08-20 17:00:38 327
转载 Oracle存储过程和程序包
一、为什么要用存储过程?如果在应用程序中经常需要执行特定的操作,可以基于这些操作简历一个特定的过程。通过使用过程可以简化客户端程序的开发和维护,而且还能提高客户端程序的运行性能。二、过程的优点?1、预编译:存储过程预先编译好放在数据库内,减少编译语句所花的时间。2、缓存:预编译的存储过程会进入缓存,所以对于经常执行的存储过程,除了第一次执行外,其它次数的执行速度会明显提高。3、...
2018-08-20 10:42:39 338
原创 堆排序算法实现(30行代码)
堆排序算法实现模仿堆排序算法的实现,测试可行。public static int[] sort(int[] src,int[] desc){ for(int i=0;i<src.length;i++){ int x = ajustHeap(src, 1, src.length-i); desc[i] = x; ...
2018-08-09 17:52:27 194
转载 Java开发中的23种设计模式概述
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件
2017-11-27 11:35:35 212
原创 堆排序算法Java面向对象实现
堆排序算法介绍堆是一种重要的数据结构,为一棵完全二叉树, 底层如果用数组存储数据的话,假设某个元素为序号为i(Java数组从0开始,i为0到n-1),如果它有左子树,那么左子树的位置是2i+1,如果有右子树,右子树的位置是2i+2,如果有父节点,父节点的位置是(n-1)/2取整。分为最大堆和最小堆,最大堆的任意子树根节点不小于任意子结点,最小堆的根节点不大于任意子结点。所谓堆排序就是利用堆这种数据结
2017-11-20 16:10:34 319
转载 servlet工作机制
一、Web容器在研究Servlet在tomcat中的工作机制前必须先看看Servlet规范的一些重要的相关规定,规范提供了一个Servlet接口,接口中包含的重要方法是init、service、destroy等方法,Servlet在初始化时要调用init方法,在销毁时要调用destroy方法,而对客户端请求处理时则调用service方法。对于这些机制的支持都必须由Tomcat内部去支持,具
2017-11-20 09:27:39 631
原创 springMVC框架初始化流程的初步理解
场景前段时间工作上的任务比较闲,就拐回去看了看spring的工作机制相关的东西,进而想到了要看看springMVC框架的实现思路,用了有半年了还不知道它内部的实现原理,所以这次想一探究竟。servlet机制可以参考这篇文章,说得很详细上下文环境
2017-11-20 09:26:48 288
转载 Spring和ActiveMQ整合的完整实例
原文地址:http://blog.csdn.net/jiuqiyuliang/article/details/48758203前言这篇博文,我们基于Spring+JMS+ActiveMQ+Tomcat,做一个Spring4.1.0和ActiveMQ5.11.1整合实例,实现了Point-To-Point的异步队列消息和PUB/SUB(发布/订阅)模型,简单实例,不包含任何业务。
2017-11-16 09:45:56 1704
转载 消息队列应用场景
消息队列应用场景本片博文为转载内容,原文地址:https://www.cnblogs.com/stopfalling/p/5375492.html1异步处理场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种1.串行的方式;2.并行方式。(1)串行方式:将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端。(架构KK
2017-11-16 09:40:38 218
原创 解决百度ueditor编辑器内容在jquery.validate中不验证问题
问题场景 最近项目中表单数据提交用到了百度的文本编辑器ueditor,同时表单的验证用到了jquery.validate验证工具,并添加了content的非空验证,提交表单后发现ueditor的内容并没有验证文本内容。
2017-11-15 11:20:21 4206 7
转载 Java对象池技术的原理及其实现
Java对象池技术的原理及其实现 引:本文在分析对象池技术基本原理的基础上,给出了对象池技术的两种实现方式。还指出了使用对象池技术时所应注意的问题。 摘 要 本文在分析对象池技术基本原理的基础上,给出了对象池技术的两种实现方式。还指出了使用对象池技术时所应注意的问题。 关键词 对象池;对象池技术;Java 对象;性能 Java对象的生命周期分析 Java对象的生命周期大致包括三个
2017-10-27 15:31:26 218
apputil-0.0.1-SNAPSHOT.jar
2019-07-02
C语言仓库管理系统
2018-08-24
堆排序算法Java面向对象实现源码
2017-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人