3 饭一碗

尚未进行身份认证

我要认证

Java工程师

等级
TA的排名 2k+

解决Kafka消费端错误:o.s.kafka.listener.LoggingErrorHandler : Error while processing: null

简单记录下使用kafka遇到的问题,万一也会有小伙伴遇到了呢。程序端使用springboot服务消费kafka,某天出现消息大量堆积,经过定位到错误日志如下:2020-05-12 10:22:36.500 ERROR 5171 --- [org.springframework.kafka.KafkaListenerEndpointContainer#0-0-C-1] o.s.kafka.listener.LoggingErrorHandler : Error while processing:

2020-05-12 12:06:41

【转】重写equals方法和hashcode方法那些事

重要声明:本文内容转载自知乎:看似简单的hashCode和equals面试题,竟然有这么多坑!单纯觉得写得好,所以转载。如有侵权,请联系删除。hashCode()方法和equals()区别与联系这到面试题,看似简单,根据以往面试星友的情况来说,绝大部分人都不能很好的回答出来,要么没有逻辑,想到一句就说一句,要么抓不住重点,答非所问。从这个很小的面试题上我们就可以看出来,对于任何一个面试题来说,...

2020-04-23 22:19:15

Mysq limit深度分页的简单解决方案

有个机构基本信息表,数据量200多万,使用select * fromorg_basic_info limit2016582,100查询耗时10s,表结构如下:普通的limit m,n,m表示偏移量,n表示返回条数,当m偏移量很大时,就需要扫描过多的表数据,例如limit1000000,100,查询就需要扫描1000100条,然后舍弃掉不符合条件的前1000000条,效率自然也就低了。...

2020-04-23 17:50:02

CopyOnWriteArrayLis简单使用

背景Collections.synchronizedList()、Vector虽然线程安全,但是使用的synchronized锁实现,锁粒度较粗,且迭代时候不允许修改,否则会抛出异常,鉴于这种情况,java.util.concurrent包下提供了CopyOnWriteArrayList、CopyOnWriteSet一类的并发集合,本文以CopyOnWriteArrayList为例,简单聊聊这...

2020-03-24 18:11:23

优雅的替换if-else语句

场景日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段:优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

2020-03-18 23:09:30

RestTemplate调用post方式接口

场景~我的服务是应用层,要调用其它项目组的搜索接口,接口访问方式是HTTP POST,搜索接口中用了@RequestBody注解修饰入参,希望接收到的参数格式为:按照正常思路,噌噌噌的写了如下代码:HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_JSON_U...

2020-03-18 22:03:26

mysql中将时间戳转换为指定日期格式from_unixtime

场景给某客户用的POC数据落地在我司的测试环境,有程序拉取数据解析后落地到mysql中,再导出excel给客户,由于数据量不大且是测试环境,故没有开发专门的导出接口,而是Navicat中进行select查询再导出结果集,其中有个"发布时间"、"创建时间"等时间字段都是存的13位时间戳格式,用bigint字段类型存储的,需要将这个13位时间戳转换成"yyyy-MM-dd HH:mm:ss"格式显...

2020-03-18 21:21:16

Java中的共享锁和排他锁(以读写锁ReentrantReadWriteLock为例)

重要声明:本人之前对java中的读写锁也不是非常了解,用的也不是很多,尤其在读写锁的策略原理一块没有深究过,本篇文章是在学习【玩转Java并发工具,精通JUC,成为并发多面手】课程后写的,故文章类型选择为"转载",因为本文的很多结论都是来自于那门课程,请知悉~。希望对各位同仁有帮助~读写锁的基本使用在【ReentrantLock锁详解】一文中讲到了java中锁的划分,本篇主要讲述共享锁和...

2020-02-14 16:11:41

CAS原理详解

本文包含知识点CAS是什么? CAS应用场景及原理 CAS的不足1.CAS是什么?CAS是Compare And Swap的缩写,比较并更新,是非阻塞同步的实现原理,它是CPU硬件层面的一种指令,从CPU层面能保证"比较并更新"两个操作的原子性。CAS指令操作包括三个参数:内存值(内存地址值)V、预期值A、新值B,当CAS指令执行时,当且仅当预期值A和内存值V相同时,才更新内存值...

2020-02-12 22:46:20

ThreadLocal类(线程本地存储)详解

本文包含知识点ThreadLocal是什么? ThreadLocal使用场景 ThreadLocal的具体使用 ThreadLocal注意事项1.ThreadLocal是什么?从广义上来说实现线程安全的方式包括:互斥同步、非阻塞同步、无同步方案三种,ThreadLocal就属于无同步方案中的一种。ThreadLocal被称为线程本地存储,顾名思义就将共享的数据存储到每个线程本...

2020-02-11 13:07:09

记录一次pre环境OOM异常解决过程

问题发现部署在客户机器上的程序经常发生OOM异常:java.lang.OutOfMemoryError: GC overhead limit exceeded。初步排查1、系统本身代码问题;2、系统大量调用了第三方接口http超时或者被第三方服务超量调用;3、机器问题;这个程序的主要作用就是拉取kafka里的消息落地到mysql,外加两个kafka消息写入及堆积的监控接口,不涉及到被其...

2020-01-10 14:04:06

面试时如何做自我介绍?聪明的应聘者只聚焦1点

最近帮其它项目组同事面试了几位java后端开发人员,发现他们刚开始的自我介绍一段都非常的不理想,扯了半天完全没有主次重点,然后想起之前收藏的这篇文章,觉得很有必要分享给在或即将踏上求职路上的你。重要声明:本文转自微信公众号:Yangongzi2015自我介绍通常是面试过程中的第一个问题,它非常关键,直接影响了面试官对你的第一印象。那么,自我介绍时,面试官到底想要听什么?容易犯哪几个误区...

2019-11-06 22:52:13

记录一次线上mysql事务隔离级别引发的思考

场景:我们公司在客户方(某证券公司)部署了几套程序,用来监听客户方内网kafka消息(kafka消息是我们公司写入的),一旦监听到消息便即时消费写入到相关的表中(一个主表及6个子表),然后客户部门再同步数据给他们的下游业务部门使用。某天客户来电说:"需要主表增加一个字段,用来存储与其相关联的子表数据,拼成一个json格式存储在主表字段中",原因是下游部门在使用数据的时候发现:比如,某个时刻A主表...

2019-10-20 16:17:18

intellij idea左侧project导航栏设置背景色

点击这里查看 <intellij idea使用教程汇总篇>引言:最近几天眼睛莫名的很疼,买了两瓶进口的眼药水,有点效果,虽然将idea的代码编辑区背景色设置成了苹果色"#CCE8CF",但是左侧project栏目导航栏还是白色的,一直设置无果,强迫症犯了,折腾了一会搞定。(今天还把我的Chrome安装了“眼睛护航”插件,"神经质"犯病了),最终效果如图(控制台、代码编辑区、左侧pr...

2019-07-30 10:43:31

Chrome浏览器解决插件安装"CRX-INVALID-HEAD"问题

今天安装在Chrome浏览器上面安装插件时,直接将下载好的插件拖入到浏览器的插件页面,发现出现“CRX-INVALID-HEAD"问题,一小番折腾后搞定,记录下解决方案:1、将下载好后的“×××.crx”的扩展程序直接修改后缀为.zip,变成“×××.zip”;2、将"×××.zip”文件解压,我这里用的是WinRAR解压,解压后得到如下:3、打开Chrome浏览器的扩展程序页...

2019-07-30 10:20:24

java实现文件打包压缩下载接口(附上可实际运行的代码)

最近在写项目接口,涉及到文件下载、打包压缩下载,单个文件下载还是比较简单的,多文件下载涉及到打包和压缩知识,之前也没做过,写篇博客做个简单的记录一下。闲言少叙,上代码:如下代码是精简过后的测试代码,亲测可实际使用:/** * @author simons.fan * @version 1.0 * @date 2019/7/9 * @description 文件下载controll...

2019-07-10 16:31:08

SpringMvc中返回json时对象属性为空也要返回key

场景: 最近在写接口时候,正常使用@RestController返回json串,发现当返回的对象里的属性值为空字符串或者null时候,json返回里就会自动去除这个key,啥意思呢?举个"栗子":/** * 商品评论、回复、点赞【查询】接口 * * @param goodsId * @param userId * @param currenP...

2019-07-08 11:16:23

记录一次mysql导入导出数据过程

本文包含知识点:1、mysql数据库给大表增加字段;2、mysql表分区;3、linux排查磁盘空间;4、linux中的mysql导入导出数据;环境:centos7.4 + mysql5.7.24事件原由:线上版本迭代的过程中,根据新需求需要对表进行增减字段、重新分区,表数据达到一定量(600W左右),占用磁盘100多G,表结构如下:CREATE TABLE `ne...

2019-06-12 11:00:45

项目中常用的19条MySQL优化(转载)

重要声明: 本文转自https://segmentfault.com/a/1190000012155267一、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别 key列,使用到的索引名。如果没有选...

2019-05-09 20:22:13

不就是个短信登录API嘛,有这么复杂吗?(转载)

重要声明: 本篇文章转载自公众号ThoughtWorks洞见(ID:TW-Insights),个人觉得文章分析问题的思路还行,如有侵权,请联系删除,谢谢。上联:这个需求很简单,下联:怎么实现我不管,横批:今晚上线暴力破解上开完站会,小李领了张新卡,要对登录功能做升级改造,在原来只支持用户名密码登录模式的基础上,新增手机号和短信验证码登录。业务分析师薇薇早就准备好了故事...

2019-05-09 20:03:56

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。