自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朱小厮的博客

你若盛开 蝴蝶自来 你若精彩 天自安排

  • 博客(20)
  • 资源 (12)
  • 论坛 (2)
  • 收藏
  • 关注

原创 设计模式:各个模式间的对比

建造者模式、抽象工厂模式、工厂模式的区别建造者模式和抽象工厂模式 与抽象工厂模式相比,建造者模式返回一个组装好的完整产品,而抽象工厂模式返回一系列相关的产品,这些产品位于不同的产品登记结构,构成了一个产品族。在抽象工厂模式中,客户端实例化工厂类,然后调用工厂方法获取所需产品对象,而在建造者模式中,客户端可以不直接调用建造者的相关方法,而是通过指挥者类来指导如何生成对象,包括对象的组装过程和建造步骤

2016-04-25 20:25:37 7598 1

原创 设计模式:访问者模式(Vistor)

访问者模式表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作,一旦这些操作需要修改的话,接受这个操作的数据结构可以保持不变。为不同类型的元素提供多种访问操作方式,且可以在不修改原有系统的情况下增加新的操作方式,这就是访问者模式的模式动机。访问者模式即表示一个作用于某对象结构中的各元素的操作

2016-04-25 20:22:35 6659

原创 设计模式:策略模式(Strategy)

定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。 策略模式的角色: 1. 抽象策略角色(Strategy):策略类,通常由一个接口或者抽象类实现 2. 具体策略角色(ConcreteStrategy):包装了相关的算法和行为 3. 环境角色(Context):持有一个策略类的引用,最终给客户端调用这里引用参考资料3中的例子

2016-04-25 20:19:57 6222

原创 设计模式:状态模式(State)

允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 状态模式的角色 1. 环境角色Context):也称上下文,定义客户端所感兴趣的接口,并且保留一个具体状态类的实例。这个具体状态类的实例给出此环境对象的现有状态。 2. 抽象状态角色(State):定义一个接口,用以封装环境对象的一个特定的状态所对应的行为。 3. 具体状态角色(ConcreteState):每一个具体

2016-04-25 20:17:58 6691

原创 设计模式:观察者模式(Observer)

定义对象见的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。观察者模式的角色 1. 抽象主题角色(Subject):把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类和接口来实现。 2. 具体主题角色(ConcreteSubject):在具体主题内部状态改

2016-04-25 20:15:45 5655

原创 设计模式:备忘录模式(Memento)

在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将对象恢复到原先保存的状态。备忘录模式的角色: 1. 原发器(Originator):负责创建一个备忘录,用以记录当前对象的内部状态,通过也可以使用它来利用备忘录回复内部状态。同时原发器还可以根据需要决定Memento存储Originator的那些内部状态。 2. 备忘录(Memento):用于存储Origi

2016-04-25 20:10:35 4877

原创 Java中的锁

在学习或者使用Java的过程中进程会遇到各种各样的锁的概念:公平锁、非公平锁、自旋锁、可重入锁、偏向锁、轻量级锁、重量级锁、读写锁、互斥锁等待。这里整理了Java中的各种锁,若有不足之处希望大家在下方留言探讨。WARNING:本文适合有一定JAVA基础的同学阅读。公平锁和非公平锁公平锁是指多个线程在等待同一个锁时,必须按照申请锁的先后顺序来一次获得锁。公平锁的好处是等待锁的线程...

2016-04-20 21:38:47 27537 13

原创 Sping+ActiveMQ整合

通过前一篇《ActiveMQ简述》大概对ActiveMQ有了一个大概的认识,本篇所阐述的是如何通过Spring继承ActiveMQ进而更有效、更灵活的运用ActiveMQ.Spring和ActiveMQ整合需要在项目中包含以下这几个jar包(缺一不可):activeio-core-3.1.4.jar,activemq-all-5.13.2.jar,activemq-pool-5.13.2.jar,c

2016-04-18 16:19:35 12466 8

原创 ActiveMQ简述

概述ActiveMQ是Apache所提供的一个开源的消息系统,完全采用Java来实现,因此,它能很好地支持J2EE提出的JMS(Java Message Service,即Java消息服务)规范。JMS是一组Java应用程序接口,它提供消息的创建、发送、读取等一系列服务。JMS提供了一组公共应用程序接口和响应的语法,类似于Java数据库的统一访问接口JDBC,它是一种与厂商无关的API,使得Java

2016-04-15 14:38:07 15654 5

原创 Redis和Memcached的区别

说到redis就会联想到memcached,反之亦然。了解过两者的同学有那么个大致的印象:redis与memcached相比,比仅支持简单的key-value数据类型,同时还提供list,set,zset,hash等数据结构的存储;redis支持数据的备份,即master-slave模式的数据备份;redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用等等,这似乎

2016-04-13 20:14:52 30538

转载 Redis内存使用优化与存储

Redis数据类型 最为常用的数据类型主要有五种:String, Hash, List, Set和SortedSet. redis内部使用一个redisObject对象来表示所有的key和value。redisObject最主要的信息如下图所示:  type代表一个value对象具体是何种数据类型,encoding是不同数据类型在redis内部的存储方式,比如:type=string代表value

