
Java
文章平均质量分 93
一行Java
这个作者很懒,什么都没留下…
展开
-
阿里为何禁止在对象中使用基本数据类型
前两天,因为一个接口的参数问题,和一位前端工程师产生了一些分歧,需求很简单:根据一个数值类型(type 取值范围1,2,3)来查询数据,如果没这个值,就是查询所有的数据;这个需求很常见吧!但是在""的问题上,想法不太一样:我定义的规范是,没值的话,那就不传这个type,我后端拿到的就是null,在MyBatis的配置里面,通过if标签,就直接根据type判空,就变成了查询所有:原创 2022-10-31 22:24:09 · 3491 阅读 · 0 评论 -
Redis 只会用缓存?20种妙用让同事直呼牛X
详细讲解Redis的20种妙用,了解除了缓存之外,Redis的其他使用场景以及特殊用处...原创 2022-08-10 15:05:46 · 1587 阅读 · 1 评论 -
树形结构,别再用递归实现了,这才是最优的方案;更快、更强、更实用
详解了树形结构的父子关系方案、先序树方案的实现方式以及优缺点原创 2022-05-23 13:06:00 · 4258 阅读 · 4 评论 -
全网显示的 IP 归属地,带你5分钟加上,就这么简单
基于 GeoLite2 免费离线库 + 多个在线免费 IP 解析接口,轻松实现IP归属地功能原创 2022-05-17 15:44:17 · 1981 阅读 · 1 评论 -
掌握这30个 IDEA 的 Debug 小技巧,开发、改Bug速度快10倍
GIF动图的方式详解 IDEA 高效的Debug 技巧,掌握之后,能让你的开发调试效率提升数个台阶原创 2022-05-17 15:29:47 · 2310 阅读 · 0 评论 -
为什么 HashMap 要用 h^(h >>>16) 计算hash值?槽位数必须是 2^n?
大家好,我是一航!昨天中午,一位粉丝朋友在微信私信我,问:为啥HashMap的hash值计算格式是这样:(h = key.hashCode()) ^ (h >>> 16)?h ^ (h >>> 16)是什么意思?以下是Java8中HashMap计算key对应hash的源码:static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode().原创 2022-04-25 09:35:52 · 5150 阅读 · 8 评论 -
SpringBoot Jackson序列化解决JS精度丢失问题的三种办法
大家好,我是一航!昨天下午,有伙伴儿在群里面问了下面这么个问题:数据库用bigint存储了记录的ID,Java代码用Long类型映射记录对应ID的值;前端调用SpringBoot的接口获取数据,后端debug时Long型ID能正常取到值,但是返回到前端之后,ID后半段被“偷”了,查询id为1、2、3的时候又是正常的;数据如下:两值对比:后端的值:1508733541883731970前端的值:1508733541883732000很明显,出精度问题了,但是不了解细节的时候,很容易一脸懵.原创 2022-03-30 21:30:54 · 3448 阅读 · 0 评论 -
一行正则表达式跑一天,正则回溯问题害人不浅
正则表达式虽然能帮我们快速做匹配,但是不当的适应,回溯问题的疏忽,可能造成匹配效率低,服务器资源高消耗,使得代码性能大大降低。原创 2022-03-24 17:59:30 · 1706 阅读 · 0 评论 -
JDK 7(Java SE Development Kit)全平台全版本安装包免费下载
JDK 7 由 Oracle 公司于 2011 年 7 月 28 日发布;JDK7 相比之前版本,主要有以下几方面的变化:对集合类的语言支持;自动资源管理;改进的通用实例创建类型推断;数字字面量下划线支持;switch 中使用 string;二进制字面量;简化可变参数方法调用。Oracle JDK 7u80下载安装平台下载地址密码Windows x64 64位jdk-7u80-windows-x64点击查看Windows x86 32位jdk-7.转载 2022-02-27 17:33:50 · 27797 阅读 · 4 评论 -
XShell收费?5款免费且超赞的SSH工具,一个比一个香
大家好,我是一航!SSH客户端是后端程序员日常工作必备的工具之一,一款趁手的工具也能让工作效率事半功倍;上周的时候,有小伙伴在群里面求免费的SSH软件;说来也坑,公司不允许使用PJ版的,但是又不愿意给他们买付费软件,所以只能自己去找开源免费的工具来使用;对于朋友们的这种需求,我向来都是有求必应,马上安排;今天就来分享一下我用过的几款免费、开源且好用的SSH软件;每一款都很优秀,也都有自己的特点,可以根据自己的喜好,选择使用。软件目录ElectermFinalShellWindTerm(.原创 2021-12-15 23:14:22 · 67716 阅读 · 27 评论 -
HashMap无序的这个小“坑“,一不小心就翻车了
大家好,我是一航;昨天一位粉丝朋友和我聊天,说遇到了一个莫名奇妙的问题,让我帮着分析一下;经过他的一轮描述,发现是一个HashMap元素顺序小’坑’;但是一不留神,老司机也容易在这里翻车。一句话来描述一下他的问题:明明我数据库语句使用了Order by进行了排序,日志中也看到数据是按顺序查出来了,但业务层收到数据依然还是乱序的呢?;整个过程,确实出现了好几处的迷惑现象,影响了他对问题的判断;下面就从一个小案例加上源码分析,来看看到底发生了什么。问题复现为了方便说明问题,这里用一个简单的业务场景来.原创 2021-12-14 23:39:19 · 2908 阅读 · 0 评论 -
谁再用 Map 传参,上去就给他一jio,别客气
别用 Map 传参了,可能一不小心就被自己挖的坑给埋了。原创 2021-12-08 14:19:27 · 2999 阅读 · 0 评论 -
用 Long 做 Map 的 Key,存的对象花一下午才取出来,坑惨了
大家好,我是一航!事情是这样!某天中午午休完,正在开始下午的搬砖任务,突然群里面热闹起来,由于忙,也就没有去看,过了一会儿,突然有伙伴在群里@我,就去爬楼看了一下大家的聊天记录,结果是发现了一个很有意思的Bug;看似很基础Map的取值问题,对于基础不是特别扎实的朋友来说,但如果真的遇到,可能会被坑惨,群里这位老弟就被坑了一下午,在这里分享给大家。讨论的起因是一个老弟问了这样一个问题:简单一句话表述就是:接口回了个Map,key是Long型的,Map中有数据,可取不到值;由于基础数据类型的Key.原创 2021-11-08 22:48:17 · 6270 阅读 · 3 评论 -
怒肝3W字Java学习路线!从入门到封神全包了(建议收藏)
大家好!我是一航!长文警告!!!预计阅读耗时30分钟,你忍一下,但相信看完你不会后悔的;如果没有充足的时间,可以考虑先收藏着;公众号【一行Java】后台回复【Java路线】,即可获取完整的思维导图。最近和各位小伙伴儿私下聊的比较多,各个阶段的朋友都有;因为大环境的内卷,导致大家在求学、求职、提升自己的各个方面都多多少少有些迷茫焦虑;这些其实是一个非常普遍且正常的现象,会焦虑的人,往往都是对自己要求比较严苛的好同志;如果躺平了,何来焦虑可言!鉴于其中关于学习方向,学习路线的问题,其实网络如此发达.原创 2021-10-21 11:13:47 · 4383 阅读 · 3 评论 -
原来理解 Spring AOP 可以这么简单!
大家好!我是码锅(mbb)!一个乐于分享全栈(自封)的程序员。作为一名Java后端开发,AOP这个牛皮哄哄的名词一定听过、用过;但是对于刚入行的新手,甚至部分有几年开发经验的程序员来说,在初次理解它的时候,都会有点点的吃力;因为和我们一开始就接触的面向对象编程(OOP)思想有些出入,加上概念比较的空泛,导致很多人一直以来都有那么点似懂非懂的感觉;(懂了,但只懂了一点点...)今天,咱就以一个生活中的故事场景,一起来好好理解一下;在讲故事场景之前,还是得先说一下AOP常用到的一些概念、名词;说在前面,方便一会原创 2021-07-05 09:31:19 · 378 阅读 · 1 评论 -
SQL中 inner join、left join、right join、full join 到底怎么选?详解来了
雷猴!我是mbb!作为一名CURD工程师,联表查询应该就算是一项相对复杂的工作了吧,如果表结构复杂一点,左一连,右一连,内一连再加上外一连,很可能就被绕晕的,最终得到的数据集就不是自己理想中的结果;能被绕晕呢,无非就两种情况!要么是业务不熟悉,对数据的理解不够深入;要么就是对各种联表查询的细微的差别了解的不够深入;首先来看一下数据库表链接的几种方式inner join 内连接left join 左连接right join 右连接full join 全连接(mysql没有,oricle有)以及四种方式衍生出的原创 2021-07-01 09:57:24 · 2129 阅读 · 4 评论 -
还用 BeanUtils 拷贝对象?MapStruct 才是王者!一文玩转 MapStruct 全场景【附源码】
代码演示 MapStruct 各种使用场景;让Java对象间的属性拷贝更加简洁,方便原创 2021-06-11 09:26:32 · 582 阅读 · 3 评论