
Java
文章平均质量分 69
java开发中的一些技巧
码哥说
路漫漫其修远兮
展开
-
两个对象List根据属性取交集和差集及并集- 通用plus版
,发现很多小伙伴都有类似的需求, 刚好最近码哥有空了,就着手把之前的简陋方法封装下, 让它更通用些~比对方式可自己定义, 比如多个属性的比对, 老规矩, 给需要的伙伴一个简单的示例, 自行调整。原创 2023-08-31 15:04:22 · 1320 阅读 · 0 评论 -
一分钟,教你如何迅速定位OOM
如何迅速定位OOM某Java服务(假设PID=10765)出现了OOM,如何快速定位?OOM常见原因分析Java服务出现OOM,最常见的原因是:内存确实分配过小,内存确实不够用;某一个对象被频繁申请,却没有释放,内存不断泄漏,导致内存耗尽;某一个资源被频繁申请,系统资源耗尽,例如:不断创建线程,不断发起网络连接;更具体的,可以按照以下步骤,使用以下工具排查。OOM定位指南确认是不是内存本身就分配过小方法: jmap -heap 10765如上图,可以查原创 2020-07-01 10:16:00 · 1715 阅读 · 0 评论 -
暗藏杀机? 不简单的三目运算符号!
最近,在一个业务改造中,使用三目运算符重构了业务代码,没想到测试的时候竟然发生 NPE (Null Pointer Exception)的问题。重构代码非常简单,代码如下:// 方法返回参数类型为 Integer// private Integer code;SimpleObj simpleObj = new SimpleObj();// 其他业务逻辑if (simpleO原创 2020-06-03 11:06:33 · 409 阅读 · 0 评论 -
IP 如何存储?
前几天,一个朋友去面试,他回来告诉我,面试官问他: IP 地址是怎么存在数据库的?他当时也没多想,直接就回答: 存字符串啊心想:这么简单的问题,怕不是看不起我吧IP地址 本来就是一个字符串,存放在数据库作为字符穿类型,也是无可厚非的。但是,换位思考,站在面试官的角度,你觉得我会问这么一个低级的问题么?那么答案当然是否定的。所以,面试官想知道的是你对这个问题会不会有深度思考,从此来一定程度的判断你在平常的开发中只是一个单纯的 “搬砖” 的码农,还是一个有灵魂的 Coder 。序言针对这个问题原创 2020-06-03 11:04:18 · 2536 阅读 · 0 评论 -
几段代码,带你理解RPC
RPCRPC 远程过程调用可以说是分布式系统的基础,本文将通过 Java 演示一次普通的 rpc 调用到底发生了什么。咸鱼君曾经在网上看到有人提问,为什么 RPC 要叫作远程过程调用,而不叫作 RMC 远程方法调用。但咸鱼君为 RPC 的叫法才是合理的,远程调用的是某个过程,不一定是一个具体的方法。(你只要看过后面第一个版本的代码就能懂了)这整个过程可以用一句话概括:机器 A 通过网络与机器B建立连接,A 发送一些参数给 B,B 执行某个过程,并把结果返回给 A。在写代码之前,先说一个前置背景,原创 2020-05-28 10:32:41 · 319 阅读 · 0 评论 -
两个对象List根据属性取交集和差集
背景介绍咸鱼君最近做了个需求, excel导入功能,其中需要对已导入条目的做“更新”未导入的条目做“新增”其余的做“删除”细品需求无非是对excel的数据和数据库的数组做个差集, 交集的处理打个比方:excel的数据我们定义为 newList已导入的数据我们定义为 existList那么newList 和 existList 的交集 就是 更新的数据newList - existList 的差集 就是 新增的数据existL原创 2020-05-16 11:07:13 · 13403 阅读 · 9 评论