自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zilong0536的专栏

要有意识。有思想

  • 博客(82)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 创建型模式

1、开闭原则对实现的修改关闭,对抽象的扩展开放有了新功能就为抽象扩展一个新的实现来完成2、依赖倒转面向抽象编程,细节依赖于抽象,而不是抽象依赖于细节接口功能的变更,只需注入一个新的实现即可,依赖于抽象的实现不需要做任何改动3、里式替换父类或接口出现的地方,都可由子类替换父类无法引用子类新增的内容,但可回调子类重写的内容4、单一职责一个类只负责一件事,否则类要拆分往大了说任何需...

2019-10-12 17:28:08 118

原创 结构性模式

结构性模式1、用于类或对象的组合,形成更为强大的结构2、代理模式、装饰器模式、适配器模式、桥接模式、享元模式、外观模式、组合模式

2019-10-12 17:27:46 172

原创 行为型模式

1、清晰的划分类或对象的行为或职责,定义他们之间的相互协作,完成复杂的功能2、监听器模式、模板模式、策略模式、责任链模式、访问者模式、状态模式、备忘录模式中介者模式、迭代器模式、命令模式、解释器模式一、监听器 / 观察者模式// 事件源-事件-监听器eventSource-event-listener(handler)eventSource.addListener// 被观察者-消...

2019-10-12 17:26:59 154

原创 java的集合

集合

2017-12-11 10:21:04 212

原创 MySql操作

给表的字段添加索引后,数据库会根据添加索引的字段生成一张索引表。索引表多出一个索引列,该列记录了某行字段值所在表中的行号,索引表会根据字段排序,提高查询效率。索引表有很多实现方式,如B+树,哈希表  添加索引后,查询索引表,然后根据索引表的结果定位原表的结果。不加索引,直接遍历整张表,效率低。添加索引后,表中数据的变动会同步变动索引表的内容,降低效率,由此索引不是越多越好。  alter table

2017-03-01 19:05:20 350

原创 Spring与Maven两种占位符的替换时机

maven是用java编写的开源项目管理工具,通过pom,project object model,pom.xml模型来管理项目的目录结构、版本、jar库以及各子模块之间的依赖关系。在架构上分客户端和服务端,其中客户端有项目、本地仓库,需要安装maven软件;服务端只有远程仓库,分私服和中央仓库两种,其中私服需安装Jfrog的Artifactory软件来搭建maven服务;中央仓库为maven提供的

2017-01-03 10:58:37 2369

原创 jQuery的tabs

// 导入指定样式<link rel="stylesheet" type="text/css" href="..easyui.css">// 给div标签加样式easyui-tabs,变成选项卡<div id="tabs" style=".." class=”easyui-tabs”> // 给选项卡内添加四个面板 <div title="tab1" style=".."></d

2016-12-28 19:14:06 644

原创 自定义枚举

// 定义枚举关键字enum,同class、interface、@interface为自定义类型// 可以实现接口,实现的接口方法可以对枚举内的数据进行诸如排序计算等的操作,实现更好的封闭性public enum MyEnum implements MyInterface { // 定义常量,逗号间隔,分号结束,该枚举类型的变量取值只能为此处定义的若干离散常量 // 常量的定义使

2016-12-27 11:38:57 396

原创 注解

注解是jdk1.5新增特性,可用来修饰类、方法、属性。注解处理器利用反射获取类、方法、属性头上的注解,并提取出其中的参数来做出相应的逻辑处理。注解处理器是用于分析注解的,针对每一个已经定义的注解都必须给出对应的注解处理器,否则注解不会起到任何作用。   // 元注解,jdk提供的四个用于修饰自定义注解的注解// 设置自定义注解修饰的对象范围,从枚举ElementType中获取// Element

2016-12-23 17:42:50 312

原创 Redis的基本操作

// string类型操作,数据结构为一个键值对,均为string类型// 设置k的值v,若k存在,直接替换set k v// 设置k的值v,前提是k不存在,否则返回0setnx k v// 设置k的值v,且有效期为n秒,超过有效期,键值消失setex k n v// 将k的值v中第三个及之后的全部字符替换为newv,下标从0开始setrange k 3 newv// 设置k的值v,

2016-12-23 14:12:16 284

原创 Redis的基本配置

