单例模式
什么是单例模式单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。
许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。
单例模式应用场景举一个小例子,在我们的windows桌面上,我们打开了一个回收站,当我们试图再次打开一个新的回收站时,Windows系统并不会为你弹出一个新的回收站窗口。,也就是说在整个系统运行的过程中,系统只维护一个回收站的实例。这就是一个典型的单例模式运用。
继续说回收站,我们在实际使用中并不存在需要同时打开两个回收站窗口的必要性。假如我每次创建回收站时都需要消耗大量的资源,而每个回收站之间资源是共享的,那么在没有必要多次重复创建该实例的情况下,创建了多个实例,这样做就会给系统造成不必要的负担,造成资源浪费。
再举一个例子,网站的计数器,一般也是采用单例模式实现,如果你存在多个计数器,每一个用户的访问都刷新计数器的值, ...
设计模式基础-1
设计模式基础-1概述在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 的书,该书首次提到了软件开发中设计模式的概念。
==对接口编程而不是对实现编程。==
这样一个方法B在调用A的时候,不是调用的实现(A1,A2,A3),而是调用的接口(A),通过多态性,根据调用者的不同而调用不同的实现方法
==优先使用对象组合而不是继承。==
java规定只能有一个父类
设计模式的基石
封装
继承
多态
顺序
判断
循环
总览
创建型模式(Creational Patterns)
单例(Singleton)模式
原型(Prototype)模式
工厂方法(FactoryMethod)模式
抽象工厂(AbstractFactory)模式
建造者(Builder)模式
结构型模式(Structural Patte ...
无题
自定义应用层协议在复杂的网络世界中,各种应用之间通信需要依赖各种各样的协议,比如:HTTP,Telnet,FTP,SMTP等等。
在开发过程中,有时候我们需要构建一些适应自己业务的应用层协议,Netty作为一个非常优秀的网络通信框架,可以帮助我们完成自定义协议的通信。
一般而言,我们制定的协议需要两个部分:
Header : 协议头部,放置一些Meta信息。
Content : 应用之间交互的信息主体。
例如:
字段
类型
长度(字节)
说明
STAG
unsigned short
2
通信协议数据包的开始标志0xff 0xfeh2640001
version
unsigned short
2
通信协议的版本号,目前为0x01
checksum
unsigned char
1
计算协议数据校验和,如果为加密数据,则计算密文校验和。校验和计算范围:协议头CheckSum字段后数据,协议体全部数据。
type
unsigned char
1
0表示协议体是json格式,其它值未定义。设备心跳消息类型的值为OxAO
seqno
unsigned int
4 ...