- 博客(20)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 MYSQL间隙锁导致的死锁
等待获取space id 26 page no 4 n bits 80位置处的插入意向锁“lock_mode X locks gap before rec insert intention waiting”。代码写出这个情况,容易误判处在于“update语句表面上走的主键,看似只会锁对应的一条数据。但是在没有命中的情况下,其实去获取了那个对应区间段的整个间隙锁。这段逻辑常常出现在大批量同步数据的应用中。所以有的人会写这段逻辑:先尝试修改,修改没有命中。但是这段逻辑在并发执行的过程中很容易产生死锁。
2024-11-21 11:18:29
382
原创 JAVA批量操作MYSQL数据的细节
java通过jdbc批量add,update,delete数据其实是在使用jdbc的batch相关的API。但是底层怎么实现的?
2024-11-20 11:17:57
1168
原创 Docker pull 拉不到镜像的简单解决方法
但是公司配置的仓库拉取不到,自己找一个能拉到的仓库:docker.1panel.live,在pull的时候加上这个仓库的地址,注意没有http前缀。因为镜像的唯一标识符其实是imageId,tag只是方便人阅读而已。我要拉取zendesk/maxwell镜像,本来image是:zendesk/maxwell:latest。注意下载到本地的镜像的名称是带了额外的仓库前缀的,因为镜像的名称就是(repository+tag)。此时再输入docker images查看,新的名称已经有了。就只剩下一个名字了。
2024-11-14 17:09:13
428
原创 Java线程的异常处理
所以一个线程就算是异常结束了,产生的异常也会被封装在Future里,只有在调用Future.get方法时才会抛出。如果此时我们的代码写的不好导致异常信息没有被正确的记录,那么整个异常信息就会直接被吞掉,无法知道发生了什么。当一个线程因为抛出异常,结束整个run方法时,结束整个thread生命周期时,JVM会在控制台打印异常信息。事实上在真实的java应用中,我们几乎很少会单独起一个线程做什么事儿,都是启动一个线程池。可以发现此时输出的就不再时JVM原本输出的异常栈信息,而是我们定制的信息。
2024-10-26 17:22:57
528
原创 kafka broker关键参数配置
如果要使用一套ZooKeeper环境管理多套Kafka集群,那么设置该参数的时候就必须指定ZooKeeper的chroot,比如zk1:2181,zk2:2181,zk3:2181/kafka_cluster1。结尾的/kafka_cluster1就是chroot,它是可选的配置,如果不指定则默认使用ZooKeeper的根路径。kafka里数据文件也交log,log.dirs是存放数据的目录。[[协议]]://[主机名]:[端口]] 逗号分隔可以多个。如果硬盘充足,可以多个磁盘的目录,增加写入速度。
2024-10-22 09:34:05
383
原创 kafka producer关键参数配置
前一批发送的消息broker响应之后,才能发送下一批。kafka 发送消息调用的send方法底层其实是将消息放入了缓冲区,然后是一个单独的线程负责从缓冲区将消息按topic&paritition纬度打包成批次消息,再发送到服务端broker。重试的最大间隔,如果retry.backoff.ms设置的比retry.backoff.max.ms还大,那么每次重试的间隔永远恒定用retry.backoff.max.ms。保证单个producer发送的消息到单个topic单个partition的消息是幂等的。
2024-09-29 14:45:34
852
原创 spring-kafka消费消息后的提交方式
其实这个检查提交的动作任然是用调用poll的线程去做的。如果是批量消费的listener:那么此时实际的效果就是spring一次性帮我们poll n条消息回来,我们处理完,listener方法返回时,spring触发commit。单条消费的listener:因为单条消费的逻辑在每次处理完每条消息后都有对应的尝试提交的动作,此时如果达到了时间阈值就会提交。单条消费的listener&批量消费的listener此时的逻辑都是一样的,spring帮我们缓存offset的信息,下次poll之前一起提交。
2024-09-11 15:06:50
1252
1
转载 BufferedInputStream如何缓冲IO以及InputStream中的read(byte[] b) 是否具有缓冲功能?
今天做IO练习的时候,注意到了File
2014-01-18 16:55:09
3336
1
原创 Hibernate知识要点复习(2) 一对一双向关联(注解)及 关联中各种注释的作用
建立实体域对象。丈夫和妻子package org.yyf.hibernateexample.domain.onetoone.twoway;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persi
2013-12-13 09:14:03
133
原创 Hibernate知识要点复习(2) 一对一双向关联(注解)及 关联中各种注释的作用
建立实体域对象。丈夫和妻子package org.yyf.hibernateexample.domain.onetoone.twoway;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persi
2013-12-12 22:06:55
150
原创 Hibernate知识要点复习(2) 一对一双向关联(注解)及 关联中各种注释的作用
建立实体域对象。丈夫和妻子package org.yyf.hibernateexample.domain.onetoone.twoway;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persist
2013-12-12 21:51:20
162
原创 Hibernate知识要点复习-基本环境搭建(1)
决定系统的整理下HIbernate的各方面知识。先重新搭建一次纯Hibernate的架子。 1.hibernate基本配置文件hibernate.cfg.xml,用于配置SessionFactory相关配置。 <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configura
2013-12-12 21:42:07
929
1
原创 java String 笔试题
1.将一个给定的字符串如 “I am a GOOD People" 的每个单词首字母大写,其它小写,并去掉空格。/** * @author donye * */public class CapitalTester { public static String capitalEachWord(String source){ if (source==null||source.eq
2013-10-29 14:41:26
169
原创 检查链表是否有环
public class LinkCircleChecker { public static class Node{ //直观起见,设置为public public int value; public Node next; public Node(int value, Node next) { this.value = value; this.next = next;
2013-10-14 12:12:31
1090
原创 java实现单链表反转,2种方式
/** * @author donye * 反转链表的关键就是反转一个节点之后不能丢失后面节点的指针。 * 递归是从最后向前依次反转 * 而用while循环则用临时变量来保存相关信息 */public class LinkReverseTester { public static class Node{ //直观起见,设置为public public int value
2013-10-14 10:02:50
2171
转载 Spring Annotation 备忘
(1) 、 该配置隐式注册了多个对注解进行解析的处理器,如: AutowiredAnnotationBeanPostProcessor CommonAnnotationBeanPostProcessor PersistenceAnnotationBeanPostProcessor RequiredAnnotationBeanPostProcessor
2013-04-26 17:26:11
684
转载 LOG配置备忘
一、Log4j简介Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。1、LoggersLoggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、
2013-04-19 09:18:12
662
转载 JDBC连接备忘
oracle driverClass:oracle.jdbc.driver.OracleDriver url:jdbc:oracle:thin:@127.0.0.1:1521:dbnamemysql driverClass:com.mysql.jdbc.Driver PS:有的时候,mysql的驱动类也也会看到使用org.gjt.mm.mysql.Dri
2013-04-18 17:07:59
664
转载 hibernate配置备忘
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
2013-04-18 16:14:02
784
转载 spring配置备忘
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:cache="http://www.sprin
2013-03-21 11:45:38
661
andorid通讯录,基础练手app
2014-02-26
有没有IDE可以让我看见一个类中所有的方法?
2013-03-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人