自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL数据库insert命令执行会发送什么?

两阶段提交的核心目的是确保存储引擎的 Redo Log 和 SQL 层的 Binlog 一致。

2024-11-24 03:13:31 666 2

原创 Atomic 原子类、Synchronized、ReentrantLock的详细解析

算法,通过硬件提供的原子指令实现线程安全的更新。方法获取变量的内存偏移量,通过偏移量直接定位变量位置。CAS 的方法通常在 Java 中用。为了找到变量在内存中的位置,的方法完成内存值的更新。当多个线程竞争同一个锁时,提供,原子类通过调用。处于不同状态的对象头。

2024-11-24 02:46:51 1085

原创 JAVA八股之源码解析----ReentrantLock原理源码解析

acquire方法跟非公平锁的一样,其中只是tryAcquire方法不一样。tryAcquire(arg)方法。tryRelease 方法。

2024-11-24 01:53:06 382

原创 JAVA八股与代码实践----使用三个线程交叉打印ABC 10次

这里介绍三种方法。

2024-11-23 22:01:39 227

原创 JAVA八股与代码实践----创建线程的四种方式

通过 Java 的并发框架使用线程池来管理线程,避免直接创建。接口允许线程返回结果或抛出异常。

2024-11-23 21:44:26 183

原创 JAVA八股与代码实践----线程池的submit和execute的区别

对象,用于获取任务的执行结果或检测任务状态。

2024-11-23 21:28:37 1184

原创 JAVA八股与代码实践----如何设计一个动态线程池?简单代码示例

借鉴javaguide中的《如何设计一个动态线程池?

2024-11-23 18:43:52 344

原创 JAVA八股与代码实践----解决循环依赖

如果 Bean A 正在创建过程中(未完成初始化),但 Bean B 依赖 Bean A,可以从二级缓存中获取 Bean A 的早期引用,避免重复创建 Bean A。如果在 A 的创建过程中需要依赖 B,但 B 尚未完成初始化,就无法通过一级缓存获取。依赖方直接拿到的是一个实际的 Bean(虽然未完全初始化),因此效率比通过三级缓存获取代理更高。如果依赖链中涉及代理对象(如 AOP 或 CGLIB 代理),二级缓存无法直接提供代理对象,仍需要三级缓存介入。动态生成 Bean 的早期引用(可以是代理对象)。

2024-11-23 15:57:33 719

原创 JAVA八股与代码实践——bean的生命周期

【代码】JAVA八股之代码实践(1)——bean的生命周期。

2024-11-23 05:33:54 442

原创 JAVA八股与代码实践----JDK代理和CGLIB代理的区别

/ 目标类(实际的业务逻辑)// 自定义 InvocationHandler 实现// 被代理对象@Override// 前置逻辑// 调用目标方法// 后置逻辑。

2024-11-23 00:10:31 328

原创 JAVA八股与代码实践----接口与抽象类的区别和用法

抽象类:定义共同的特征(Cat和Dog都具有Animal的行为,所以可以定义一个Animal抽象类,包含动物的共同行为),比如以下代码。

2024-11-22 23:02:29 310

原创 JAVA八股与代码实践----如何为springboot设置Servlet容器为jetty,jetty的优点是什么?

tomcat会对每个请求都分配一个线程,而jetty不会对每个请求都分配一个线程,而是共用线程池中的线程,所以如果需要,可以设置线程池的参数。排除原来的springboot-web依赖(默认是tomcat),加入jetty的依赖。jetty适合高并发的场景、实时通信的场景。其他的都可以不用改,运行项目。

2024-11-22 02:46:44 232

原创 JAVA八股与代码实践----Mybatis中#{}和${}的区别,#{}能防止SQL注入,为什么还需要${}呢

mybatis中的${}使用示例= null">使用的是动态拼接的原理(也就是1.1的原理)加入输入sortColumn的值是id DESC;--那么最后拼接成的sql是-- DESC已经sql注入了。

2024-11-20 04:40:17 651

