摘要: 双重检查是我用的最多的一种。因为它是一种线程安全的写法,而这种写法可以应用到各种场景中。比如:涉及到多线程共享的数据,在更新时候的使用。 比如这种: 其他的方式也有,比如内部类的实现方式。 点击查看代码 public class SingletonEagerInnerClass { private 阅读全文
posted @ 2024-12-17 19:00 Eular 阅读(9) 评论(0) 推荐(0)
摘要: 模版符合开闭原则,到处用于钩子方法。有的钩子方法不会改变行为,有的钩子会改变运行轨迹。框架中到处使用。 Channel中定义了需要的操作,AbstractChannel实现了核心功能,然后不同的Channel实现只需要告知具体channel的描述信息即可。 Channel package com.x 阅读全文
posted @ 2024-12-17 18:39 Eular 阅读(45) 评论(0) 推荐(0)
摘要: 不同类型的消息处理 这里抽象层用的是接口 MessageProcess /** * 消息处理 * * @author haiyang */ public interface MessageProcess<K,V> { /** * 处理消息 * * @param messageInfo 消息相关信息 阅读全文
posted @ 2024-12-17 17:30 Eular 阅读(54) 评论(0) 推荐(0)
摘要: 图片缩略图功能 需要对图片生产缩略图,压缩并保存到不同的介质中。输入端可能是本地图片,也可能是网络图片。保存的位置可能是本地,也有可能是第三方的minio、阿里云oss、七牛云oss。并且这些途径可能随时扩展。为了设计的灵活性,这里就要把输入可输出抽象出来,应用层通过抽象层结偶。这样的抽象和实现分离 阅读全文
posted @ 2024-12-16 22:23 Eular 阅读(66) 评论(0) 推荐(0)
摘要: ES查询使用建造者模式构建复杂的查询对象 阅读全文
posted @ 2024-12-16 21:39 Eular 阅读(74) 评论(0) 推荐(0)
摘要: 表格对齐显示 #!/bin/bash ( printf "permissions links owner group size data HH:MM fileName\n" ls -l / | sed 1d ) | column -t #ls -l 第一行会显示有多少文件,所以管道符 sed 1d 阅读全文
posted @ 2024-12-16 00:20 Eular 阅读(29) 评论(0) 推荐(0)
摘要: os cpu执行两种性质的程序 内核态程序(管态) 用户态程序 内核态执行的特权指令包含: I/O指令 中断指令 存取内存中寄存器指令 程序状态字寄存器变更指令 和硬件关联的指令(最底层)包含: 时钟管理 中断处理 设备驱动 运行比较频繁的指令(最底层的上层)包含: 进程管理 内存管理 设备管理 以 阅读全文
posted @ 2024-12-16 00:17 Eular 阅读(45) 评论(0) 推荐(0)
摘要: AOP实现 说明 jump 数据源注解 DataSource.java AOP实现 DataSourceAspect.java 数据源常量 DataSourceNames.java 动态数据源 DynamicDataSource.java 动态数据源config DynamicDataSourceC 阅读全文
posted @ 2024-12-16 00:12 Eular 阅读(65) 评论(0) 推荐(0)
摘要: 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 输 阅读全文
posted @ 2024-12-16 00:09 Eular 阅读(29) 评论(0) 推荐(0)
摘要: 一次消息通知之邮件通知的项目分享内容。 项目介绍 邮件通知服务。香港客户服务有客流和交通,在主业务之外,需要消息通知服务,目前消息是通过邮件的形式通知。通知内容主要包括 实时预警和日报统计两部分。 消息服务基本要求: a) 实时性:客流和交通预警产生后,能及时通知到客户 b) 有效性:客流和交通要求 阅读全文
posted @ 2024-12-15 23:53 Eular 阅读(12) 评论(0) 推荐(0)