自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 三、深入理解synchronized分析

1.了解java对象的存储结构 在学习synchronized 之前我们需要先了解一下 java对象包含了什么?如下图所示: 对象头 mark word:主要用来标识对象的线程锁状态,另外可以配合GC、存放该对象的hashcode klass word:记录用于标识对象指向方法区中class信息的指针 数组长度:只有当对象是数组的时候才会有这部分 对象体 对象体是用于保存对象属性和值的部分 对齐字节 对齐跟数据在内存中的位置有关,需要字节对齐的根本原因在于CPU访问数据的效率问

2021-11-03 21:19:29 127

原创 二、并发编程的三大特性

可见性(visibility) 申明的变量会放在内存中,一个线程更改之后,之前获取值的线程是对这个变量不可见的 volatile 可以保证变量的可见性,引用类型(包括数组)只能保证本身的可见性,不能保证内部字段的可见性 数据的读取顺序是从cpu的计算机单元寄存器->L1 -> L2 -> L3 ->内存,最终在各个阶段存储一份 对于线程的可见性是值得L1,L2,L3的可见性 cpu多级缓存如下图所示: 缓存一致性协议 MESI Cache | 状态 | 描述

2021-10-27 22:55:53 188

原创 一、多线程基础知识

程序、进程、线程、纤程 ● 什么是程序 ○ 可执行文件,例如(QQ.EXE) ● 什么是进程 ○ 进程是资源的分配的基本单位 ● 什么是线程 ○ 线程是调度执行的基本单位 ○ 多个线程共享同一个进程的资源 ○ 线程的切换是需要消耗资源的 ● 什么是协程/纤程 ○ 是一种最轻量化的线程(lightweight threads)。它是一种用户线程(user thread),让应用程序可以独立决定自己的线程要如何运作。操作系统内核不能看见它,也不会为它进行调度。就像一般的线程,纤程有自己的寻址空间。但是纤程采取合

2021-10-25 23:33:16 313

原创 SpringCloudGateway搭建和常见使用方法

**Spring Cloud Gateway:**提供一种简单而有效的方式来对API进行路由,并为他们提供切面,例如:安全性,监控/指标 和弹性等。 温馨提示:在学习新技术之前建议先看看 官方文档 1.如何在工程中引用Spring Cloud Gateway 引入jar包 <dependency> <groupId>org.springframework.cloud</groupId> <art

2020-06-05 17:56:05 1306

原创 spring集成kafka,以及常见错误解决

spring集成kafka,以及常见错误解决 一.配置kafka 1.引入jar包 <!--Kafka和spring集成的支持类库,spring和kafka通信监听--><!-- https://mvnrepository.com/artifact/org.springframework.integration/spring-integration-kafka --> <dependency> <groupId>org.springframewo

2020-05-18 16:21:24 9162

原创 Apache sentinel 熔断、限流源码分析(入门篇)

温馨提示:在学习新技术之前建议先看看 官方文档,源码基于Apache sentinel版本1.7.2版本 1.Sentinel 是什么?有什么用? Sentinel 意为哨兵,这个命名形象的诠释了 Sentinel 在分布式系统中的工作角色和重要性,主要功能就是熔断、限流、降级。 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系...

2020-03-07 22:30:37 974

原创 基于Aop,redis,注解实现分布式锁

概述 为了防止分布式系统中的多个进程之间相互干扰,我们需要一种分布式协调技术来对这些进程进行调度。而这个分布式协调技术的核心就是来实现这个分布式锁。 为什么要使用分布式锁 成员变量 A 存在 JVM1、JVM2、JVM3 三个 JVM 内存中 成员变量 A 同时都会在 JVM 分配一块内存,三个请求发过来同时对这个变量操作,显然结果是不对的 不是同时发过来,三个请求分别操作三个...

2019-11-22 19:02:26 445

原创 LocalDateTime返回的格式为 2019-10-15T20:46:45,处理json返回时间中带有T的情况

因为LocalDateTime默认使用的iso 时间格式:所以返回json的时候时间会出现T /** * The ISO date-time formatter that formats or parses a date-time without * an offset, such as '2011-12-03T10:15:30'. * <p> ...

2019-08-22 16:09:02 9187 4

原创 在Docker上部署springboot jar包项目

先打包项目 --->打开maven命令 输入 clean package -Dmaven.test.skip=true 找到项目根目录下的target目录,这里面的jar就是打包好可以部署的jar包 3.准备服务器上的jar包存放目录以及Dockerfile文件 并且在本目录下创建Dockerfile文件,并且将下面这段粘贴在Dockerfile文件...

2019-07-17 17:21:40 815

原创 spring Aop+RequestContextHolder 注解实现日志打印

添加依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>5.0.5.RELEASE</version> </dependency...

2019-04-15 21:02:14 365

原创 spring/springboot集成spring-data-elasticsearch 3.1.6。从安装到集成附spring-boot源码

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 一. ElasticSearch6.2.2下载安装步骤 说明:...

2019-04-15 15:17:56 1370

空空如也

空空如也

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

TA关注的人

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