Spring Boot Admin,贼好使!

2022-01-14
阅读 6 分钟
1.6k
Spring Boot Admin(SBA)是一个开源的社区项目,用于管理和监控 Spring Boot 应用程序。应用程序可以通过 http 的方式,或 Spring Cloud 服务发现机制注册到 SBA 中,然后就可以实现对 Spring Boot 项目的可视化管理和查看了。
封面图

面试突击15:说一下HashMap底层实现?及元素添加流程?

2022-01-13
阅读 3 分钟
1.8k
HashMap 是使用频率最高的数据类型之一,同时也是面试必问的问题之一,尤其是它的底层实现原理,既是常见的面试题又是理解 HashMap 的基石,所以重要程度不言而喻。
封面图

Java中方法重写和方法重载的6个区别?

2022-01-11
阅读 3 分钟
2k
方法重写(Override)和方法重载(Overload)都是面向对象编程中,多态特性的不同体现,但二者本身并无关联,它们的区别犹如马德华之于刘德华的区别,除了名字长得像之外,其他的都不像。接下来咱们就来扒一下二者的具体区别。
封面图

查询 MySQL 字段注释的 5 种方法!

2022-01-10
阅读 3 分钟
2.3k
很多场景下,我们需要查看 MySQL 中表注释,或者是某张表下所有字段的注释,所以本文就来盘点和对比一下查询注释的几种方式。创建测试数据库开始之前咱们先创建一个数据库,以备下面演示使用。 {代码...} 查询所有表注释使用以下 SQL 可以查询某个数据库下所有表的注释: {代码...} 案例:查询 test2022 数据库中的所有...
封面图

面试突击13:方法优先调用可选参数还是固定参数?

2022-01-06
阅读 5 分钟
1.6k
可选参数(varargs)是 JDK 5 中新增的特性,也叫变长参数或可变参数。它是指一个方法的参数中可以用“...”来表示此方法可以接受无穷个参数,这种表示方法就叫可选参数。可选参数的语法如下:
封面图

面试官:为什么不同返回类型不算方法重载?

2022-01-04
阅读 5 分钟
1.4k
方法重载是指在同一个类中,定义了多个同名方法,但每个方法的参数类型或者是参数个数不同就是方法重载。比如以下 4 个 method 方法就可以称之为方法重载,如下代码所示:
封面图

保姆级教程,终于搞懂脏读、幻读和不可重复读了!

2022-01-03
阅读 6 分钟
2.9k
我的文章合集:[链接]在 MySQL 中事务的隔离级别有以下 4 种:读未提交(READ UNCOMMITTED)读已提交(READ COMMITTED)可重复读(REPEATABLE READ)序列化(SERIALIZABLE)MySQL 默认的事务隔离级别是可重复读(REPEATABLE READ),这 4 种隔离级别的说明如下。1.READ UNCOMMITTED读未提交,也叫未提交读,该隔离级别的...
封面图

面试官:方法重写时需要注意哪些问题?

2021-12-30
阅读 3 分钟
1.5k
在面向对象编程中,方法重写(override)是一种语言特性,它是多态的具体表现,它允许子类重新定义父类中已有的方法,且子类中的方法名和参数类型及个数都必须与父类保持一致,这就是方法重写。​
封面图

面试官:this和super有什么区别?this能调用到父类吗?

2021-12-29
阅读 4 分钟
1.6k
this 和 super 都是 Java 中常见的关键字,虽然二者在很多情况下都可以被省略,但它们在 Java 中所起的作用是不可磨灭的。它们都是用来起指代作用的,每个类在实例化的时候之所以能调用到 Object 类(Object 类是所有类的父类),全是二者的“功劳”。
封面图

更快的Maven来了,我的天,速度提升了8倍!

2021-12-27
阅读 3 分钟
4.4k
周末被 maven-mvnd 刷屏了,于是我也下载了一个 mvnd 体验了一把。虽然测试的数据都是基于我本地项目,不具备普适性和权威性,但也足以说明问题。它的测试结果远远超出我的预期,下面一起来看。
封面图

