自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一次kotlin和lombok的setter和getter的maven打包问题出现cant find symbol解决

maven打包kotlin和lombok错误解决

2022-06-07 17:26:16 842

原创 redis底层数据结构之跳跃表

redis底层原理之链表redis的链表原理很简单。每个链表节点使用一个adlist.h/listNode结构来表示:[插图]多个listNode可以通过prev和next指针组成双端链表,如图3-1所示。

2022-06-05 17:23:37 274

原创 学习ReentrantLock的condition的wait和signal源码的笔记

一些阅读源码的笔记,让你简单明白condition实现原理

2022-06-04 22:19:33 845

原创 dubbo spi和java spi的原理和区别

spi

2022-05-29 18:40:19 225

原创 aqs共享锁为啥会唤醒后续节点

在看

2022-05-22 20:18:45 327

原创 Spring Aop学习笔记

在学习AOP之前我们先提出几个问题?AOP是什么?AOP优点是什么?AOP组成结构?AOP实现原理?AOP是什么在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,可以通过预编译方式和运行其动态代理实现在不修改源代码的情况下给程序动态统一添加某种特定功能的一种技术。在springAop表现中就是对某一类型的方法进行拦截处理。AOP优点是什么?使用面向对象编程(OOP)有一些弊端,当需要为多个不具有继承关系的对象引入同一个公共行为时,例如日志

2022-05-03 16:12:06 513

原创 kafka学习笔记

kafka学习笔记

2022-04-19 18:08:51 2259

原创 netty分析

开局一张图(netty 架构)三个组成部分:Core(核心):可拓展的事件模型,统一通信的API,零拷贝技术等。Transport Service(传输服务):socket ,Http Tunnel(通道),in-vm pipe。http也是基于socket的,in-vm pipe是jvm的一种进程。Protocol support(协议支持):默认支持的协议很多,如上图分 类Netty 的特性设计统一的 API,支持多种传输类型,阻塞的和非阻塞的 简单而强大的线程模型真正

2021-09-17 17:16:35 168

原创 图解springboot的生命周期

#mermaid-svg-lYympPjEw7EYtlRg .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-lYympPjEw7EYtlRg .label text{fill:#333}#mermaid-svg-lYympPjEw7EYtlRg .node rect,#mermaid-svg-lYympPjEw7

2021-03-14 22:38:14 1810

原创 恐怕没有比这个更简单了让你了解线程池的原理了

为什么会出现线程池?如果没有线程池我们怎么使用线程我们不防思考一个问题,在没有线程池的情况下,每次用线程去执行一个任务,我们就需要新起一个线程去执行这个任务,但是这个任务执行完了,这个线程就消毁了。而操作系统每次新建一个线程需要执行指令,重新分配内存,是一个特别耗时的一个操作?那么我们是否有个技术,在我们创建的线程不做销毁,让原本的新建的线程得以重复利用呢?还真有?线程池化技术就来了,就是新建的线程执行完用户提交任务,对线程不进行销毁,有个容器把没有销毁的线程保存起来,如果有新的任务重新加入,可以利用

2021-03-13 16:10:44 103

原创 一篇文章让你彻底了解多线程的本质,史上最简单(一)

前言:还是那句话,网上的多线程的讲解形形色色,大多数都是照搬概念和定义,没有讲解为什出现这个东西,也没有简单通俗的讲出多线程真正含义,虽然我的文章有些啰嗦,但是这些啰嗦的语言让你真正理解线程的本质(牛逼吹大了)。为啥这里不讲进程,因为真正干活的是线程而不是进程,就如同公司和员工一般,最终活还是交给员工来干对吧,所以分析线程就知道操作系统执行指令的真正奥义。1.什么是线程?估计很多人不理解,或者不能通俗的理解,可以这么理解,计算机为了执行指令必须需要一个东西来承载,这个就是线程。线程就是计算机用来执行

2021-02-28 11:24:35 1184

原创 图解spring的bean创建的生命周期

#mermaid-svg-9idoM7aKPvkLOMPF .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-9idoM7aKPvkLOMPF .label text{fill:#333}#mermaid-svg-9idoM7aKPvkLOMPF .node rect,#mermaid-svg-9idoM7aKPv

2020-11-21 12:51:17 252

原创 图解springAop源码

postProcessAfterInitialization#mermaid-svg-GLvEKKgmpomrtYmh .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-GLvEKKgmpomrtYmh .label text{fill:#333}#mermaid-svg-GLvEKKgmpomrtYmh .no

2020-10-26 10:42:29 198

原创 redis 底层原理之动态字符串SDS

对于redis数据而言,底层数据结构的实现决定了redis的性能和存储空间。1.既然c语言支持字符串,为啥要有SDS的出现?c语言的字符串的缺点:获取字段串的长度为0(n),因为每次都遍历获取字段串的长度大小。strcat 函数来进行两个字符串的拼接,一旦没有分配足够长度的内存空间,就会造成缓冲区溢出...

2020-06-20 15:50:16 215

原创 深入透析springboot加载之spring-boot-maven-plugin,应该是目前最详细的讲解了

springboot jar 的maven打包分析如下图,从springboot官网下载一个demo,执行mvn install 命令 即可生成一个可以执行的springboot的jar包。com.jianshu.springboot.test.loader-0.0.1-SNAPSHOT.jar.original是com.jianshu.springboot.test.loader-0.0.1-...

2020-03-04 22:33:26 5088 1

原创 ideal springboot class not found 解决办法

最近总结一下ideal 运行springboot项目 class not found 解决办法,因为可能极端情况太多,只能试行,不一定能解决此教程能解决一下问题1.如果你同事的运行环境和代码一致,都是用ideal运行springboot项目,同事的可以,但是你的启动报错,出现class not found异常 。2.springboot jar方式可以启动(通过 java -jar方式启动)...

2020-03-04 21:04:39 5901

空空如也

空空如也

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

TA关注的人

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