redis是用c编写的开源内存型键值数据库,其会周期性将内存中数据同步到硬盘达到持久化目的。memcachedb也是开源内存型键值数据库,速度比redis快,但不支持硬盘存储,且数据类型没有redis丰富。内存型数据库可用于缓存、消息队列等非持久性短暂存储数据或实时性为主,频繁插入删除操作的应用。redis自带的一个简易命令接口redis-cli,可使用开源可视化的redis客户端工具RDM。//

2016-12-22 20:14:05 1294

原创 项目开发中的个人总结

基于maven的多模块项目,通常有common、domain、dao、rpc、service、web六个模块,其中common是共同的东西,domain为实体,均可被所有模块使用;dao完成数据操作;rpc调用外部服务;service调用dao或rpc服务;web调用service服务。理论上可以随便调,但既然分了层,就应该严格按照各层的规矩来,不然就没有意义。另外,如果项目对外提供服务,可再键du

2016-12-22 15:04:57 2604 1

原创 jQuery的ajax操作

// 无刷页面,请求后端数据$.ajax({ // 请求类型,默认get type : "post", // 请求地址,尽量使用根路径,如/xx/yy,/指域名的主机部分;也可使用相对路径,相对当前域名开始 url : "...", // 请求头 contentType : "application/x-www-form-urlencoded; ch

2016-12-21 10:20:16 311

原创 jQuery中标签的事件

// 属性maxlength,指定最大字符数,仅支持firefox和chrome// 事件onkeyup,键盘按键抬起触发// 事件oninput,在文本框内容改变时触发,仅支持firefox和chrome// 事件onpropertychange,html元素改变时触发,可完成oninput功能,仅支持ie// 事件onblur,失去焦点触发// 事件onfocus,获取焦点触发// 更多事件请

2016-12-20 15:06:04 473

原创 jQuery的函数

// 截取start到end-1位置的子串并返回substring(start, end);// 从start开始取length个字符并返回substr(start, length);// 给指定标签添加单击事件$("#id").click(function() {..});// 给指定标签绑定一个指定的事件$("#id").bind("click", function() {..});//

2016-12-20 14:36:52 261

原创 jQuery的标签标识

// name属性指定标签名字,可重复,用于前后端数据交互标识// id属性指定标签唯一标识,不可重复,用于css或脚本// class属性指定标签所属的类,可重复,用于css或脚本// 根据id设置标签样式#id {k1: v1; k2: v2;..}// 多个id使用同一样式,可用一个class替代#id1, #id2, #id3 {..}// 根据类设置标签样式.class {k1:

2016-12-20 14:28:04 648

原创 Spring的整体部署

与spring相关的三类配置文件,spring-config.xml、spring-config-mvc.xml、web.xml。   spring框架的核心是ioc容器,容器用于管理项目的对象,被管理的对象称为bean。spring与项目的桥梁是基于ioc容器管理的项目对象bean。ioc容器完成bean的创建,以及bean与bean之间的组合。   将项目的对象交给容器管理是指该对象的构建与

2016-12-19 20:16:41 394

原创 Spring的AOP

AOP,Aspect Oriented Programming,面向切面编程,spring中只能拦截bean的方法,不能拦截类。基本思路是将方法内互不相交的业务逻辑分离并单独开发,最后通过动态代理实现各业务逻辑的组合。  关注点,业务上不可继续分割的最小组件。   关注点分离,将功能模块划分成若干业务上不可继续分割的最小组件。   横切关注点,将功能模块化分成若干最小组件后,辅助组件会以横切的形

2016-12-19 16:44:40 290

原创 Spring中Bean的注册与注入——注解方式

<beans> // 注解Autowired的注解处理器 <bean class="....AutowiredAnnotationBeanPostProcessor" /> // 注解Resouce、PostConstruct、PreDestroy的注解处理器,符合JSR-250标准的注解 <bean class="....CommonAnnotationBeanPo

2016-12-19 15:45:25 822

原创 Spring中Bean的注册与注入——XML方式

IoC,Inversion of Control,控制反转指对象以前由程序构造,现在由ioc容器构造。DI,Dependency Injection,依赖注入指对象的依赖资源以前由程序注入,现在由ioc容器注入。spring的核心是ioc容器,体现为一个类,代表是BeanFactory接口,其所做的一切都是基于容器管理的对象bean。该接口的直接实现类XmlBeanFactory从文件系统加载xml文件,直接扩展

2016-12-19 14:26:02 3602

原创 JSON