原创 JAVA八股与代码实践----@Autowired 和 @Resource使用方式区别

边学习边记录一下@Autowired 和 @Resource的使用方式区别@Autowired@Qualifier@Resource即 @Autowired安装类型注入,@Resource按照名称注入。

2024-11-20 03:48:10 178

原创 JAVA八股与代码实践----单例、饿汉模式、懒汉模式

延迟实例化,仅在需要时创建实例,可能会导致线程安全问题。在类加载时就创建实例,线程安全,但可能造成资源浪费。通过双重检查锁实现线程安全,同时减少了同步开销。

2024-11-20 03:28:18 294

原创 项目实践----springboot中设计基于Redisson的分布式锁注解

如何使用AOP设计一个分布式锁注解?

2024-11-19 23:11:12 546

原创 Correct the classpath of your application so that it contains compatible versions......版本不兼容解决方法

5.3.26

2024-11-19 22:55:24 1644

原创 Kafka怎么发送JAVA对象并在消费者端解析出JAVA对象--示例

消费者value的序列化器用org.apache.kafka.common.serialization.StringDeserializer即可。这里的生产者value的序列化器用org.apache.kafka.common.serialization.StringSerializer。(这里不需要自定义序列化器,但在代码需要将JAVA对象转化为JSON字符串发送)可以将 JSON 字符串解析为指定的 Java 对象类型。将 Java 对象转为 JSON 字符串。对象转化为 JSON 字符串,方法。

2024-11-19 16:53:51 2571

原创 如何删除Kafka中的数据以及删除topic

如何删除Kafka数据已经以及删除topic呢?

2024-11-19 04:10:37 1664

原创 -bash: ./kafka-topics.sh: No such file or directory--解决方案

其实就是没在该脚本所在的目录运行,使用docker安装kafka的话,该脚本一般放在Kafka安装目录中的/opt/bitnami/kafka/bin。再执行./kafka-topics.sh --version。使用./kafka-topics.sh脚本出现以下错误。

2024-11-19 03:37:59 530

原创 zookeeper is not a recognized option--解决方案

错误的原因可能是你使用的Kafka 版本是 2.8.0或以上,而集群模式是KRaft而不是Zookeeper。我在用以下命令删除topic和查看topic的时候。已成功删除topic。

2024-11-19 03:29:24 397

原创 使用可视化工具kafkatool连接docker的kafka集群,查看消息内容和offset

选择想查看的topic,点击Properties,设置为String格式,点击Update即可。Bootstrap servers可以输入单个节点,也可以输入一个集群,点击ping。下载完,傻瓜安装即可(建议放D盘),在开始菜单输入offset找到该应用打开。点击其中一个消费者->Offsets,可以查看该消费者上一次提交的offset。点击Data->绿色按钮,可以看到每一个消息的offset和value。,下载对应系统的offset explorer。点击Test,监听成功,点击是。

2024-11-18 01:02:12 2269

原创 项目实践----Spring Boot整合Kafka,实现单条消费和批量消费

如果在BatchConsumer.java和SingleConsumer.java中设置autoStartup = "true",Kafka会随机选择消费者组里的一个消费者进行消费,所有可以会导致其中一个消费者没有消费信息。在SingleConsumer.java中设置autoStartup = "true",启动KafkaProducer.java。在BatchConsumer.java中设置autoStartup = "true",启动KafkaProducer.java。Kafka监听器配置。

2024-11-17 02:22:55 3316 1

原创 解决OpenJDK 64-Bit Server VM warning: ......Error detail: committing reserved memory.....

cpu和内存的利用率都没有达到极限,但我三个容器启动已经达到3G,可能已经达到了分配的内存+交换内存的极限,有可能是虚拟机运行内存分配不够的原因,使得剩余的内存无法再创建一个实例。然后把内存大小拉到2G或者3G都可以,绿色箭头是我原本是设置,然后点击确定。可以看出,运行内存明显不足了,那么就需要给虚拟机增加可运行内存了。使用以下命令,查看docker中启动的实例内存运行情况。在VMwave界面,右键该运行的虚拟机,点击设置。出现以下图片信息,可以看出是内存不足的原因。使用以下命令,查看虚拟机内存使用情况。

