学习总结
文章平均质量分 77
雅俗共赏zyyyyyy
多读书,多看报,少吃零食多睡觉
展开
-
三个线程交替打印的几种实现方式
线程的交替打印,实际上涉及的内容是线程间的通信,下面,介绍三种线程间通信实现的交替打印方法和一种非线程间通信的实现方式。原创 2023-10-18 16:40:58 · 1200 阅读 · 0 评论 -
布隆过滤器原理浅析
熟悉Redis缓存应用的伙伴们都知道,Redis缓存存在缓存击穿、雪崩和穿透的问题,通常在解决缓存穿透问题时,除了缓存异常请求外,还有一个叫做布隆过滤器的方案。下面,我们认识下布隆过滤器。原创 2023-10-12 15:22:00 · 243 阅读 · 0 评论 -
异步任务之CompletableFuture
在实际开发过程中,难免会遇到诸如文件上传、下载等耗时且用户不需要重点关注的需求,让用户一直等待操作完成显然不是最优解决方案,这时就需要我们开启一个异步任务去处理后台任务,让用户不再等待,下面,从原始的Future接口说起,逐步深入了解CompletableFuture接口的相关特性和应用。原创 2023-10-11 15:36:34 · 220 阅读 · 0 评论 -
IDEA自定义代码快捷指令
IDEA自定义代码片段快捷指令原创 2023-10-09 14:04:38 · 468 阅读 · 0 评论 -
重试框架入门:Spring-Retry&Guava-Retry
重试框架入门:Spring-Retry和Guava-Retry原创 2023-08-09 14:22:07 · 1500 阅读 · 0 评论 -
Java集合框架知识总结
Java集合框架知识点总结原创 2023-05-04 17:04:25 · 480 阅读 · 0 评论 -
限流算法浅析
四种限流算法详解(固定窗口、滑动窗口、漏桶及令牌桶)原创 2023-04-21 14:55:53 · 686 阅读 · 0 评论 -
Redisson分布式锁
这篇文章只要介绍redisson的使用,实现了可重入锁、信号量、读写锁等常见的锁,redisson的强大不只这些,还有公平锁等实现,这篇文章主要贴近应用,如果需要看原理,还需深入学习,或者看下前文从Reentrantlock看AQS独占式锁原理Condition接口在AQS中实现的原理分析Semaphore浅析ReentrantLock的源码分析,对理解源码有些帮助。原创 2023-04-10 16:00:13 · 649 阅读 · 0 评论 -
ThreadLocal详解
ThreadLocal详解及常见问题原创 2023-03-17 15:43:53 · 1142 阅读 · 0 评论 -
如何分析sql性能
explain关键字、回表查询、索引、创建存储过程插入模拟数据原创 2023-03-07 17:14:25 · 1523 阅读 · 0 评论 -
深入浅出synchronized关键字
无论在日常工作还是面试过程中,synchronized关键字作为并发场景下的操作,是一定要掌握的,本文从synchronized的使用方式、原理及优化三个方面,对synchronized关键字作一个系统化的说明。原创 2022-12-23 15:35:55 · 403 阅读 · 0 评论 -
Redis分布式锁
redis实现分布式锁,逐步优化,图解操作原创 2022-12-21 14:51:47 · 2111 阅读 · 3 评论 -
SpringBoot中的starter:why&what&make
自定义SpringBoot Starter原创 2022-12-19 14:51:04 · 822 阅读 · 0 评论 -
Netty从入门到实战
netty从入门到实战原创 2022-11-08 16:38:50 · 3839 阅读 · 0 评论 -
chrome浏览器关闭更新弹窗
chrome浏览器关闭更新弹窗原创 2022-06-28 23:48:50 · 5804 阅读 · 8 评论 -
JVM系统化学习
jvm系统化学习原创 2022-05-31 16:11:10 · 349 阅读 · 1 评论 -
resultType和resultMap的区别
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在。注意这一点,如果在文件中定义了resultMap,然后在sql上定义返回resultType,你会发现一直返回null。在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。原创 2022-05-27 15:20:22 · 214 阅读 · 0 评论 -
AOP的解析和使用
前言AOP(面向切面编程)作为Spring框架的两大重要特征之一,无论在日常工作还是面试中出现的频率都很高,下面从作者日常工作中的应用和学习来详细解析一下AOP。一、AOP是什么?面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术,常用功能为日志记录,性能统计,安全控制,事务处理,异常处理(内容来自百度百科),通过上面我们可以了解到,AOP主要是将一些公共方法从业务方法中剥离出来,做成统一的代码块。二、AOP原理1.引入库代码如下(示例):import numpy原创 2022-05-24 10:53:20 · 1451 阅读 · 2 评论 -
SpringBoot框架的自动装配和启动原理
1、SpringBoot自动装配的原理:总结:SpringBoot启动时会通过@EnableAutoConfiguration注解下的@Import注解导入的AutoConfigurationImportSelector类的selectImports()方法通过SpringFatoriesLoader.loadFactoryNames()扫描META-INF/spring.factories配置文件中的所有自动配置类, 这个spring.factories文件也是一组一组的key=value的形式,其中原创 2022-05-08 17:15:07 · 448 阅读 · 0 评论 -
线程的死锁
文章目录前言一、什么是死锁?二、死锁是怎样产生的?三、怎样实现一个死锁?四、死锁的排查和预防?总结前言什么是死锁?死锁是怎样产生的?怎么实现一个死锁?如何解决死锁?可能我们日常工作中很少用到这些相关内容,但是随着要求越来越高,这些东西不了解是不行的,下面对死锁做一个简单的记录。一、什么是死锁?先看一下百度百科对死锁的定义:死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这.原创 2022-02-18 15:46:53 · 653 阅读 · 0 评论 -
JVM的相关知识总结
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2022-02-17 16:10:26 · 402 阅读 · 0 评论 -
Semaphore浅析
文章目录前言一、Semaphore信号量1.简介及应用2.源码分析3.常见问题二、使用步骤1.引入库2.读入数据总结前言在JUC包下,有三个控制并发的工具类Semaphore信号量、CountDownLatch倒计时器和CyclicBarrier循环栅栏,下面将通过这三个工具类的使用示例、源码分析和经典问题做一个系统性的阐述一、Semaphore信号量Semaphore通过维护许可证的数量来控制线程对共享资源的访问。如果许可证数量大于0,则线程可以访问共享资源,否则,线程不能访问共享资源。Se原创 2022-02-17 14:56:18 · 285 阅读 · 0 评论 -
ReentrantLock的源码分析
ReentrantLock的公平锁和非公平锁的具体实现及其区别原创 2022-01-19 16:14:54 · 457 阅读 · 1 评论 -
Condition接口在AQS中实现的原理分析
AQS的源码分析之Condition接口的实现原创 2022-01-18 16:17:41 · 297 阅读 · 0 评论 -
从ReentrantLock看AQS的独占式原理解析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、AQS原理1.原理概述2.数据结构3.源码分析二、使用步骤1.引入库2.读入数据总结前言Java中的大部分同步类都是基于AQS实现的。AQS是一种基于模板方法模式的线程同步框架,提供了独占式EXCLUSIVE和共享SHARED两种模式的同步模板方法。提示:以下是本篇文章正文内容,下面案例可供参考一、AQS原理1.原理概述AQS的核心思想是如果被请求资源是空闲状态,那么就将当前请求资源的线程设为有效的工作线程,原创 2022-01-14 16:38:19 · 213 阅读 · 1 评论 -
线程相关知识总结
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、线程的相关概念1、并发和并行2、线程和进程3、守护线程4、线程的状态及线程状体转换5、wait、sleep、yield和join的区别6、线程如何创建7、使用多线程带来的问题8、线程死锁的四个条件9、线程阻塞会造成进程阻塞吗10、线程间通信的几种方式二、线程池相关1、四种常用线程池2、创建线程池的方式2、线程和进程3、阻塞队列4、如何合理设置线程池的大小5、线程池如何关闭6、线程池submit和execute的区别7、线程池原创 2022-01-13 17:22:37 · 551 阅读 · 1 评论