自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring源码解析

架构 Spring Framework Spring 核心容器 Core Container Spring Core Spring Bean Spring Context SpEL (Spring Expression Language) 数据访问 Data Access JDBC ORM OXM Transaction Web WebMVC WebFlux WebSocket AOP

2021-04-08 16:58:12 230

原创 乐观锁的原理CAS

CAS( Compare-And-Swap)“比较并交换”(乐观锁的原理) CAS 的特点是避免使用互斥锁,当多个线程同时使用 CAS 更新同一个变量时,只有其中一个线程能够操作成功,而其他线程都会更新失败。更新失败的线程并不会被阻塞,而是被告知这次由于竞争而导致的操作失败,但还可以再次尝试。 CAS 的思路 CAS 相关的指令是具备原子性的 CAS 有三个操作数:内存值 V、预期值 A、要修改的值 B。 核心思路:仅当预期值 A 和当前的内存值 V 相同时,才将内存值修改为 B。 下面我们用图解和例子的

2020-07-14 15:00:31 343

原创 JAVA的内存模型

JAVA内存模型 JVM 内存结构和 Java 虚拟机的运行时区域有关; Java 内存模型和 Java 的并发编程有关。 JVM内存模型 6个区域 堆区(Heap):堆是存储类实例和数组的,通常是内存中最大的一块。实例很好理解,比如 new Object() 就会生成一个实例;而数组也是保存在堆上面的,因为在 Java 中,数组也是对象。 虚拟机栈(Java Virtual Machine Stacks):它保存局部变量和部分结果,并在方法调用和返回中起作用。 方法区(Method Area):它存储

2020-07-13 19:31:33 432

原创 阻塞队列-BlockingQueue

阻塞队列 public interface BlockingQueue extends Queue{…} [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3QtabpFM-1594633540746)(C:\Users\zhangzhicheng\AppData\Roaming\Typora\typora-user-images\image-20200713171249304.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vi7rTE

2020-07-13 17:46:24 240

原创 Quartz简单入门

Quartz简单入门 1、依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency> 2、使用 package org.sang.quartz; import org.springframework.stereotype.Co

2020-07-01 18:03:19 108

原创 SpringBoot集成Redis

SpringBoot集成Redis 1、依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <exclusions> <exclusion> <groupId>io.lettuce<

2020-07-01 17:54:51 83

原创 Docker简单入门

Docker 1、简介 Docker是一个开源的应用容器引擎;是一个轻量级容器技术; Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像; 运行中的这个镜像称为容器,容器启动是非常快速的。 docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上); docker客户端(Client):连接docker主机进行操作; docker仓库(Registry):用来保存各种打包好的软件镜像; docker镜像(

2020-07-01 17:30:50 65

原创 消息队列-RabbitMq

消息队列-RabbitMq 1、AMQP 简介 AMQP (Advanced Message Queuing Protocol,高级消息队列协议)是一个线路层的协议规范, 而不是 API 规范(例如 JMS)。由于 AMQP 是一个线路层协议规范,因此它天然就是跨平台的, 就像 SMTP、 HTTP 等协议一样,只要开发者按照规范的格式发送数据,任何平台都可以通过 AMQP 进行消息交互。像目前流行的 StormMQ、 RabbitMQ 等都实现了 AMQP。 2、安装RabbitMq 自行百度 3、使用

2020-07-01 17:09:24 92

原创 阿里蚂蚁金服技术栈

阿里蚂蚁金服技术栈 一、SOFARPC 服务发布、引用以及调用的简单流程图如下: 当一个 SOFARPC 的应用启动时,如果发现当前应用需要发布 RPC 服务,那么 SOFARPC 会将该服务注册到配置中心,就是图中蓝色实线所示的过程。 当引用这个服务的 SOFA 应用启动时,会从配置中心订阅对应服务的地址,当配置中心收到订阅请求后,会将发布方的地址列表推送给订阅方,就是图中绿色实线所示的过程。 当引用服务的一方拿到地址以后,就可以调用服务了,就是图中蓝色虚线所示的过程。 使用步骤 依赖 <d

2020-06-29 17:37:11 1784

空空如也

空空如也

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

TA关注的人

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