JSON,JavaScript Object Notation,JavaScript对象表示法,一种轻量级的数据交互格式,给网络上传输的数据定义的一种格式。发送者在发送数据之前,根据某种规则将对象序列化为一定格式的字符串后再发送;接收者在接收数据之后,根据同样的规则将字符串反序列化为对象后再处理。  网络通信的本质是不同机器进程之间的通信,内部通过io完成数据交换。io传输的数据只能为二进制字节流,虽可通过包装

2016-12-05 11:01:57 323

原创 Java泛型

泛型,是类型,是参数化的类型,类似形参,其是jdk1.5之后后引入的,在具体使用的时候回传入具体的类型,但指定的类型必须是引用类型,若要使用基本数据类型,可以用类包装,如Integer。// 泛型类定义,同泛型接口,类似ArrayList<T>、List<T>// 泛型定义放在<>内,必须在类名之后,<>内字母表示不确定类型,多个字母用逗号间隔,通常用大写字母T、E、K、V来表示public c

2016-12-02 14:03:18 223

原创 Java字符串

String不可变字符序列,实体内容确定后,包括实体堆内存和常量池均不可改,若要修改,必须重新生成实体内存来存放修改的值。对于经常改变的字符串,不要使用String,每次的改变都会生成新实体,使无引用实体增多,导致gc工作,影响系统性能。// replace用于替换串中指定字符,但不是在原实体内修改,而是重新创建生成一个新字符串String s = "hello";System.out.prin

2016-11-30 17:41:55 250

原创 XStream

thought works提供的开源jar库,用于完成bean对象与xml文档之间的相互转换,也可完成bean与json的转换,bean无需提供get/set与默认无参构造器。// 类名作为xml文档的根节点// @XStreamAlias用于指定根节点的别名,默认类全名@XStreamAlias("xx")public class Xx { // 类属性默认作为根节点的子节点 // @XS

2016-11-28 16:31:19 384

原创 Java的两种动态代理方式

动态代理指被代理者委托代理者完成相应的功能,是拦截器的一种实现方式,其用于拦截类或接口,内部可通过判断实现对某个方法的拦截。  jdk方式,委托类必须实现接口,代理类只能对接口进行代理。使用java的反射机制,以及Proxy和InvocationHandler来实现,代理类与委托类实现了相同的接口。  cglib,code generate library,代理类可对接口进行代理,使用第三方cglib库来实

2016-11-12 17:28:46 4272

原创 XML头详解

xmlns,xhtml namespace

2016-11-10 21:42:00 2054

原创 Ibatis

数据访问层框架,ORM,Object Relation Mapping,将对象映射到关系,通过操作对象来达到操作关系的目的。  通过hibernate访问数据层不需要自己编写sql,简单智能,调用方法就可完成。ibatis需要自己编写sql语句,更加灵活,可对sql进行优化。ibatis的最后版本为2.3.4,从3.x开始,转投到Google Code门下,并改名为MyBatis。=============

2016-11-05 18:11:32 752

原创 Java日志使用

Java项目中常用的日志门面技术有commons-logging、slf4j,常用的日志实现技术有java.util.logging、log4j、logback。    commons-logging是由apache提供的最早日志门面,提供一个功能有限的简单实现simple logger,实际使用中需加载具体的日志实现包。commons-logging在程序运行时,使用classloader从classpat

2016-11-03 17:18:56 396

原创 WebService

客户端与服务端交互数据,底层基于tcp/ip协议。   Java上层socket编程实现,基本不用。httpclient实现,本质是http(post/get)协议实现。servlet实现,本质还是http协议实现。  分布式环境下,服务被部署在不同机器,可能来自不同的项目或平台,要传输的数据可能非常复杂。   仍使用http协议实现不同项目之间的数据交互,但增加xml+xsd、wsdl、soa

2016-11-01 20:32:02 252

原创 学习策略

互联网开发,或者说分布式应用开发,用到很多技术,甚至不断有更多新技术在出现。如何去学习这些技术,学到什么程度,主攻该技术的哪一部分都是需要去考虑的问题。  在计算机领域、互联网领域、服务端开发领域,一门技术出现的目的是去解决或更好的解决某些问题,其本质就是一个工具,一个服务端的软件,当然也可能是一个还没有落地的思想。==========================================

2016-10-31 16:05:26 336

原创 分布式