2016-04-12 14:24:26 25377 3

原创 Jedis对redis的操作详解

通过前一篇《redis的简单使用》的简单介绍,本篇主要阐述Jedis对redis的五大类型的操作:字符串、列表、散列、集合、有序集合。JedisUtil这里的测试用例采用junit4进行运行,准备代码如下: private static final String ipAddr = "10.10.195.112"; private static final int ...

2016-04-11 21:28:02 40277 11

原创 Redis简述

Redis 简介Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis

2016-04-11 11:05:58 8777 6

原创 采用Memcached实现分布式Session

memcached-session-manager是一个开源的高可用的Tomcat session共享解决方案,它支持Sticky模式和Non-Sticky模式。Sticky模式表示每次请求都会被映射到同一台后端Web服务器,知道该Web服务器宕机,这样session可先存放在服务器本地,等到请求处理完成再同步到后端memcached服务器;而当Web服务器宕机时,请求被映射到其他Web服务器,这时

2016-04-06 19:29:37 12085

原创 Memcached安装与配置

memcached是danga.com的一个项目,它是一款开源的高性能的分布式内存对象缓存系统,最早是给LiveJournal提供服务的,后来逐渐被越来越多的大型网站所采用,用于在应用中减少对数据库的访问,提高应用的访问速度,并降低数据库的负载。 为了在内存中提供数据的高速查找能力,memcached使用key-value形式存储和访问数据,在内存中维护一张巨大的HashTable,使得对数据查询的

2016-04-06 19:18:04 5251

原创 设计模式:中介者模式(Mediator)

用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。 中介者模式中的角色: 1. 抽象中介者(Mediator):定义了同事对象到中介者对象之间的接口。 2. 具体中介者(ConcreteMediator):定义抽象中介者的方法,它需要知道所有的具体同事类,同时需要从具体的同事类那里接收消息,并且向具体的同事类发送

2016-04-04 20:20:05 2352

原创 设计模式:迭代器模式(Iterator)

提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露改对象的内部表示。又称游标(Cursor)模式。 迭代器模式角色组成: 1. 抽象容器角色(Aggregate):负责提供创建具体迭代器角色的接口,一般是一个接口,提供一个iterator()方法,例如java中的Collection接口,List接口,Set接口等。 2. 具体容器角色(ConcreteAggregate):就是实现抽象

2016-04-04 20:15:59 2465

原创 设计模式:命令模式(Command)

将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以支持可撤销的操作。 命令模式的角色 1. 客户端角色(Client):创建一个具体命令(ConcreteCommand)对象并确定其接收者。 2. 命令角色(Command):声明一个给所有命令类的抽象接口。 3. 具体命令角色(ConcreteCommand):定义一个接收者和行为之间的弱耦合;实

2016-04-04 19:51:20 2160

原创 设计模式:责任链模式(Chain of Responsibility)

使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,知道有一个对象处理它为止。 责任链模式的角色: 1. 抽象处理者角色(Handler):定义出一个处理请求的接口。如果需要,接口可以定义出一个方法以设定和返回对下家的引用。这个角色通常由一个Java抽象类或者Java接口实现。上图中Handler类的聚合关系给出了具体子类对下家的

2016-04-04 19:46:16 4596

原创 设计模式:解释器模式(Interpreter)

给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 解释器模式的角色: 1. 抽象表达式角色(AbstractExpression):声明一个所有的具体表达式角色都需要实现的抽象接口。这个接口主要是一个interpret()方法,称作解释操作。 2. 终结符表达式角色(Terminal Expression):实现了抽象表达式角色所需求的接口,主要

2016-04-04 19:43:23 2009

序列化工具(Gson, Jackson, FastJson, ProtoBuf)

各种序列化工具类,包括Gson, Jackson, FastJson, ProtoBuf以及proto.exe,希望大家喜欢

2016-02-23

memcached安装包以及MemCachedClient

memcached, libevent, MemCachedClient

2016-04-06

测试对象大小的jar包

测试对象大小的jar包

2016-03-29

spring+activemq必备jar包

spring+activemq必备jar包:activeio-core-3.1.4.jar,activemq-all-5.13.2.jar,activemq-pool-5.13.2.jar,commons-pool2-2.4.2.jar

2016-04-15

cglib动态代理

cglib和asm搭配的jar,方便你使用动态代理

2016-03-25

memcached-session-manager

memcached-session-manager 以及kryo的jar包 完整版 经过实际检验

2016-04-06

jedis-2.1.0.jar

java操作redis的jar包

2016-04-11

zookeeper查看器

zookeeper查看器

2016-11-27

redis安装包-linux

redis的安装包 版本3.0.5 是linux版的

2016-04-11

HttpClient的jar包

commons-codec-1.6.jar commons-httpclient-3.1.jar

2016-03-31

Cglib两个jar包

cglib动态代理的jar包

2016-03-25

HttpClient的jar包 plus

之前的不给力

2016-03-31

朱小厮的留言板

发表于 2020-01-02 最后回复 2020-01-02

linux 程序如何解析shell中的#

发表于 2015-10-15 最后回复 2015-10-21

空空如也

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

TA关注的人 TA的粉丝

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