- 博客(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八股与代码实践----解决循环依赖
如果 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八股与代码实践----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
原创 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
原创 -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
原创 项目实践----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
原创 使用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
原创 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关注的人