随笔分类 - 技术
摘要:TLS(Transport Layer Security)基本概述 TLS是一种加密协议,用于在网络通信中提供安全保障。它的前身是SSL(Secure Sockets Layer),主要目的是在两个通信实体(如客户端和服务器)之间建立一个安全的通信通道,确保数据的保密性、完整性和认证性。 TLS加密
阅读全文
摘要:当时公司为了让接入网关变的简单,于是就开发了一个client,然后给各个服务去使用。 有一次发送请求的时候,发现报timeout了,但实际上业务已经执行成功了。于是就去追代码,发现使用的尽然是hutool包的工具,那个真是糊涂呀 。 看代码发现没有指定timeout的参数就使用了默认参数 -1 因为
阅读全文
摘要:
阅读全文
摘要:单一职责原则(Single Responsibility Principle,SRP) 定义:一个类应该只有一个引起它变化的原因。也就是说,一个类只负责一项职责。 示例与解释:例如,有一个UserService类,它的职责如果包括用户的注册、登录以及用户信息的修改。这就不符合单一职责原则,因为用户注
阅读全文
摘要:实际就是缓冲思想,池化思想。 比如线程池、数据库连接池、还有JDK里面也有。 Integer里面toString使用享元数据 final static char[] digits = { '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9
阅读全文
摘要:有时候面对复杂的场景,就想着怎么解耦、怎么复用、怎么扩展,然后无意间各种设计模式就拧巴在一起了。 责任链和观察者的区别 责任链强调的是顺序,前后可能有逻辑关系。而观察者体现的是的独立性。虽然都有传递消息通知执行的功能,但是侧重点不同。 两个结合使用 我的这个业务场景正好符合混合使用。因为一个消息发布
阅读全文
摘要:这个模式核心思想是将基本的数据对象和对应的操作相互分离。数据对象就只是数据对象,如果想要扩展操作,就扩展对应的visitor。 这种模式下的两次分派 第一次分派,是将对数据对象本身进行分派,可以有不同的实现。 第二次分派,是visitor接收不同的数据对象。 结果就是数据对象接受了visitor,然
阅读全文
摘要:装饰器强调的是动态功能增强,而这种增强是比单继承更加的灵活的方式,可以动态的给基类扩展不同的功能。 继承实现增强有不同结构 如果是按照最小原则,是这样的⬇︎⬇︎⬇︎ 如果不想那么多类文件,是这样的⬇︎⬇︎⬇︎ 虽然这样都能实现让子类拥有base/A/B三个操作,但如果现在只需要base/B操作怎么办
阅读全文
摘要:双重检查是我用的最多的一种。因为它是一种线程安全的写法,而这种写法可以应用到各种场景中。比如:涉及到多线程共享的数据,在更新时候的使用。 比如这种: 其他的方式也有,比如内部类的实现方式。 点击查看代码 public class SingletonEagerInnerClass { private
阅读全文
摘要:模版符合开闭原则,到处用于钩子方法。有的钩子方法不会改变行为,有的钩子会改变运行轨迹。框架中到处使用。 Channel中定义了需要的操作,AbstractChannel实现了核心功能,然后不同的Channel实现只需要告知具体channel的描述信息即可。 Channel package com.x
阅读全文
摘要:不同类型的消息处理 这里抽象层用的是接口 MessageProcess /** * 消息处理 * * @author haiyang */ public interface MessageProcess<K,V> { /** * 处理消息 * * @param messageInfo 消息相关信息
阅读全文
摘要:图片缩略图功能 需要对图片生产缩略图,压缩并保存到不同的介质中。输入端可能是本地图片,也可能是网络图片。保存的位置可能是本地,也有可能是第三方的minio、阿里云oss、七牛云oss。并且这些途径可能随时扩展。为了设计的灵活性,这里就要把输入可输出抽象出来,应用层通过抽象层结偶。这样的抽象和实现分离
阅读全文
摘要:表格对齐显示 #!/bin/bash ( printf "permissions links owner group size data HH:MM fileName\n" ls -l / | sed 1d ) | column -t #ls -l 第一行会显示有多少文件,所以管道符 sed 1d
阅读全文
摘要:os cpu执行两种性质的程序 内核态程序(管态) 用户态程序 内核态执行的特权指令包含: I/O指令 中断指令 存取内存中寄存器指令 程序状态字寄存器变更指令 和硬件关联的指令(最底层)包含: 时钟管理 中断处理 设备驱动 运行比较频繁的指令(最底层的上层)包含: 进程管理 内存管理 设备管理 以
阅读全文
摘要:AOP实现 说明 jump 数据源注解 DataSource.java AOP实现 DataSourceAspect.java 数据源常量 DataSourceNames.java 动态数据源 DynamicDataSource.java 动态数据源config DynamicDataSourceC
阅读全文
摘要:ps -ef 查看CPU占用较高的进程 Ps -mp pid -o THREAD,tid,time Printf “%x\n” number (number是步骤2中的tid) jstack -pid | grep 步骤3 -A 要显示多少行 其他方式: top查看 pid top -p pid 输
阅读全文
摘要:一次消息通知之邮件通知的项目分享内容。 项目介绍 邮件通知服务。香港客户服务有客流和交通,在主业务之外,需要消息通知服务,目前消息是通过邮件的形式通知。通知内容主要包括 实时预警和日报统计两部分。 消息服务基本要求: a) 实时性:客流和交通预警产生后,能及时通知到客户 b) 有效性:客流和交通要求
阅读全文
摘要:在做一件什么事情: 在首页大屏上,可以通过各种维度展示事件统计信息。 sql如下: 点击查看代码 SELECT count( * ) count, camera_code groupName FROM alarm_event WHERE alarm_event.illegal_tag ="24" A
阅读全文
摘要:在做一件什么事情: docker部署ES服务,希望增加可视化工具。于是选择了一种简单的方式,增加elasticsearch-header组件访问。这样只需要在浏览器上输入地址可以直接访问。 遇到了什么问题: 提示跨域访问 问题分析: 服务器端放开访问限制 解决方案: 增加跨域访问配置 脚本如下: 点
阅读全文
浙公网安备 33010602011771号