自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

andorid通讯录,基础练手app。 包括: 1.Android中的布局管理及资源文件的使用 2.Android中的ListView及ExpandableListView高级控件的使用 3.PopupWindow高级控件的使用技巧 4.Android中的UI设计及Menu\Dialog\ContextMenu等控件的高级应用 5.Android中调用系统自带的API实现打电话、发短信、Email及拍照功能 6.通讯录数据库设计的技巧及注意事项 7.SQLite数据库的应用 8.Activtiy+Intent的使用及注意事项 9.Android中的定时提醒及Service的运用 10. MVC框架的搭建及运用 11.Android自带手机通讯录数据库分析 12.导入导出通讯录 13.通讯录的备份与还原 买教学视频花了好多大洋的……做好了代码分享跟大家学习下吧~

2014-02-26

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

TA关注的人

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