2021年终总结:30多岁依然没有放弃自我成长!

2021-12-25
阅读 2 分钟
2.3k
岁末年初,又到了一年一度盘点收获的时候了,这个时候一定是几家欢喜几家愁啊。不过没关系,做的好的愿你继续保持,做的不好的,希望你来年有所收获,谁都有迷茫的时候,挺过去就好了。
封面图

Java 中接口和抽象类的 7 大区别!

2021-12-23
阅读 4 分钟
1.8k
Java 是一门面向对象的编程语言,面向对象的编程语言有四大特征:抽象、封装、继承和多态。而本文介绍的接口和抽象类就是面向对象编程中“抽象”的具体实现,也就是说接口和抽象类都是用来定义实体类的公共行为的,它们是对实体类(对象)更高层次的抽象。​

面试官:HashSet如何保证元素不重复?

2021-12-21
阅读 7 分钟
3.1k
HashSet 实现了 Set 接口,由哈希表(实际是 HashMap)提供支持。HashSet 不保证集合的迭代顺序,但允许插入 null 值。也就是说 HashSet 不能保证元素插入顺序和迭代顺序相同。HashSet 具备去重的特性,也就是说它可以将集合中的重复元素自动过滤掉,保证存储在 HashSet 中的元素都是唯一的。
封面图

Java中List排序的3种方法!

2021-12-20
阅读 7 分钟
3.1k
在某些特殊的场景下,我们需要在 Java 程序中对 List 集合进行排序操作。比如从第三方接口中获取所有用户的列表,但列表默认是以用户编号从小到大进行排序的,而我们的系统需要按照用户的年龄从大到小进行排序,这个时候,我们就需要对 List 集合进行自定义排序操作了。​
封面图

面试官:如何实现 List 集合去重?

2021-12-15
阅读 6 分钟
2.1k
List 去重指的是将 List 中的重复元素删除掉的过程。此题目考察的是对 List 迭代器、Set 集合和 JDK 8 中新特性的理解与灵活运用的能力。
封面图

面试官:元素排序Comparable和Comparator有什么区别?

2021-12-12
阅读 6 分钟
1.7k
在 Java 语言中,Comparable 和 Comparator 都是用来进行元素排序的,但二者有着本质的区别。它们两也是常见的面试题,所以今天我们一起来盘它。
封面图

HashMap 有几种遍历方法?推荐使用哪种?

2021-12-08
阅读 6 分钟
2k
HashMap 的遍历方法有很多种,不同的 JDK 版本有不同的写法,其中 JDK 8 就提供了 3 种 HashMap 的遍历方法,并且一举打破了之前遍历方法“很臃肿”的尴尬。
封面图

List 去重的 6 种方法,这个方法最完美!

2021-12-06
阅读 6 分钟
7.1k
在日常的业务开发中,偶尔会遇到需要将 List 集合中的重复数据去除掉的场景。这个时候可能有同学会问:为什么不直接使用 Set 或者 LinkedHashSet 呢?这样不就没有重复数据的问题了嘛?​
封面图

面试官:重写 equals 时为什么一定要重写 hashCode?

2021-12-03
阅读 8 分钟
2.6k
equals 方法和 hashCode 方法是 Object 类中的两个基础方法,它们共同协作来判断两个对象是否相等。为什么要这样设计嘞?原因就出在“性能” 2 字上。​
封面图

面试官:说一下final关键字和final的4种用法?

2021-11-29
阅读 2 分钟
1.7k
final 翻译成中文是“最终”的意思,它是 Java 中一个常见关键字,使用 final 修饰的对象不允许修改或替换其原始值或定义。比如类被 final 修饰之后,就不能被其他类继承了,如下图所示:

面试官:int和Integer有什么区别?为什么要有包装类?