2024-11-16 13:25:46 628

原创 项目实践----docker搭载Kafka集群,一个文件搞定,超简单,亲试可行

这里的docker是搭载在虚拟机centos7中的。

2024-11-16 04:06:22 567

原创 项目实践----Spring Boot中使用AOP和反射机制设计一个基于redis的幂等注解,简单易懂教程

由于对于一些非查询操作,有时候需要保证该操作是幂等的,该帖子设计幂等注解的原理是使用AOP和反射机制获取方法的类、方法和参数,然后拼接形成一个幂等键,当下一次有重复操作过来的时候,判断该幂等键是否存放,如果存在则为”重复操作“,不继续执行;如果不存在,则为”第一次操作“,可以执行。javaer可以在自己的项目中,加入这个点,增加项目的亮点。

2024-11-16 00:35:54 928

原创 项目实践----Spring Boot中使用AOP和反射机制设计一个的幂等注解(两种持久化模式),简单易懂教程

该帖子介绍如何设计利用AOP设计幂等注解,且可设置两种持久化模式1、普通模式:基于redis的幂等注解,持久化程度较低2、增强模式:基于数据库(MySQL)的幂等注解,持久化程度高由于对于一些非查询操作,有时候需要保证该操作是幂等的,该帖子设计幂等注解的原理是使用AOP和反射机制获取方法的类、方法和参数,然后拼接形成一个幂等键,当下一次有重复操作过来的时候,判断该幂等键是否存放,如果存在则为”重复操作“,不继续执行;如果不存在,则为”第一次操作“,可以执行。

2024-11-16 00:01:16 1226

原创 项目实践----SpringBoot中使用ShardingSphere实现MySQL一主二从读写分离

博主踩坑花费许久,现在做一个记录吧。

2024-11-15 20:36:52 754

原创 使用FileZilla连接centos7,实现主机与centos7的文件传输——教程

客户端官网下载地址:https://filezilla-project.org/download.php?可以直接点击左边主机中的文件,会传输到右边的文件夹中;也可以直接拉动左边的文件到右边文件夹中,文件夹也可以整个传输。用户名登录你自己创建过的用户名和密码即可,这里我登录root,密码123456。这里需要输入centos7的ip,用户名,密码,端口(一般为22)桌面有一个FileZilla的图标,点击打开。安装FileZilla。下一步,下载免费版即可。如果未显示ip,参考。

2024-11-15 01:55:58 536

原创 使用MobaXterm连接虚拟机Centos7,实现简便复制粘贴---教程

由于在centos7自带的命令行输入有点难受,复制命令啥的,都很麻烦,所以这里推荐使用MobaXterm工具连接centos7,更适合命令和文本内容的复制粘贴首先需要创建centos7,使用VMware创建Centos7的教程不少,可以参考。

2024-11-15 01:18:59 1238

原创 项目实践----Spring Boot项目中加入布隆过滤器

本文以xx点评为例,使用redisson实现布隆过滤器。

2024-11-14 18:45:40 1104

原创 Error response from daemon: Get “https://registry-1.docker.io/v2/“.....解决方法

在centos7中拉取mysql镜像的时候出现博主尝试很多方法,但是都没有用,最后借鉴了。

2024-11-14 17:13:39 5583 3

原创 项目实践----centos7中使用docker搭载mysql (8.4+版本)主从模式

由于mysql 8.4版本以上的一些命令与8.0之前的版本不一样,本人踩坑许久,现在整理出来部分借鉴自。

2024-11-14 01:29:34 852

原创 SHOW MASTER STATUS;ERROR 1064 (42000): You have an error in your SQL syntax; check the manua.

检测mysql的版本,如果mysql版本大于8.4,则要使用。在搭载MySQL主从复制的时候出现。

2024-11-13 22:38:19 581 2

空空如也

空空如也

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

TA关注的人

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