- 浏览: 18917 次
文章列表
● 抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。
● 具体构件(ConcreteComponent)角色:定义一个将要接收附加责任的类。
● 装饰(Decorator)角色:持有一个构件对象的实例,并定义一个与抽象构件接口一致的接口。
● 具体装饰(ConcreteDecorator)角色:负责给构件对象“贴上”附加的责任
总结:首先抽象角色为其具体构件角色提供接口加以规范,然后让其具体构件角色来实现抽象构件角色的实例,利用组合调用构件对象实例并继承抽象构件角色定义与其抽象构件接口一样的接口实现,方便其具体装饰者调用。(纯属个人观点,日后 ...
新建mongodb.ini文件
内容如下:
logpath=D:\JavaApp\MongoDB3.2\data\log\MongoDB.log
dbpath=D:\JavaApp\MongoDB3.2\data\db
进入到bin目录下。执行如下命令,即可注册为windows的服务
mongod --config D:\JavaApp\MongoDB3.2\Server\bin\mongod.ini --install
在“运行”中输入“services.msc”,打开“服务”管理界面。
即可看到MongoDB服务
import java.util.Observable;
/**
* Created by bashen on 2016/7/5.
*/
public class WeatherSubject extends Observable {
//推送的内容
private String content;
public String getContent() {
return content;
}
public void setContent(String content) {
this ...
tomcat8设置用户名和密码
- 博客分类:
- tomcat
<role rolename="tomcat"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="role1"/>
<user username="admin" password="admin&q ...
<Ctrl> +<Alt> +V 自动返回 相当于 Eclipse ctrl + 1
Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码
Ctrl+Alt+O 优化导入的类和包
Ctrl+Shift+Space 自动补全代码
Ctrl+Shift+Alt+N 查找类中的方法或变量
Ctrl+空格 代码提示
Shift+F6 重构-重命名Ctrl+Shift+先上键
package cn.lingban.commons.untils;
import javax.net.ssl.*;
import java.io.*;
import java.net.*;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java ...
如果每次调用两次任务:修改conf目录下的server.xml。修改节点Host,将appBase属性由默认的“webapps”设置为空("")
配置文件的方式:
<!-- 开启这个配置,spring才能识别@Scheduled注解 -->
<task:scheduled-tasks><!-- 每3秒钟触发一次 -->
<task:scheduled ref="testTimer" method="timer" cron="0/3 ...
springmvc上传2
- 博客分类:
- SpringMVC
package com.dongly.upload;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annot ...
package com.dongly.common.page;
/**
* 分页接口
*/
public interface Paginable {
/**
* 总记录数
* @return
*/
public int getTotalCount();
/**
* 总页数
*
* @return
*/
public int getTotalPage();
/**
* 每页记录数
*
* @return
*/
public int getPageSize();
/* ...
<mvc:default-servlet-handler />
<!-- 解决静态页面加载问题 -->
<!-- 解决静态页面加载问题 -->
<!-- 启动Springmvc注解驱动 -->
<!-- 返回json 方法一 需要导入 fastjson.jar包 -->
<!--RequestMappingHandlerAdapter-->
<mvc:annotation-driven>
<mvc:message-converters register-default ...
volatile关键字解析
- 博客分类:
- Java多线程
Java并发编程:volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。
volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。 由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析 了volatile关键字的实现原理,最后给出了几个使用volatile关键字的场景。
以下是本文的 ...
单例模式是一种对象创建模式,它用于产生一个对象的具体实例,它可以确保系统中一个类只产生一个实例。Java 里面实现的单例是一个虚拟机的范围,因为装载类的功能是虚拟机的,所以一个虚拟机在通过自己的 ClassLoad 装载 ...
JedisPool和spring
- 博客分类:
- redis
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframewor ...
一丶Jedis分布式(Sharding/shared 一致性哈希)
我们知道Memcached是完全基于分布式的集群,而Redis是Master-Slave的模式,如果想把Redis做成集群模式,其实无外乎就是多做
几套Master-Slave,每套Master-Slave完成各自的容灾处理,通过C ...
关联jar包:
<!-- apache commons jar -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io-version}</version>
</dependency>
<dependency>
<groupId>commons-fileupload</ ...