饭一碗
码龄5年
  • 3,687,054
    被访问
  • 209
    原创
  • 1,665,533
    排名
  • 1,214
    粉丝
  • 33
    铁粉
关注
提问 私信

个人简介:Java工程师

  • 加入CSDN时间: 2017-03-31
博客简介:

分享传递价值

博客描述:
一个健全的心态比一百种智慧都有力量!
查看详细资料
个人成就
  • 博客专家认证
  • 获得1,691次点赞
  • 内容获得705次评论
  • 获得4,908次收藏
创作历程
  • 2篇
    2021年
  • 11篇
    2020年
  • 25篇
    2019年
  • 152篇
    2018年
  • 51篇
    2017年
成就勋章
TA的专栏
  • Java编程之路
    119篇
  • Zookeeper教程
    4篇
  • Redis进阶
    6篇
  • Intellij idea使用教程
    36篇
  • Elastic Search入门到实践
    12篇
  • Java
    107篇
  • Intellij IDEA
    36篇
  • Mysql
    20篇
  • 数据库
    5篇
  • Linux
    16篇
  • redis
    7篇
  • Hadoop
    3篇
  • 设计模式
    4篇
  • 多线程与并发库高级应用
    8篇
  • SpringCloud微服务
    13篇
  • mybaits
    4篇
  • jquery
    3篇
  • 其它
    11篇
  • Zookeeper
    4篇
  • nginx
    2篇
  • elastic search
    12篇
个人相关

友情链接


张开涛老师的博客
happydeer的博客
维C果糖的博客
微笑很纯洁的博客
海子的博客
若鱼1919的博客
五月仓颉的博客
丑胖侠的博客
梁桂钊的博客
小柒的博客
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

(转)深拷贝与浅拷贝详解

1.拷贝的引入(1)引用拷贝创建一个指向对象的引用变量的拷贝。例1:
转载
发布博客 2021.05.29 ·
244 阅读 ·
0 点赞 ·
0 评论

接口幂等性设计的简单思考

幂等性场景接口重试:服务A调用服务B,B由于某些原因未在指定时间内返回响应,出于容错性考虑服务A进行多次重试,服务B接口未做幂等性设置,影响业务数据; 表单重复提交:用户注册接口,用户很激动,瞬时点击多次造成表单重复提交,造成同一用户注册多次; 请求重发:网络抖动引发的nginx重发请求,造成重复调用; 消息重复消费:例如kafka的"再均衡"造成消息重复消费,影响业务数据;幂等性含义从数学的角度来看,幂等性表示为f(f(x))=f(x),即x经过同一函数多次计算和一次计算的效果相同,从程序
原创
发布博客 2021.02.23 ·
425 阅读 ·
3 点赞 ·
0 评论

解决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 ·
6631 阅读 ·
1 点赞 ·
0 评论

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

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

Mysq limit深度分页解决方案

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

CopyOnWriteArrayLis简单使用

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

优雅的替换if-else语句

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

RestTemplate调用post方式接口

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

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

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

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

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

CAS原理详解

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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