责任链和策略设计模式-基于Java编程语言
责任链和策略设计模式这两种设计模式非常实用,下面简单介绍一下我对这两种设计模式的理解和它们在Spring框架源码中的应用。
Wesley13 Wesley13
4年前
java实现23种设计模式之解释器模式
解释器模式(InterpreterPattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在SQL解析、符号处理引擎等。构建语法树,定义终结符与非终结符。应用实例:编译器、运算表达式计算。packagecom.ceshi22;
Easter79 Easter79
4年前
TCP漫谈之keepalive和time_wait
TCP是一个有状态通讯协议,所谓的有状态是指通信过程中通信的双方各自维护连接的状态。一、TCPkeepalive先简单回顾一下TCP连接建立和断开的整个过程。(这里主要考虑主流程,关于丢包、拥塞、窗口、失败重试等情况后面详细讨论。)首先是客户端发送syn(SynchronizeSequenceNumbers:
Stella981 Stella981
4年前
Django 之 cookie和session
一、Cookie1、Cookie的由来因为HTTP协议是无状态的,无状态的意思就是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,也不会受前后请求响应情况直接影响。简而言之,对服务器来说,每一次请求都是全新的。状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态就是这些数据不
Wesley13 Wesley13
4年前
GOF二十三种设计模式之工厂模式
先说一下面向对象设计的基本原则:OCP:开放原则,一个软件的实体应当对扩展开放,对修改关闭。DIP:依赖倒转原则,针对接口编程,不要针对实现编程。LoD:迪米特法则,只与直接相关的类通信,避免和陌生人通信。在平常的编程中,我们都是直接new一个对象,而在工厂模式中,将对象的创建统一进行管理和控制,将调用者与实现类进行解耦。下边是一个简单的
Stella981 Stella981
4年前
Modbus功能码及错误码说明
有效功能码说明(十进制)功能码说明01读取线圈状态02读取输入状态03读取保持寄存器04读取输入寄存器05强置单线圈06预置单寄存器07读取异常状态08回送诊断校验09编程(只用于484)10控询11读取事件计数12读取通信事件记录13编程
Stella981 Stella981
4年前
Raft 基础
目录1.三个状态2.什么是任期3.节点之间的通信1\.三个状态Raft设计了3个状态,用于表示节点的状态,分别是跟随者,候选者,领导者。1.领导者:通常只有一个领导人,并且其他节点都是跟随者。2.跟随者:跟随者不会发送任何请求,只是简单的响应领导者或者候选人的请求,由领导人处理所有的客户端请
Stella981 Stella981
4年前
Egret 中实现3种状态切换按钮
一、游戏中的常用3种状态按钮Egret种提供了2种状态切换的按钮ToggleButton。 但是在游戏中常用到3种状态的按钮,比如任务系统的领取、已领取、未领取。比如下图中宝箱的打开、浏览后打开、邀请后打开!(https://oscimg.oschina.net/oscnet/fe992f483ec89433
Stella981 Stella981
4年前
AbstractQueuedSynchronizer简单使用
AQS是JUC中很多同步组件的构建基础,简单来讲,它内部实现主要是状态变量state和一个FIFO队列来完成,同步队列的头结点是当前获取到同步状态的结点,获取同步状态state失败的线程,会被构造成一个结点(或共享式或独占式)加入到同步队列尾部(采用自旋CAS来保证此操作的线程安全),随后线程会阻塞;释放时唤醒头结点的后继结点,使其加入对同步状态的争夺中。