2021-11-29
阅读 2 分钟
2k
PS:Java 10 有了局部变量类型推导,可以使用 var 来替代某个具体的数据类型,但在字节码阶段,Java 的变量仍有着明确的数据类型,且局部变量类型推导有着很多限制和不完善之处,也不是目前主流的应用版本,所以这里不做深入讨论。

面试官:final、finally、finalize 有什么区别?

2021-11-29
阅读 2 分钟
1.5k
重要说明:本篇为博主《面试题精选-基础篇》系列中的一篇,查看系列面试文章请关注我。Gitee 开源地址:[链接]本题目难度:低常见程度:高1.final 介绍final 是 Java 语言中的一个关键字,使用 final 修饰的对象不允许修改或替换其原始值或定义。​final 可以用来修饰:类、方法、变量和参数,其中可以用来修饰“参数”这一...

MyBatis 中为什么不建议使用 where 1=1?

2021-11-15
阅读 4 分钟
2k
机智的小伙伴可能已经看出了问题,在众多 mapper 中发现了一个相同的想象,几乎所有的 mapper 中都包含了一个无用的拼接 SQL:where 1=1。作为一个几乎有代码洁癖症的人,自然是忍不住动手改造一番了。
封面图

HashMap 中的一个“坑”!

2021-11-04
阅读 3 分钟
1.7k
最近公司新来了一个小伙伴,问了磊哥一个比较“奇怪”的问题,这个问题本身的难度并不大,但比较“隐蔽”,那究竟是什么问题呢?接下来我们一起来看。​
封面图

Java 中 List 分片的 5 种方法!

2021-11-01
阅读 5 分钟
1.7k
前些天在实现 MyBatis 批量插入时遇到了一个问题,当批量插入的数据量比较大时,会导致程序执行报错,如下图所示:原因是 MySQL 只能执行一定长度的 SQL 语句,但当插入的数据量较多时,会生成一条很长的 SQL,这样程序在执行时就会报错。​
封面图

MyBatis原生批量插入的坑与解决方案!

2021-10-18
阅读 4 分钟
2.8k
前面的文章咱们讲了 MyBatis 批量插入的 3 种方法:循环单次插入、MyBatis Plus 批量插入、MyBatis 原生批量插入,详情请点击《MyBatis 批量插入数据的 3 种方法!》。​
封面图

升级了 Windows 11 正式版,有坑吗?

2021-10-11
阅读 3 分钟
2.5k
更新按照的时间有点长,大概 10 分钟左右,我是直接从 Windows 10 升级到 Windows 11 的,升级完的效果惊艳到我了。Windows 11 一改 Windows 10 棱角分明的模样,一下子变的圆润和精致了。
封面图

MyBatis 批量插入数据的 3 种方法!

2021-10-08
阅读 9 分钟
6.2k
批量插入功能是我们日常工作中比较常见的业务功能之一,之前我也写过一篇关于《MyBatis Plus 批量数据插入功能,yyds!》的文章,但评论区的反馈不是很好,主要有两个问题:第一,对 MyBatis Plus(下文简称 MP)的批量插入功能很多人都有误解,认为 MP 也是使用循环单次插入数据的,所以性能并没有提升;第二,对于原生...
封面图

MyBatis Plus 批量数据插入功能,yyds!

2021-09-26
阅读 5 分钟
3.4k
最近 Review 小伙伴代码的时候,发现了一个小小的问题,小伙伴竟然在 for 循环中进行了 insert (插入)数据库的操作,这就会导致每次循环时都会进行连接、插入、断开连接的操作,从而导致一定的性能问题,简化后代码如下:
封面图

什么是可中断锁?有什么用?怎么实现?

2021-09-10
阅读 6 分钟
3.1k
在 Java 中有两种锁,一种是内置锁 synchronized,一种是显示锁 Lock,其中 Lock 锁是可中断锁,而 synchronized 则为不可中断锁。​
封面图