自定义博客皮肤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)
  • 收藏
  • 关注

原创 图解JDK1.7中HashMap头插法扩容造成的死循环问题

假设有两个线程同时扩容,都需要数据迁移,线程A和B都执行到了。线程B分到了时间分片,继续执行。如图所示,已经形成了死循环。先来看一下扩容的源码。

2024-04-22 20:15:26 299

原创 Spring之深入解析AOP

获取拦截器链,把通知增强器对象(MethodBeforeAdvice、AfterReturningAdvice、ThrowsAdvice)包装成了拦截器,其中。在解析XML时,如果是环绕通知、后置通知、异常通知,注册的通知增强器对象,直接实现了MethodInterceptor接口。,因为目标类有多个方法,所以在执行方法时,判断当前执行的方法是否是切入点,如果是切入点,则执行拦截器的。在【目标对象】中定位【切入点】,【织入】对应的【通知】,就变成了【代理对象】参数传进去,所以在调用方法时,会执行。

2024-03-11 23:18:42 879 1

原创 RocketMQ—消费者

通过负载均衡算法为当前消费者分配了新的消息队列之后,需要更新新分配的消息队列MessageQueue和处理队列ProcessQueue的关系。如果锁定失败,表示新增消息队列失败,这个队列可能还再被其他消费者消费,那么本次重平衡就不再消费该队列。这就涉及到如何将多个消息队列分配给等多个消费者的问题。来专门处理多个消息队列和消费者的对应关系,并且提供了多个不同的消费者负载均衡策略,即如何分配消息队列给这些消费者。集合中,后续异步的消费,自动执行拉取消息的请求,这就是Push模式下最初的拉消息请求的来源。

2023-11-12 20:43:00 234 1

原创 Java17的踩坑点

模块化,模块系统将 Java 分成了若干个可以独立部署和运行的模块,使得 Java 应用可以更快地启动并更好地利用硬件资源。但在 java 模块化之后,有些内部类不能被访问了,在运行时报错。比如我在使用 DTS 的 sdk 时候,报如下错误,导致不能启动。如果是在 idea 启动程序,在 vm options 添加参数。解决方法,在运行程序的命令加上参数。如果是命令行启动程序,

2023-06-10 10:51:04 492 1

原创 Maven:relativePath标签

relativePath</code>允许你选择一个不同的位置,Maven首先在当前构建项目的反应器中查找父pom,然后在此位置查找。签出中父<code>pom.xml</code>文件的相对路径。并且必须与给定位置中的文件匹配,否则它将返回到POM的存储库。默认值为<code>…/pom.xml

2023-05-22 14:13:40 327 1

原创 Collectors.toMap方法

如果其中一个 value 为 null,toMap 方法就会报 NullPointerException 错误,运行以下代码就会报错。可以将 List 转换成 Map,toMap 有三个重载方法。会要求 value 不为 null,否则也是报 NPE 异常。方法,如果 value 为 null,直接报 NPE 异常。重载方法二调用重载方法三,所以直接看重载方法三。,会要求 value 不为 null。方法,传入了key 和 value。参数,也是一个函数式接口,调用。

2023-03-06 21:26:05 411

原创 System.getProperties()和System.getenv()的应用

vm option : jvm参数Program arguments : 程序参数(空格分隔),main 方法的 args 参数Environment variables : 环境变量在程序启动时会执行} }方法是通过来获取系统属性方法是通过来获取环境变量,包括在 Environment variables 中自定义的变量} }

2023-03-01 21:59:46 186

原创 缓存淘汰——LRU和LFU算法

LRU和LFU算法

2022-12-07 22:33:26 313

原创 MyBatis一级和二级缓存

Mybatis缓存

2022-12-03 20:50:42 225

原创 Spring循环依赖问题

Spring中单例Bean实例创建的三个步骤:创建对象,createBeanInstance填充属性,populateBean初始化操作(调用初始化方法),initializeBean。

2022-11-13 22:17:29 39

原创 把java项目打包成docker镜像

原文链接:https://blog.csdn.net/u013768867/article/details/103715437。docker run -itd --name test -p : test:v1.0。4、把 test.jar 包和 dockerfile 放在 linux 服务器的同一个目录中。3、创建 dockerfile 文件,文件名为 dockerfile,没有扩展名。1、把服务打包成jar包,这里是 test.jar。5、构建docker镜像。

2022-11-12 22:15:24 229

空空如也

空空如也

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

TA关注的人

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