- 博客(245)
- 资源 (42)
- 收藏
- 关注
原创 设计模式初探-组合模式
组合模式,英文为COMPOSITE模式,属于对象结构型模式。用于组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性。通常树形结构,比如公司组织结构,文件目录,系统菜单,xml文件解析等都可以采用组合模式实现。一、适用场景1、在具有整体和部分的层次结构中,希望通过一种方式忽略整体与部分的差异,客户端可以一致
2014-01-10 16:22:54
1441
原创 SpringSecurity2 session超时跳转登陆界面
项目中权限系统使用的是Spring Security2.0,由于对session过期没有过多的支持(Spring Security3.0支持session超时的配置设置),所以只能自己实现。简单的说,也就是通过过滤器拦截请求,判断session是否过期,如果过期跳转登陆界面,否则放行。具体实现如下:1、web.xml中添加过滤器配置 SessionTimeoutFilter c
2014-01-08 16:17:54
5522
原创 设计模式初探-桥接模式
桥接(Bridge)模式,又称Handle/Body模式,属于对象结构型模式。用于将抽象部分与它的实现部分分离,使它们都可以独立地变化。比如常见的电脑窗口界面,不同的操作系统其窗口界面绘制的原理肯定不一样。这里,窗口界面就相当于抽象部分(Abstraction),而窗口界面本身也可以随着功能的不同而进行扩充,扩充的窗口就是抽象窗口的扩充抽象类(RefinedAbstraction),这些抽象需要具
2014-01-06 23:55:58
1673
原创 设计模式初探-适配器模式
适配器模式,又称包装器Wrapper,用于将一个类的接口转换成客户希望的另外的一个接口,从而解决因接口不兼容导致类之间不能工作的问题。Adapter模式是不兼容结构的协调者,犹如法官大人,给人们带来希望。生活中处处可见适配器模式的踪影,电源适配器,USB适配器,生活因为适配而美好!一、使用场景1、系统中已存在类的接口不满足现有需求,且一般无法改变现有类的接口,比如该类是第三方提供,无法修改
2014-01-04 02:57:38
2016
原创 设计模式初探-单例模式
Singleton模式,又称单例模式,它保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式在平常开发中经常用到,比如系统的全局配置属性,常用的工具类或工厂方法都可以实现为一个单例。单例模式概念很简单,实现起来也不麻烦,但一不小心还是有可能出错的。一、使用场景只要是要求实例唯一的都可以使用单例模式来实现,特别是耗资源的实例!二、UML图三、Java实现1、懒汉
2014-01-03 00:00:37
1649
原创 设计模式初探-Prototype模式
Prototype模式,也称原型模式,属于对象创建型模式。通过使用原型实例指定创建对象的种类,然后拷贝这些原型来创建新的对象。Prototype模式允许一个对象再创建另一个可定制的对象,即使不知道任何创建的细节,就像JavaScript中通过prototype原型公用基本的方法或属性,然后在克隆后的原型基础上添加自己的定制。一、使用场景1、当一个系统应该独立于它的产品创建,构成和表示时,这
2013-12-31 00:51:04
1874
1
原创 设计模式初探-工厂方法模式
工厂方法模式,Factory Method,属于对象创建型模式,通过定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。工厂方法通过抽象的接口,将创建对象的行为交给具体的子类。一、使用场景1、当一个类不知道它所必须创建的对象的类的时候,由于不知道要创建对象的类,所以不能直接实例化类,只能交给其他知道该类的类去做,比如某接口的具体实
2013-12-29 16:49:08
1746
1
原创 设计模式初探-Builder模式
Builder模式,又称生成器或构建者模式,属于对象创建型模式,侧重于一步一步的构建复杂对象,只有在构建完成后才会返回生成的对象。Builder模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。一、使用场景1、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时,比如买一台电脑,我不需要知道电脑CPU,主板,机箱是如何生产的,也不需要知道它们是如何
2013-12-29 00:26:22
1885
1
原创 设计模式初探-抽象工厂模式
抽象工厂模式,Abstract Factory,按GOF的划分属于对象创建型模式,用于提供一个创建一系列相关或相互依赖对象的接口,而不用指定它们具体实现的类,很好的实践了“面向接口编程”的准则。一、使用场景:1、一个系统要独立于它的产品的创建,组合和表示,比如跨操作系统的文本编辑器,文本编辑器操作的应该是编辑器视图组件独立于操作系统的抽象,而不是具体于某操作系统的实现。2、一个系统要由
2013-12-28 17:21:56
1560
原创 北漂生活-租房那些事
因为向往,所以选择远方。因为无所依靠,所以必须坚强。今年6月份来到了北京,开始了自己的北漂生活。至今也有6个月了,不过在短短的6个月里却发生了一件惨绝人寰的悲剧。一切起始于6月23号那个月黑风高的夜晚。。。不管到哪,首先要解决的是住的问题。由于安仔提前来到北京,所以找房的任务自然落到了他的肩上。没多长时间,安仔就打电话告诉我他在58同城找到了一房东,说在沙河翠明新城有2室的空房要出租,他已
2013-12-25 00:12:19
4729
39
原创 Bug解决之道
作为程序员,一天不改几个bug就浑身不舒服。随着改的次数多了,手法渐渐高明了起来,就好比修炼,刚开始一滴一点的没有什么变化,等你觉察的时候已经上升了一个层次。总结每次修改Bug时遇到的问题,解决思路,最终形成自己的Bug解决之道。如何解决Bug?一、对问题进行明确的描述——俗话说知己知彼,方能百战不殆。通常,bug产生的场景很复杂,比如用户的操作系统,浏览器,网络环境,服务器的配置
2013-12-21 19:59:11
1395
原创 消息队列服务
整理的OSChina第37期高手问答——消息队列服务,嘉宾为 @shaneyuan 。@shaneyuan 现就职于广州 UC 公司,是 UCMQ 的作者,以下简称SY。UCMQ是一款轻量的HTTP协议级消息队列服务组件,项目的最初原型来自 @张宴 的HTTPSQS。基本特性:支持标准的HTTP协议( GET/POST方法),支持长连接(keep-alive);
2013-12-13 15:18:59
4186
转载 基于mock对象和JUnit框架简化Spring Web组件单元测试
对于Java组件开发者来说,他们都盼望拥有一组能够对组件开发提供全面测试功能的好用的单元测试。一直以来,与测试独立的Java对象相比,测试传统型J2EE Web组件是一项更为困难的任务,因为Web组件必须运行在某种服务器平台上并且它们还要与基于HTTP的Web交互细节相联系。易测性(在框架中测试每个组件而不管其具体种类)是Spring框架所提倡的关键原则之一。从这一角度看,Spring是对
2013-12-02 17:25:05
6920
原创 CKeditor插件开发流程
1.放在多文件中第一步:config.js中config.extraPlugins = '插件名称';//注册插件,extraPlugins只允许出现一次,你如果之前有新增别的插件,那么用逗号分隔 第二步:plugins文件夹下新建:插件名称 文件夹第三步:1:在plugins/插件名称/下新建plugin.js;2:在plugins/插件名称/下新建 dialogs文
2013-11-06 11:47:24
2814
转载 Birt开发遇到的问题
原文:http://xulianglly.blog.163.com/blog/static/4361742220111020642884/非常实用2011-11-02 00:06:42| 分类: 技术 |字号 订阅这是我自己在学birt的时候做的记录,版本是birt2.5.2,文字功底有限,表达的很不严谨,在这里仅供大家参孝学习:如果在这里找到有用的信息,请留下您的痕迹
2013-11-04 17:37:54
1874
转载 Eclipse安装Maven插件后提示JRE问题
Eclipse安装Maven插件后,Eclipse启动问题:Maven Integration for Eclipse JDK Warning。解决方法:1. 设置Eclipse使用的JRE为本机安装的JDK目录: 1.1 在eclipse.ini中添加两行 -vm C:\Program Files\Java\jdk1.6.0_10\bin\j
2013-10-31 09:57:52
1620
转载 Iframe父窗口与子窗口
iframe里面的页面调用父窗口,左右窗口js函数的方法 实现iframe内部页面直接调用该iframe所属父窗口自定义函数的方法。 比如有A窗口,A内有个IFRAME B,B里面的装载的是C页面,这时C要直接调用A里面的一个自定义函数AFUN();那么只要在C页面中写如下JS函数就可以了:window.parent.AFUN();如果AFUN()有参数也可以直接传递合适的参数
2013-10-21 14:40:29
1961
转载 用netstat查看网络状态详解
一、Linux服务器上11种网络连接状态: 图:TCP的状态机通常情况下:一个正常的TCP连接,都会有三个阶段:1、TCP三次握手;2、数据传送;3、TCP四次挥手注:以下说明最好能结合”图:TCP的状态机”来理解。SYN: (同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效。表示一个新的TC
2013-10-01 00:46:56
1359
原创 EditPlus正则替换
有时使用文本编辑器时,为了查找,替换更高效,需要使用强大的正则表达式,此处为EditPlus正则表达式及其简要说明。表达式 说明/t 制表符./n 新行.. 匹配任意字符.| 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc".[] 匹配列表之中的任何单
2013-09-15 16:59:34
2408
转载 这些年,我做外包项目的一些感受
这些年,在工作之余,自己接了一些外包项目。因为所有工作都是在工作八小时之外完成,所以,每天基本上工作14小时以上。如果你身体不是很好,我个人建议最好不要兼职做项目外包,这个是挺累的。毕竟,这些年,经常听说IT行业过劳死的新闻屡见不鲜了,所以,身体保重要紧,别为几个小钱,把身体搞跨了。一些公司或个人之所以把项目承包给个人做,一是项目小,预算少,一般的公司做这样的项目没有什么利润,
2013-09-04 11:31:33
25065
转载 谷歌和百度的4大区别,谷歌如何做外链成功率比较高
第一次做谷歌推广,有太多说不出的苦衷,最大的问题是根本都不知道在哪发外链,伤透脑筋的同时发现几个问题,分析了一下百度外链和谷歌外链的区别。1.谷歌外链更强调外链的多样性,而百度同一个网站发上100条,而且都是一样的他照样会收录你的外链。2.谷歌外链似乎对不长的东西不感兴趣,不管是什么,对又臭又长的视乎很感兴趣,哪怕是买家的评论根本都是年不通顺的,照样收录。3做习惯百度的人来
2013-09-04 11:08:28
3186
转载 使用HTML5和CSS3创建一个时髦的联系表单
遵循这个步骤,循序渐进的过程,完全摆脱了HTML5和CSS3创建自己的时尚的接触形式。我们将用几个方便的新功能在HTML5添加很酷的功能,我们的形式,同时使用酷CSS3属性代码重新在我们的Photoshop概念纯粹。 设计,我们将建立功能丰富的接口的所有的东西,使梯度,突出和阴影!我们将首先在Photoshop创建一个可视化的概念,但是当它涉及到建筑形式,我们将重新HTML
2013-09-04 10:44:24
1969
1
转载 云标签,关键字图排版 html5 canvas版
最近业余时间在做一个云标签相关的信息展现. 大概做成的情况能像微博关键字一样形成这样的图形: 在做的过程当中,查阅了一些资料, 发现自己有点out了,在国外已经在wordle.net这样的网站. 也有一个叫做信息视觉化(Information Visualization)的概念.于是顺着这个概念再googling了一些相关的知识.
2013-09-03 10:23:05
3818
转载 Java 缓存介绍:Ehcache、Hazelcast、Infinispan
对于这样的一个问题:最好的 Java 缓存解决方案是哪个? 很难有一个简单的答案,这依赖于不同的应用场景:是否只需要一个本地的缓存,或者是需要在应用集群中使用的缓存分区在数据一致性和延迟方面的权衡是不是在固定的硬件架构上的静态发布,或者是不断增长的应用服务器数量下面我们会介绍 Java 应用服务器方面的一些缓存解决方案,包括 Ehcache、Hazelcast 和 Infinisp
2013-08-25 19:45:27
5728
转载 redis学习笔记九之虚拟内存
转自:http://www.cnblogs.com/xhan/archive/2011/02/07/1949717.html首先说明下redis的虚拟内存与os的虚拟内存不是一码事,但是思路和目的都是相同的。就是暂时把不经常访问的数据从内存交换到磁盘中,从而腾出宝贵的 内存空间用于其他需要访问的数据。尤其是对于redis这样的内存数据库,内存总是不够用的。除了可以将数据分割到多个redis
2013-08-25 19:18:21
887
转载 redis学习笔记八之主从复制
转自:http://www.cnblogs.com/xhan/archive/2011/02/07/1949660.html redis主从复制配置和使用都非常简单。通过主从复制可以允许多个slave server拥有和master server相同的数据库副本。下面是关于redis主从复制的一些特点1.master可以有多个slave2.除了多个slave连到相同的maste
2013-08-25 19:16:12
943
转载 redis学习笔记六之发布订阅
转自:http://www.cnblogs.com/xhan/archive/2011/02/06/1949473.html 发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似。pub /sub不仅仅解决发布者和订阅者直接代码级别耦合也解决两者在物理部署上的耦合。redis作为一个pub/sub server
2013-08-25 19:09:58
1134
转载 redis学习笔记五之pipeline
转自:http://www.cnblogs.com/xhan/archive/2011/02/05/1949276.htmlredis是一个cs模式的tcp server,使用和http类似的请求响应协议。一个client可以通过一个socket连接发起多个请求命令。每个请求命令发出后client通常 会阻塞并等待redis服务处理,redis处理完后请求命令后会将结果通过响应报文返回给c
2013-08-25 19:06:56
1518
转载 redis学习笔记四之事务
转自:http://www.cnblogs.com/xhan/archive/2011/02/04/1949151.htmlredis对事务的支持目前还比较简单。redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。 由于redis是单线程来处理所有client的请求的所以做到这点是很容易的。一般情况下redis在接受到一个client发
2013-08-25 19:03:00
950
转载 redis学习笔记三之排序
转自:http://www.cnblogs.com/xhan/archive/2011/02/03/1948970.html在了解完各种redis类型后,这次介绍下redis排序命令.redis支持对list,set和sorted set元素的排序。排序命令是sort 完整的命令格式如下:SORT key [BY pattern] [LIMIT start count] [GET pa
2013-08-25 19:02:02
1142
转载 redis学习笔记二之数据类型
转自:http://www.cnblogs.com/xhan/archive/2011/02/02/1948891.html本文介绍下redis支持的各种数据类型包括string,list ,set ,sorted set 和hash 1. keysredis本质上一个key-value db,所以我们首先来看看他的key.首先key也是字符串类型,但是key中
2013-08-25 18:57:12
1072
转载 redis学习笔记一之环境搭建
转自:http://www.cnblogs.com/xhan/archive/2011/02/01/1948751.html1.简介 redis是一个开源的key-value数据库。它又经常被认为是一个数据结构服务器。因为它的value不仅包括基本的string类型还有 list,set ,sorted set和hash类型。当然这些类型的元素也都是string类型。也就是说li
2013-08-25 18:51:30
1011
转载 使用BeanUtils来进行对象的组装
对于BeanUtils这个工具,我也用的不是很多,但是还是有点心得和大家分享下,呵呵~~用过spring的都知道spring的MVC框架中有一个BaseCommandController对象,利用这个对象我们就可以很方便的将从客户端传递过来的参数封装到一个JavaBean对象中去,而不需要我们request.getParameter("name");bean.setName(name);了,从而也
2013-08-25 16:36:55
1771
转载 缓存设计,LIRS,cache锁粒度
互联网架构中缓存无处不在,某厂牛人曾经说过:”缓存就像清凉油,哪里不舒服,抹一下就好了”。高品质的存储容量小,价格高;低品质存储容量大,价格低,缓存的目的就在于”扩充”高品质存储的容量。本文探讨缓存相关的一些问题。LRU替换算法缓存的技术点包括内存管理和替换算法。LRU是使用最多的替换算法,每次淘汰最久没有使用的元素。LRU缓存实现分为两个部分:Hash表和LRU链表,Hash表用
2013-08-24 16:50:23
1968
转载 CAS企业解决方案
关于CAS的原理就不在这里介绍了,用户发往系统的请求都会重定向到CAS服务器,由CAS来做一个认证,CAS支持多种数据获取方式基于JDBC/LDAP/WS等等。 JDBC就是直接在数据库中验证用户名的密码方式。 一般需要做SSO认证时,可以把权限/认证服务作为一个单独的工程部署,也可以单独提供一个独立的接口出来,这就是说身份的认证和权限的认证都是在我们用编码的方式来验证,这种方式比C
2013-08-24 12:56:52
1642
原创 ESB 企业服务总线
整理的OSChina 第 38 期高手问答 —— ESB 企业服务总线,嘉宾为@肖俊_David 。@肖俊_David 恒拓开源架构师,热衷于JAVA开发,有多年的企业级开发经验。曾参和设计和开发基于FuseESB 企业级服务总线系统,对FuseESB企业级服务总线以及内嵌的Camel/ActiveMQ 有深刻的理解。ESB 全称为Enterprise Servic
2013-08-24 10:36:41
18709
转载 EditPlus文本编辑器使用心得
启动速度快如果仅仅是打开一个几KB、几十KB的文件,说它启动速度快是没有任何意义的。EditPlus可以轻松打开数十兆的文件,并能够正常的运行。根据我的测试,用EditPlus打开一个50M的文件,用时大概2-4秒(根据个人电脑配置而定),作为一个轻量级文本编辑器,已经非常了不起了。如下图所示,130多万行的txt文件(大小:50M),用EditPlus轻松搞定,拉动滚动条,非常流畅,没有
2013-08-19 16:41:17
7536
转载 使用JMS在集群应用程序中分配任务
使用JMS在集群应用程序中分配任务在请求驱动的环境中解耦合和延迟处理是创建健壮和可伸缩的分布式应用程序的关键战略之一。许多服务都单独依赖于集群来确保可伸缩性,但是当新发现的需求使应用程序的复杂性增长时,它们常常会遇到麻烦。 尽管服务器集群是推动可伸缩性的基本技术,但是当所有的处理都同步完成时,它可能变得很低效。吞吐量可能会增加,但是响应性却会变得不可救药。 在本
2013-08-08 14:03:36
2030
转载 实战低成本服务器搭建千万级数据采集系统
上一篇文章《社会化海量数据采集框架搭建》提到如何搭建一个社会化采集系统架构,讲架构一般都比较虚,这一篇讲一下如何实战用低成本服务器做到日流水千万级数据的分布式采集系统。有这样一个采集系统的需求,达成指标: 需要采集30万关键词的数据 、微博必须在一个小时采集到、覆盖四大微博(新浪微博、腾讯微博、网易微博、搜狐微博)。为了节约客户成本,硬件为普通服务器:E5200 双核 2.5G cpu,
2013-08-07 15:01:36
3140
转载 J2EE常用的JAR及开源项目
整理了一下J2EE常用的JAR及开源项目activation~与javaMail有关的jar包,使用javaMail时应与mail.jar (mail.jar和activation.jar)一起加入到lib中去,具体负责mail的数据源和类型等。ApacheActiveMQ~Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范
2013-08-07 14:14:50
1631
visual foxpro课程设计酒店客房管理系信系统
2011-10-23
健身房系统( visual foxpro )课程设计
2011-10-23
客运公司车辆管理信息系统
2011-10-23
功能完善强大的PB学生成绩管理系统(含文档)
2011-11-19
FreeMarker Eclipse最新插件
2015-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