一江溪水
解决跨越的几种方式 解决跨越的几种方式
跨域请求域 的定义:协议 + 域名 + 端口。三者完全相同则为同域,反之有其一不同均为不同域,当前发起请求的 域 和请求指向的 域 属于不同域时,该次请求称之为跨域请求。 A应用只能访问 A 应用后台传来数据,B 应用只能访问 B 应用后
2022-11-13
事件总线 EventBus 事件总线 EventBus
前言EventBus 顾名思义,事件总线,是一个轻量级的 发布 - 订阅 模式的应用模式。相比于 MQ 更加简洁,轻量,它可以在一个小系统模块内部使用 EventBus允许组件之间通过发布 - 订阅进行通信,而不需要组件之间显示的注册。它
2022-11-12
Go 数据结构之 Slice (三) Go 数据结构之 Slice (三)
前言Golang 数据结构之 Slice (二)上一篇文章介绍了一下扩容的基本情况,这一篇文章分析了 growslice 函数的源码 源码我们看看 growslice函数的源码,可以分成三部分: func growslice(et *_ty
2022-05-08
Go 数据结构之 Slice (二) Go 数据结构之 Slice (二)
前言Golang 数据结构之 Slice (一)上一篇文章写了Slice的基本数据结构,而且提到了Slice可以自动扩容,这篇文章就简单看看Slice是怎么样扩容的。 append函数说扩容之前,不得不说一下 Slice 内置的 appen
2022-05-07
Go 数据结构之 Slice (一) Go 数据结构之 Slice (一)
Golang 数据结构之 Slice前言Slice(切片)是抽象在 Array(数组)之上的特殊的数据类型类型,在了解slice之前需要先了解一下Array的情况。 Array 数组Array数组就是 Golang 的基本数据类型中的数字,
2022-05-04
什么是自旋锁 什么是自旋锁
前言阻塞或唤醒一个Java线程需要操作系统切换CPU状态来完成,这种状态转换需要耗费处理器时间。如果同步代码块中的内容过于简单,状态转换消耗的时间有可能比用户代码执行的时间还要长。 自旋锁在有些场景中,同步资源的锁定时间很短,为了这一小段时
2021-12-30
悲观锁VS乐观锁 悲观锁VS乐观锁
前言Java中有很多锁,每种锁因其特性的不同,在适当的场景下的效率也有很大的差别。今天我们对比一下乐观锁和悲观锁,看看他们有什么不同和相同。 乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。在Java和数据库中都有比较广泛的
2021-12-27
JDK锁升级过程 JDK锁升级过程
synchronizedJava对象头synchronized是悲观锁,在操作同步资源之前需要给同步资源先加锁,这把锁就是存在Java对象头里的,对象头主要包括两部分数据: Mark Word(标记字段) Klass Pointer(类型
2021-12-26
Redis为什么这么快? Redis为什么这么快?
Redis经常被用作做缓存, 一致性要求不高的场景,还可以当做kv存储使用。 另外, Redis还提供了消息订阅、事务、索引等特性。我们还可以利用集群特性搭建分布式存储服务,实现非强一致性的分布式锁服务。 Redis用到上述场景, 都有一个
2021-12-04
Redis分布式锁如何自动续期 Redis分布式锁如何自动续期
Redis 实现分布式锁 指定一个 key 作为锁标记,存入 Redis 中,指定一个 唯一的用户标识作为 value。 当 key 不存在时才能设置值,确保同一时间只有一个客户端进程获得锁,满足互斥性特性。 设置一个过期时间,防止因系统异
2021-11-27
Spring Boot是如何实现自动装配的 Spring Boot是如何实现自动装配的
什么是自动装配?自动装配就是通过注解或者一些简单的配置就能在 Spring Boot 的帮助下实现某块功能。 Spring Boot 定义了一套接口规范,这套规范规定:SpringBoot 在启动时会扫描外部引用 jar 包中的META-I
2021-11-21
一致性哈希算法 一致性哈希算法
什么是一致性哈希算法一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。 一致性哈希修正了CARP使用的简 单哈希算法带来的问题,
3 / 10