自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

打不死的小强

慢慢向大神靠近

  • 博客(50)
  • 资源 (7)
  • 收藏
  • 关注

原创 java设计模式-备忘录模式

什么叫备忘录模式: 备忘录模式允许我们保存一个时间点上的数据,在出现误操作或者系统出错,我们可以恢复我们保存的那个点上的数据。开发中常见的场景: 1.事务操作 2.redis的持久化备忘录模式例子: 这里,我们实现的是注册学生信息,当然是我们先定义一个学生类package com.javademo.pattern.memento;public class Student { priva

2016-05-28 19:23:04 531

原创 java设计模式-观察者模式(广播机制,消息订阅)

什么叫观察者模式: 观察者模式是广播机制,消息订阅和推送的核心设计。开发中常见的场景: 1.手机中消息推送 2.后台群发信息观察者模式例子(自己实现) 首先是定义观察者接口并使用三个子类实现/** * 观察者接口 * * @author liuxg * @date 2016年5月27日 下午10:15:30 */public interface IObserver { p

2016-05-28 19:13:10 7293 2

原创 java设计模式-状态模式

什么叫状态模式: 一种事物会有多钟状态,而一种状态的切换会导致相应的动作,例如,水蒸发,升华,液化会导致水动作不一样,交通灯的红绿黄的变化导致车和人的动作不一样。开发中常见的场景: 1.OA系统公文状态管理 2.线程对象个状态之间的切换 3.银行系统中帐号的管理状态模式例子: 这里的实现的例子是交通灯状态的改变导致人行为的改变/** * 状态接口 * @author liuxg *

2016-05-28 19:03:54 630

原创 java设计模式-模板方法(方法回调,钩子函数)

什么叫模版方法模式: 模版方法其实就是父类定义了一整套的骨架流程,而其中的某些方法,需要子类来完成,这样子的好处是,方法流程已经定义好,子类要做的事情就是按着流程和模版自己写实现。开发中的模版方法模式: 1.spring data中的jdbcTemp 2.junit测试 3.数据库的访问封装模版方法模式例子: 这里实现的场景是用户去吃饭,首先是团购,然后到饭店吃饭,最后在美团点评,其中到饭

2016-05-28 18:58:28 8720 5

原创 java设计模式-策略模式

什么是策略模式: 策略模式就是处理类型较多,算法比较复杂,代码流程控制比较多,而且难以拓展,这时候,我们就可以使用策略模式了开发中常用策略模式场景: 1.Spring resouce接口 2.httpservlet中的service接口 3.javase中的gui编程,布局管理策略模式实现例子: 这里我们实现一个例子,是淘宝商城物品打折,根据用户的不同,打折的算发和策略也不同,我们可以为每

2016-05-28 18:52:05 576

原创 java设计模式-中介者模式

什么是中介者模式: 如果一个对象系统中,各个子对象都要相互交互,形成了网状结构,这时候,我们可以定义一个对象,各个子系统的处理和交互都交给它,由它统一调度。开发中使用的中介者模式: 1.mvc架构中的c,需要同时和m和v打交道 2.java.lang.reflect.Method#invoke()中介者模式例子: 这里的实现的场景是,软件产品的研发流程。所以我们定义下各个部门职能packag

2016-05-28 18:45:41 513

原创 java设计模式-责任链模式

什么是责任链模式: 将请求同一类资源的请求对象练成一条链,所提交的请求到某一个链节,如果该链节能处理则不必要往下传,不然则继续传到下一个对象链接去处理。开发中常见的场景: 1.springmvc的拦截器 2.java中,异常处理机制,抛出异常 3.javascript的事件冒泡机制责任链例子: 这里的场景是实现一个拦截器demo,所限当然是定义我们的拦截器,然后,使用时,就继承它/**

2016-05-28 18:32:01 1161

原创 java设计模式-享元模式

什么是享元模式: 为了节省内存,共享一个对象,提供内存使用率,享元模式的关键在于区分共享的内部状态和非共享的外部状态。开发中常见的享元模式场景: 1.JDBC连接池,线程池 2.java String类的设计享元模式例子: 实现的场景是游戏中的飞机打出的子弹,子弹有级别和位置,级别状态可以共享,而位置状态不能共享。/** * 子弹类 * @author liuxg * @date 20

2016-05-28 18:25:37 508

原创 java设计模式-外观模式

什么是外观模式: 外观模式其实就是封装,为子系统封装对外的一个接口,屏蔽内部复杂的操作,例如,我们要注册一家公司,我们可以找代理注册公司的机构,让它为我们处理注册所有的细节,而我们只需要面对注册公司处理流程就行。开发中外观模式场景: 常见的util包,例如spring的beanutils,FileUtils以及其他的工具类,其实使用的都是外观模式。外观模式实现例子: 实现的场景是一款软件产品开

2016-05-28 18:16:49 463

原创 java设计模式-装饰模式

什么是装饰模式: 装饰模式就是动态的为一个对象添加新的功能,它是一种代替继承的技术,毋须通过继承增加子类就能拓展对象功能的模式。开发中应用场景: 1.IO流中,设计的输入和输出 2.Servlet api提供的一个re quest对象的decrator模式的默认实现类HttpServletRequestWrap,遇到wrap字样的基本都是装饰模式 3.swing中图形设计界面的功能实现

2016-05-28 18:05:45 505

原创 java设计模式-组合模式

应用场景: 组合模式就是专门用来处理树形结构的数据,如下图的结构实现的结构可以如下:举个例子说说明实现,这里我们使用查找文件系统的实例:首先是基础接口/** * 文件接口 * @author liuxg * @date 2016年5月25日 下午8:21:54 */public interface IFile { boolean searchFile(String fileName

2016-05-25 20:51:52 433

原创 java设计模式-桥接模式

应用场景: 如果有如下图的应用场景,我们可以考虑用下下桥接模式他其实就是俩种类型进行组合,电脑类型,还有品牌类型,我们可以换成这样子来思考只要我们把纵轴和横轴进行桥接就能得到相应的品牌电脑了下面举个例子,首先我们来定义品牌接口还有实现类/** * 品牌接口 * @author liuxg * @date 2016年5月25日 下午7:54:12 */public interface Br

2016-05-25 20:05:56 568

原创 java设计模式-代理模式(静态代理,动态代理)

什么是代理模式: 代理模式类似于买房中介,买房的一些繁杂过程你可以找人帮你代理,你直接付钱入住就行,也类是于明星的经纪人,什么签合同,免谈之类的事情就它让你搞定,你只需要演戏就行。代理的架构如下:其中代理,必须要有一个引用指向真实类。代理模式应用场景: 安全代理:屏蔽对真是角色的访问 远程代理:通过代理类处理远程方法调用 延迟加载:先加载轻量级的代理对象,真正需要的时候,再加载真实对象代理模

2016-05-25 18:51:23 557

原创 java设计模式-适配器模式

使用场景: 原有的接口不适合需求,需要增加新的接口来满足需求,在不修改原有接口的情况下,使用一个适配器,将原有的接口进行转化,转成客户所需要的类或接口在JDK使用: java.io.InputStreamReader(InputStream) (返回一个Reader) java.io.OutputStreamWriter(OutputStream) (返回一个Writer)举下例子: 首先,

2016-05-25 15:44:54 482

原创 java设计模式-原型模式(浅复制,深复制)

使用场景: 多次创建重复的类,每个类又需要非常繁琐的数据准备和访问权限。原型模式类似用new创建出来的类,但又不new的类,new出来的类属性都是默认值,而用原型模式克隆出来的类,属性都和原对象一样。原型模式的优点是复制类效率高,而且避免重复无聊的new类动作下面,我们使用原型模式来clone一个类,这里的demo既有深复制也有浅复制首先是我们复制的实体类package com.javademo.

2016-05-24 21:32:51 694

原创 java设计模式-建造者模式

适用场景: 一个对象有多个子对象构成,我们要建这个对象的时候,需要很多步骤,构建多个子对象,然后再由子对象构成一个对象,我们就可以考虑用建造者模式建造者本质: 让建造子对象的builder和装配对象director解耦,从而建造出复杂的对象举个例子: 我们来构建一个电脑对象,它有鼠标,显示器,键盘等子对象构成,我们如何来装配这个对呢/** * 电脑实体类 * * @author liu

2016-05-24 20:56:29 509

原创 java设计模式-工厂模式

工厂模式的作用: 使创建者和调用者分离,类似spring的控制反转应用场景: JDK中的Calendar的getInstance方法 JDBC中的connection的获取 XML解析DocumentBuilderFactory创建解析器 反射中的对象的newInstance()工厂模式主要分类: 1.简单工厂模式,最简单,使用最多,不易拓展 2.方法工厂模式,通过添加新的工程类实现拓

2016-05-24 20:24:38 485

原创 java动态编程-操作字节码

若想在运行时,动态编辑和创建类,通常有俩种方法 1.动态编译一个类,动态编译可以参考http://blog.csdn.net/yingxiake/article/details/51487730还有http://blog.csdn.net/yingxiake/article/details/514877542.操作字节码,可以利用开源库操作字节码,例如CGLib、ASM、Javassist等,它可

2016-05-24 18:31:18 3703

原创 java动态编程-Rhino脚本引擎

java 6.0提供一些标准接口来操作脚本语言,它让java有能力在代码中,动态的执行脚本语言,接口的实现就由第三方来实现。Rhino引擎是一个实现javascript脚本接口的第三方实现,java6.0之后,默认引入,作为java的jar包。简单使用见下面的例子/** * RhinoDemo引擎demo * @author liuxg * @date 2016年5月24日 上午10:30:3

2016-05-24 10:32:17 3080

原创 java动态编程-动态编译机制

java可以在运行时,进行动态编译,也就是说,可以在代码中,由程序控制进行编译俩种动态编译方法: 1.执行cmd命令,调用javac进行编译 2.利用java提供的JavaComplier 3.可以利用类加载器还有java反射来执行编译好的字节文件/** * java 动态编译 * @author liuxg * @date 2016年5月24日 上午9:15:00 */public

2016-05-24 09:49:55 1434

原创 java设计模式-单例模式

单例模式:保证一个类只有一个实例应用场景: 1.spring bean模式是单例模式,便于管理 2.数据库连接池单例模式,确保只有一个实例 3.读取配置文件也可以用单例模式实现方法: 1.懒汉模式:访问效率底,懒加载,线程安全/** * 单例懒汉模式 * @author liuxg * @date 2016年5月24日 上午7:43:31 */ public class Singl

2016-05-24 09:09:54 469

原创 java jvm-自定义类加载器

除了可以用系统默认的类加载器,我们还可以用实现自己的类加载器,类加载器实现步骤如下:1.定义一个类继承ClassLoader 2.重写findClass方法,用来查找具体的类字节码 3.实例化自定义的类加载器,调用loadClass即可加载类下面我们来自定义一个类加载器,加载我们自己路径的类字节码package com.jvm.demo;import java.io.File;import j

2016-05-23 20:28:58 597

原创 java jvm-类加载器层级结构

类加载器由上到下有引导类加载器,继承类加载器,应用程序加载器,你还可以自己自定义加载器。类加载器在加载类的时候,采用的是代理模式,具体代理是双亲代理模式这里systemout输出的是“123”,为什么kkk.toString()打印出来不是”自定义string”呢,是因为java加载类的时候,默认采用双亲代理机制,即在加载类的时候,不先由本应用程序的类加载器加载,而是由父加载器加载,而父加载器加载类

2016-05-23 20:18:43 753

原创 java jvm-类加载过程

JVM把java字节码加载到内存中,并对字节码进行校验,解析,初始化,最终形成JVM可以直接使用的java类型的过程叫做类加载机制类加载机制过程:字节码加载 将.class字节码文件加载到内存中,并在内存方法区(特殊的堆)中形成运行时的数据结构,并在堆中生成java.lang.class对象,作为方法区类数据的访问入口验证,准备,解析 确保类加载信息符合jvm规范,然后就给静态变量,静态方法,常

2016-05-22 23:08:13 798

原创 java jvm-"=="和equal,堆和栈的区别和联系

java中的”==”和equal都是用于俩个变量的比较 java中的 “==”:用于比较俩个变量的引用地址 java中的”equal”:用于比较俩个变量的内容java堆和栈都是内存 java的堆:用于存放具体对象的实例和数组,java基础类型的字面值等 java的栈:用于存放java堆中对象实例,数组,基础数据类型的引用变量等例如 : int a = 3 3是基础数据类型字面值,存放于堆

2016-05-22 16:41:45 840

原创 spring整合redis简单demo

这里利用spring-data-redis整合redis1.首先是项目结构2.配置所需依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4

2016-05-21 22:54:32 6212 1

原创 java 客户端链接不上redis解决方案

出现问题描述: 1.Could not get a resource from the pool, Connection refused: connectwindows java这边客户端链接被拒接了,想想问题1.Vmware里面的linux所安装的redis已经正常启动 2.在windows用ssh客户端链接linux可以操作redis 3.linux防火墙已经关闭 4.拼linux的ip

2016-05-21 22:40:59 39800 3

原创 Redis简介,安装和配置,停止,卸载(图解方式)

Redis是一个Key-value的数据结构存储系统,可以已数据库的形式,缓存系统,消息处理器使用,它支持的存储类型很多,例如,String(字符串),list(列表),set(集合),zset(有序集合),还支持设置排序范围查询,位图,hyperloglogs和半径查询地理信息的索引。Redis内部实现使用replication, Lua scripting, LRU eviction, tran

2016-05-21 11:32:51 32011 2

原创 linux进程管理

linux进程可以帮我们更好的管理linux操作系统,下面记录下常用的linux进行管理命令1.ps命令 ps -a ->显示当前终端的所有进程信息 ps -u ->已用户的格式来显示进程信息 ps -x ->显示后台进程信息 ps -aux ->查看更加详细的信息USER : 当前用户 PID : 当前进程号 %CPU : CPU占有率 %MEM : 内存占有率 VSZ :

2016-05-20 17:37:14 469

原创 crontab初级入门

crontab是linux的任务执行定时器,它可以让你设置任务并定时执行下面简单演示下如何简单使用crontab1.设置任务crontab -e 进入任务编辑页面这里是每个一分钟将当前日期写到root/dateRecoder的文件里面去 保存时候,就自动执行任务了2.多任务时,就在crontab -e 编辑页面多写几条任务这里比较麻烦的就是,如果真的有很多任务的话,会导致任务列表混乱,特别是多用,

2016-05-20 11:43:38 425

原创 samba简单安装,无需配置即可使用

首先利用yum安装samba yum install samba 检测安装是否成功 yum list installed samba*安装成功之后,创建用户用于windows访问时的凭证,这里其实也可以不添加,直接把你的共享目录设置为security = share就可以了,这里我们还是添加一个用户吧 smbpasswd -a ironman添加之后,输入密码,然后重启下smb服务 serv

2016-05-20 10:05:39 1144

原创 redhat7 yum的配置和使用

yum是rpm包的管理器,它的作用除了可以像rpm一样安装,卸载,查找包之外,还可以管理依赖。yum使用仓库保存和管理rpm软件包,仓库的配置文件保存在/etc/yum.repos.d/目录下,配置文件的格式如下[仓库名称] name = 仓库的描述 baseurl = 仓库的路径,可以使用file,http,ftp,nfs的方式 enabled = 是否要使用该仓库,1为使用 0为不使用

2016-05-19 22:26:57 11588

原创 实例讲解linux rpm的使用

rpm全称是redhat package manager,红帽子出的一款软件包管理器,现在已经成为linux行业标准,除了红帽子linux发行版有之外,其他linux的发行版也有,rpm软件包,有rpm后缀,如jdk-7-linux-x64.rpm下面通过安装jdk来演示如何使用rpm以及常用的rpm命令,首先来看看安装命令rpm -i 包全路径 -> i : install 安装 rpm

2016-05-19 10:36:19 430

原创 VMware12 + redhat7 + windows7网络配置

VMware网络链接有三种方式,详细查看http://blog.csdn.net/yingxiake/article/details/51448049,下面演示下怎么通过桥接方式和net方式来配置linux网络。首先我们来看看本地计算机windows7的ipconfig,主要看无线网局域网和VMnet8网络配置情况1.桥接方式配置linux网络,需要把vmware网络链接方式切换到桥接方式开始配置l

2016-05-18 23:13:51 5806 1

原创 VMware 网络连接方式

VMware是一个虚拟计算机,所有也有自己的虚拟网卡,若想vmware网卡能工作起来就需要和本地计算机物理网卡进行链接,目前主要有三种链接方式,桥接(Bridged)模式,NAT模式以及主机模式(host-only)1.桥接(Bridged)模式把vmware当作一台真实的计算机放到局域网中,不利用 VMnet1网络和不利用 VMnet8网络,和本地计算机处于平等的地位,若想和本地计算机进行通讯,需

2016-05-18 22:41:00 1171

原创 linux 磁盘挂载和卸载机制

说下linux的磁盘挂载和卸载机制之前,先说下磁盘分区的概念,磁盘分区可以分为基本分区和拓展分区,基本分区和拓展分区的数目之和不能大于4,基本分区可以马上被使用但不能再分区,而拓展分区不能马上被使用,需进行逻辑分区,逻辑分区可以无限制。上面是windows的分区,我们来看看linux的?从这里我们可以看到sda1为主分区,boot目录挂载在该分区上,那么什么是linux磁盘的挂载和卸载机制呢?首先来

2016-05-18 15:14:05 5174

原创 实例讲解linux用户,组,文件目录权限

用户就是操作系统的管理员,每个用户操作系统的权限都不一样,root用户权限最大。多个用户形成一个组。用户不同,组别不同对文件目录的操作权限就不同,下面已具体实例来说明用户,组还有文件目录权限,然后自己意会,其实很简单。电影美国队长3正在上映,我们就建俩个组,分别是钢铁侠战队以及美国队长战队,钢铁侠有用户为iron man,spider man,美国队长战队有 captain america,ant

2016-05-17 23:09:37 1281

原创 linux 常用命令演示

在此记录下linux常用命令,可能经常更新pwd 显示当前所在目录位置cd 改变目录ls 列出文件和目录 ls -a 列出隐藏文件 ls -l 列出详细文件信息useradd liuxg 添加用户 passwd liuxg 添加用户密码mkdir 建立目录 rmdir 删除目录touch 建空文件cp 复制命令 cp -r dir1 dir2 递归复制命令,会复制子目录信息mv 移动文件和

2016-05-17 18:12:57 781

原创 linux基础目录结构

linux在装载完成之后,会默认生成几个目录,它的根目录是”/”,下面说下几个目录的重要,作为笔记。“/” 根目录系统非常重要的一个目录,所有的目录均由此生成,而且系统的开机启动,修复,配置等都放于此目下,此目录目录的分区越小越好。/bin目录存放常用的操作指令,root帐号和一般帐号都能操作,如pwd命令,ssh命令,ping命令/boot目录放置开机所需要的引导文件等等,相当于window

2016-05-17 09:35:34 527

原创 tomcat配置虚拟目录和虚拟主机

在server.xml的host节点配置多个context,就是虚拟目录了,很简单<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="/liuxg1" docBase="/liuxg1" reloadable="true" c

2016-05-15 14:39:27 1645

DWR 简单额服务器推送技术DEMO

实现 服务器向指定客户端页面传送数据,例如A页面发器请求到服务器,服务器根据请求更新B页面数据, 此时B页面页面不更新

2013-09-18

60个转场音效

用于网页还有flash的转场音效,保证你要的音效的有了

2013-08-10

1351个水晶按钮图标

1351个性水晶按钮图标,制作网页时,就不用怕找不到资源啦

2013-08-10

javascript源码大全

javascript源码大全手册,有很多特效demo,代码直接copy用

2013-06-17

Aptana插件安装教程

支持javascript ,html ,css提示的eclipse插件教程,很详细,看了之后,你也会很冲动的想去安装了

2013-06-17

DHTML帮助文档

web网页前台开发必备手册,可以查看对象的属性,方法

2013-06-17

authorware 83个外部函数

authorware 83个外部函数 ,binapi.u32等函数都有了

2013-04-17

空空如也

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

TA关注的人

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