自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

翻译 volatile在单例模式的双重加锁实现

public class Singleton { private volatile static Singleton instance; private Singleton() { } public static Singleton getInstance() { if (instance == null) { synchronized (Singleton.class) {

2021-11-09 19:11:07 152

原创 菜单字段设计和遍历

菜单功能主要的字段设计。(不包含每个功能所需要的业务字段。)@Data@Builderclass Menu { /** * id */ public Integer id; /** * 名称 */ public String name; /** * 父id ,根节点为0 */ public Integer parentId; /** * 需要隐藏的菜单 */

2021-11-09 15:15:42 266

原创 mysql体系结构和存储引擎

1.数据库:物理操作系统文件或其他形式文件类型的集合. 数据库文件可以是frm.MYD.MYI.ibd结尾的文件. 2.实例:MYSQL数据库由后台线程以及一个共享内存区组成. 3.配置文件:默认/etc/my.cnf下.MYSQL数据库实例在系统上的表现就是一个进程. MYSQL由以下几部分组成: * 连接池组件 * 管理服务和工具组件 * SQL接口组件 * 查询分析器组件 * 优化器组件 * 缓冲组件 * 插件式存储引擎 * 物理文件 ...

2021-09-13 20:50:06 71

原创 Redis基础入门2

Redis 高可用集群1.redis集群redis集群是一个由多个主从节点群组成的分布式服务器群,它具有复制、高可用和分片特性。Redis集群不需 要sentinel哨兵∙也能完成节点移除和故障转移的功能。需要将每个节点设置成集群模式,这种集群模式没有中 心节点,可水平扩展,据官方文档称可以线性扩展到上万个节点(官方推荐不超过1000个节点)。redis集群的 性能和高可用性均优于之前版本的哨兵模式,且集群配置非常简单.从节点一般只用于数据备份.2.Redis的槽位及计算Redis Cluster

2021-04-25 18:47:46 107

原创  Redis基础入门

目录1.持久化方式(从内存保存至文件) 1.RDB 2.AOF 3.混合持久化(Redis 4.0)2.Redis架构1.主从架构 2.Redis哨兵高可用架构 3.集群架构3.管道4.Redis Lua脚本扩展点:1.持久化方式(从内存保存至文件) 1.RDBRdb的保存操作,save和bgsave 情况:在将内存中的数据保存到.rdb文件中时。 有客户端在对red...

2021-04-19 05:49:34 160 2

原创 ReentrantLock  FairSync的lock方法

ReentrantLock FairSync的lock方法 if (!tryAcquire(arg) && acquireQueued(addWaiter(Node.EXCLUSIVE), arg)) selfInterrupt(); 1. tryAcquire(arg) 尝试去获取锁 (1)aqs的state为0 hasQueuedPredecessors() 判断clh队列中是...

2021-04-12 17:35:08 165

原创 Elasticsearch调优经历

默认情况下ElasticSearch索引的refresh_interval为1秒,这意味着数据写1秒才就可以被搜索到。每次索引refresh会产生一个新的 lucene 段,这会导致频繁的 segment merge 行为,对系统 CPU 和 IO 占用都比较高。如果产品对于实时性要求不高,则可以降低刷新周期,如:index.refresh_interval: 120s。但是这种特性对于功能测试来说比较麻烦:因为实时性不能保证,所以每次插入测试数据之后,都需要sleep一段时间,才能进行测试。因为

2020-07-08 08:46:54 241

原创 TimeUnit的学习

package java.util.concurrent;// TODO 更方便清晰看清楚时间,便于开发和理解public enum TimeUnit {// TODO 纳秒NANOSECONDS {public long toNanos(long d) { return d; }public long toMicros(long d) { return d/(C1/C0); ...

2020-03-04 13:45:19 132

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除