分布式部署   互联网应用业务复杂,数据量大。   应用根据业务划分多个项目,每个项目两个集群,一个集群备用,一个集群对外。   每个集群内都有多个服务器,通过分发服务器,如Nginx,来分流,分摊用户请求到集群内的各个服务器。  数据库根据项目与业务划分多个库,每个库库分读库与写库,分别部署在一个集群内不同的服务器上。   为防止并发错误,写库只有一个,称为主库;读库有多个,称为从库,从库

2016-10-31 10:37:04 199

原创 分布式互联网架构——消息

消息主要用在分布式环境下,集群之间的信息交互,本质也是通信webservice使用http协议传输,soap协议解析报文,wsdl文档定义应用接口,xml封装传输数据,同步的jms为java定义的api,至于用什么协议传输等有自己决定,异步的JMS定义了消息接口,消息格式,消息通信模式

2016-10-24 14:43:27 167

原创 Web——域名

www.google.comcom 顶级域名 com用于企业,net用于网络机构,org用于政府阻止等非盈利团体 顶级域名申请要花钱,不属于申请者google.com 一级域名为顶级域名的延伸,所有权属于申请者,不花钱www.google.com 二级域名,www为主机名mail.google.com 二级域名,mail为主机名

2016-10-21 19:49:36 299

原创 分布式互联网架构——docker

虚拟化技术——在当前os之外,划分出一个独立区域,模拟整个机器环境,并安装自己的os,称为虚拟机Container技术——在当前os之内,划分出一个独立区域,仅安装一个程序,划分多个区域,每个区域安装一个程序,每个区域称为一个docker,多个docker堆叠起来,构成一个完成的项目,称为微服务架构。容器与虚拟机之间的区别主要在于,虚拟机管理程序对整个设备进行抽象处理,而容器只是对操作系统内核进行抽

2016-10-19 20:17:53 1377

原创 分布式互联网架构——概述

客户端与服务端交互数据,底层基于tcp/ip协议。  java上层的实现   socket编程实现,太麻烦,基本不用。   httpclient实现,本质是http(post/get)协议实现。   servlet实现,本质还是http协议实现。  分布式环境下,服务被部署在不同的机器上,可能来自不同的的领域、项目或企业,要传输的数据可能非常复杂。仍然使用http协议实现,但是加了三种技术——

2016-10-09 16:04:56 1486

原创 Spring的Quartz

定时任务,要引入quartz-xx.jar包,可以自己搞,也可和spring框架整合一起搞。```// 定时任务的异步操作@Component("xxTask")public class XxTask implements Runnable { public void run() {..}}// 定时任务@Component("xxWorker")public class XxWorker

2016-09-28 20:03:47 261

原创 Velocity

velocity类似jsp,都是前端页面渲染技术,其中jsp仅适用于java,可直接访问后端代码,mvc中要小心操作来实现前后分离;velocity是通用模板,默认不可直接访问后端代码,严格实现前后分离。## 单行注释#* * 多行注释 *### celocity中#标识指令,$标识变量## 输出name值,若name不存在,原样输出$name## 输出name值,若name不存

2016-09-26 20:52:35 215

原创 MongoDB的Java操作

// 需要三个jar包,mongodb-driver-3.3.0.jar;mongodb-drvier-core-3.3.0.jar;bson-3.3.0.jarpublic class MongoTest { private MongoClient conn = null; // 获取连接 private MongoClient getConn() { conn = new MongoClient("

2016-09-23 17:02:24 366

原创 Linux——命令

Shell是Linux为用户提供的一个使用其服务的命令接口,基于该接口的实现有很多,其中最流行的是Bash Shell。      [root@test /root]# command -options param1 param2 …   @左边的root表示用户名,右边的test表示当前主机名,test右边的/root表示当前目录,#为提示符,后面可以输入命令。   command为命令,

2016-09-22 20:19:58 313

原创 Linux——概述

最早出现的是Unix,开始时是免费的,后来收费了,由此出现了GNU计划,其目标是创建一个基于自由软件的操作系统。  在GNU计划下开发的软件必须遵循GPL(General Public License)公共许可协议,但是遵循GPL协议的软件未必是GNU计划下开发的软件。  一个完整的操作系统由内核和在内核之上的各种软件两部分组成,其中内核是核心。GNU计划的GNU内核没有完成,只完成了内核之上的全部

2016-09-22 16:53:12 265

struts2.0.8简单实例

struts2.0.8简单实例,快速了解struts开发流程。

2011-05-05

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

TA关注的人

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