- 浏览: 7602 次
- 性别:
- 来自: 成都
最新评论
文章列表
5适配器模式
1.定义
将一个类的接口转化成客户希望的另外一个接口,从而使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
2.使用范围
主要应用于希望复用一些现有类,但是接口又与复用环境要求不一致的情况(翻译)。(即两个类(不太容易修改)所做的事情相同或者相似,但是有不同的接口)。
3.结构
1.目标(Target)角色:这就是所期待得到的接口。
2.源(Adaptee)角色:现在需要适配的接口
3.适配器(Adapter)角色:适配器类是本模式的核心。
4.优点
● 更好的复用性
系统需要使用现有的类,而此类的接口不符合系统的需要。那么通过 ...
3设计原则
3.1单一职责原则
3.1.1 定义
就一个类而言,应该仅有一个引起他变化的原因。
软件设计真正要做的就是发现职责并将其相互分离---单一职责。
3.2 开闭原则
3.2.1 定义
开放-封闭原则:软件实体(类、模块 ...
2.策略模式
面向对象的编程,并不是类越多越好,类的划分是为了封装,但是分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类。
2.1 定义
它定义了算法家族,分别封装起来,让他们之间可以互相替换,算法的变换并不会影响客户端的使用。
重点:封装变化点。
2.2 适用性
1.许多相关的类仅仅是行为有异。 “策略”提供了一种用多个行为中的一个行为来配置一个类的方法。即一个系统需要动态地在几种算法中选择一种。
2.需要使用一个算法的不同变体。例如,你可能会定义一些反映不同的空间 /时间权衡的算法。当这些变体实现为一个算法的类层次时 ,可以使用策略模式。
...
一.内存模型的相关概念
计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问 ...
4.装饰模式
4.1定义
不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
4.2特点
1.装饰对象和真实对象有相同的接口。这样客户端对象就能 ...
垃圾回收算法
1.引用计数法
1.1思想
对于对象设置一个引用计数器,每增加一个变量对它的引用,引用计数器就会 +1,每减少一个变量的引用,引用计数器就会 -1,只有当对象的引用计数器 =0时,该对象才会被回收。
1.2优缺 ...
单例模式
1.1饿汉式
/**
* 单例
*
* @author lzk
*
*/
public class Singleton {
private static Singleton instance;
private Singleton() {
}
public static Singleton GetInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null ...
1.简单工厂模式
简单工厂模式实质:由一个工厂类可根据传入的参数,动态决定应该创建哪个产品类(产品类继承父类或接口)的实例。
1.1 优点
工厂类是整个模式的关键.包含了必要的逻辑判断,根据外界给定的信息, ...
MQTT
一、简述
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码 ...
如何查看某个端口被占用
1.输入命令:netstat -ano,列出所有端口的情况。
2.查看被占用端口对应的PID,输入命令:netstat -aon|findstr "端口号",回车,记下最后一位数字,即PID号
3.输入tasklist|findstr "PID号",回车,查看是哪个进程或者程序占用了该端口
4.结束该进程:任务管理器中选中该进程点击”结束进程“按钮,或者在cmd的命令窗口中输入:taskkill /f /t /im Tencentdl.exe。
一个应用占用CPU很高原因:1.计算密集;2.死循环
定位步骤:
1:top命令,发现Java进程CPU占用率
2:ps aux | grep PID命令:定位到具体线程
3:ps -mp pid -o THREAD,tid,time显示线程列表
ps -mp pid -o THREAD,tid,time首先找到了耗时最高的线程,其次将需要的线程ID转换为16进制格式:printf "%x\n" tid,最后打印线程的堆栈信息:jstack pid |grep tid -A 30
最后,总结下排查CPU故障的方法和技巧有哪些:
1、top命令:Linux命令。可以 ...
java.lang.OutOfMemoryError: Java heap space
原因:Heap内存溢出,意味着Young和Old generation的内存不够。
解决:调整java启动参数 -Xms -Xmx 来增加Heap内存。
java.lang.OutOfMemoryError: unable to create new native thread
原因:Stack空间不足以创建额外的线程,要么是创建的线程过多,要么是Stack空间确实小了。
解决:由于JVM没有提供参数设置总的stack空间大小,但可以设置单个线程栈的大小;而系统的用户空间一共是3G,除了Text/Data/ ...
1 数字:^[0-9]*$
2 n位的数字:^\d{n}$
3 至少n位的数字:^\d{n,}$
4 m-n位的数字:^\d{m,n}$
5 零和非零开头的数字:^(0|[1-9][0-9]*)$
6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1, ...
1.段落元素由 p 标签定义。
2.换行<br></br>或者<br />
3.标题<h1>一级标题</h1>、<h2>二级标题</h2>、...
4.标题居中<h1 align = "center" />
5.标签定义水平线:<hr />
6.注释:<!--注释内容-->
7.背景颜色:<body bgcolor = "red"></body>
8.链接:<a href="www.baidu.co ...
1.登陆防火墙
通过串口线连接到USG2000防火墙“console”配置口,使用PUTTY工具登陆进入防火墙,缺省用户名和密码为:admin;Admin@123。
2.接口配置
防火墙连接外网的网口“0/0/0”主要就是设置IP和子网掩码;
连接交换机的网口“0/0/1”划分出子接口方便后续连接相应的VLAN,并根据规划将各子接口配置上对应VLAN的网关和子网掩码。
3.划分地址池
划分“可访问内网的外网地址池”;划分各网元可访问地址池。
4.划分安全区域
A:主要是划分出“untrust”区域即连接0/0/0口的外网区域
B:划分与交换机5700连接的各网元区域配置安全策略
C ...