摘要:
命令模式 概述 日常生活中,我们出去吃饭都会遇到下面的场景。 定义: 将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行存储、传递、调用、增加与管理。 结构 命令模式包含以下主要角色: 抽象命令类(Command)角色: 定义命 阅读全文
摘要:
微服务系统的监控主要包含以下三个方面: Logging 就是记录系统行为的离散事件,例如,服务在处理某个请求时打印的错误日志,我们可以将这些日志信息记录到 ElasticSearch 或是其他存储中,然后通过 Kibana 或是其他工具来分析这些日志了解服务的行为和状态。大多数情况下,日志记录的数据 阅读全文
摘要:
模板方法模式 概述 在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。 例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评 阅读全文
摘要:
组合模式 概述 对于这个图片肯定会非常熟悉,上图我们可以看做是一个文件系统,对于这样的结构我们称之为树形结构。在树形结构中可以通过调用某个方法来遍历整个树,当我们找到某个叶子节点后,就可以对叶子节点进行相关的操作。可以将这颗树理解成一个大的容器,容器里面包含很多的成员对象,这些成员对象即可是容器 阅读全文
摘要:
方法区的演进 在jdk1.6及之前,在永久代,静态变量存放在永久代上。 jdk1.7,有永久代,但已经逐步“去永久代”,字符串常量池丶静态变量移除,保存在堆中。 在jdk1.8后没有永久代,类型信息丶字段丶常量保存在本地内存的元空间,但字符串常量池丶静态变量还在堆中。 永久代为什么要被元空间替换? 阅读全文