- 博客(80)
- 资源 (3)
- 收藏
- 关注
原创 Java 面试考点
Java 面试考点(一)------框架篇Java 面试考点(二)------多线程篇Java 面试考点(三)------IO篇Java 面试考点(四)------集合篇Java 面试考点(五)------Redis篇Java 面试考点(六)------Mysql篇Java 面试考点(七)------JVM篇Java 面试考点(八)------其他知识点...
2020-07-29 16:21:26
192
原创 MySQL视图优化实战:化简内层循环,查询从4秒降到毫秒级
不要盲目追求“小表驱动大表”:有时业务逻辑强制大表作为驱动表,此时应转而优化内层循环的复杂度。核心优化原则:将复杂的JOIN和聚合提前到子查询中,让外层只做简单的索引查找。索引是基石:确保关联字段和分组字段有合适的复合索引,避免子查询产生临时表和文件排序。验证执行计划:使用EXPLAIN查看子查询是否使用了索引,外层关联是否为ref类型。监控与维护:定期更新表的统计信息(),防止优化器选错计划。SQL性能优化的本质是减少数据扫描量和循环次数,而非机械地遵循某些教条。希望这篇记录能帮助到遇到类似问题的你。
2026-04-15 15:36:31
357
原创 NB银行 Java 面试・终极背诵手册
获取 Class:类.class、对象.getClass ()、Class.forName ()读未提交 → 读已提交 (RC) → 可重复读 (RR,默认) → 串行化。常见泄漏:static 集合、线程池、未关闭连接、内部类持有引用。互斥、持有并等待、不可抢占、循环等待。常见原因:死循环、频繁 FullGC、锁自旋、正则回溯。栈局部变量、静态变量、本地方法引用、Class 对象。核心线程 → 队列 → 非核心线程 → 拒绝策略。偏向锁 → 轻量级锁(CAS) → 重量级锁。
2026-04-14 18:51:17
355
原创 记一次Nacos配置读取失败:“Could not resolve placeholder ‘com.xx‘ in value “${com.xx}“ ” 的排查
YAML对缩进和空格极其敏感:在YAML中,缩进表示层级,冒号后必须紧跟空格。任何微小的格式错误都可能导致配置解析异常,而且这类错误往往不直接报“格式错误”,而是表现为配置项缺失,容易被误导为配置中心或框架问题。修改配置时务必保持格式一致性:尤其是多人协作时,新增配置要遵循原有缩进风格,最好使用支持YAML语法高亮和格式校验的编辑器(如IDEA、VSCode),实时发现格式问题。排查配置问题时的思路先确认Nacos客户端日志,看是否成功拉取配置。确认拉取到的配置内容是否包含目标项。
2026-03-04 11:00:30
358
原创 Spring 源码解读
XML配置文件的读取是 Spring 中重要的功能,因 Spring 的大部分能都是以配置作为切人点的,那么我们可以从XmlBeanDefinitionReader 中梳理一下资源文件读取、解析及注册的大致脉络,首先我们看看各个类的功能。经过以上分析,我们可以梳理出整个 XML 配置文件读取的大致流程,如下图所示,在XmlBeanDefinitionReader 中主要包含以下几步的处理。Spring 中有两个最核心的类。1、Spring 的结构组成。
2023-07-26 18:15:40
459
原创 Java8 List<Object> 转成 List<Map<String, Object>>
【代码】Java8 List<Object> 转成 List<Map<String, Object>>
2023-07-14 18:00:48
3123
原创 Java8 List<Object> 转成 List<JSONObject>
【代码】Java8 List<Object> 转成 List<JSONObject>
2023-07-13 16:12:00
2551
原创 RabbitMq 使用说明
拒收,是接收端在收到消息的时候响应给RabbitMQ服务的一种命令,告诉服务器不应该由我处理,或者拒绝处理,扔掉。BasicReject方法第一个参数是消息的DeliveryTag,对于每个Channel来说,每个消息都会有一个DeliveryTag,一般用接收消息的顺序来表示:1,2,3,4 等等。在第一个参数DeliveryTag中如果输入3,则消息DeliveryTag小于等于3的,这个Channel的,都会被拒收。ack 表示的是消费端收到消息后的确认方式,有三种确认方式。
2023-03-09 17:19:46
667
原创 List<List<Object>> 转 List<Object>
当你有一个 List 想要取出这个 Object 中的某个属性集合List时,首先会想到用map(),当使用map()操作时,不是返回一个值,而是返回一个集合或者一个数组的时候,这时候就可以使用flatMap解决这个问题。同样,List 转List
2023-02-28 13:47:40
1631
原创 Mybatis update时报错 Data truncation: Truncated incorrect DOUBLE value: ‘XXXX‘
项目中一个定时任务更新语句报了 nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: 'XXXX' 这个错误,检查了sql语句没问题,后面检查到是数据原因,原本是数字型的字段填入了 'XXXX' 字符型数据,还去jdbc源码里找了几天的原因,谨记一下。
2022-11-30 15:50:12
1470
转载 详解SpringBoot使用RedisTemplate操作Redis的5种数据类型
详解SpringBoot使用RedisTemplate操作Redis的5种数据类型
2022-11-04 17:42:12
191
原创 Java8 List 集合操作
1. 分组后取每组最大值 2. 取出相同id的老师,在判断是否存在 3. 把 Map 对象里的属性复制到 Class 对象实体类里
2022-10-26 10:29:28
2409
原创 Mysql 查出某个字段不包含某个值
现在想要排除 status = 3的,查出来后的数据为。比如:某表 table_ceshi , 有以下的数据。遇到了个sql查询某个字段不包含某个值,记录一下。
2022-09-29 11:11:02
14131
4
原创 Java8 List对象中 BigDecimal类型求和
List集合中的某个对象值是BigDecimal类型的,且需要对所有对象中相同的属性进行求和,找不到现成的工具类可以使用,可以自己来定义一个。1.定义工具类package com.kakarote.core.utils;import lombok.Data;import lombok.experimental.Accessors;import java.math.BigDecimal;import java.math.MathContext;import java.u...
2022-04-26 18:11:10
19144
4
原创 MybatisX插件无法识别Mapper和xml文件
最近使用了Mybatis X插件,遇到了Mapper文件和xml文件左边不显示小鸟的图标原因在于xml文件的<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://www.72crm.com/mybatis-3.5.3-mapper.dtd">声明使用错了,应该使用<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//.
2022-04-23 11:25:16
6435
2
原创 EasyExcel 使用和背景颜色样式(3.0以上的版本)
谈到新技术,每个人都会有点恐惧,怕处理不好,确实第一次使用新技术会遇到很多坑,本人以前使用poi也遇到了很多的坑,但是很快就解决了,这次使用EasyExcel这个新技术去做excel表的导出,还要给表格加样式,遇到不同的版本问题,遇到颜色加错了地方,反正是各种效果都达不到自己想要的那种,幸好最终看文档解决了,特此写下这篇博客。本篇博客会写下自己遇到的各种效果,供自己或者看到这篇博客的人使用。(注意:这里使用的是最新的 3.0以上的版本,以后的小伙伴用了不同的版本最好看源码或者文档)目录1. 导入ma
2022-01-19 14:22:00
21636
13
原创 Docker 部署 SpringBooot 项目(详细篇)
Docker 部署 SpringBooot 项目下载docker[root@localhost ~]# sudo yum install-ydocker-ceDocker 应用需要用到各种端口,逐一去修改防火墙设置非常码放,因此建议直接关闭防火墙!启动docker前,一定要关闭防火墙关闭防火墙 systemctl stop firewalld禁止开机启动防火墙 systemctl disable firewalld查看防火墙状态 systemctl status firewa
2022-01-15 21:19:20
651
原创 Spring (一)
Spring 框架是Java 应用最广的框架。它的成功来源于理念,而不是技术本身,它的理念包括IoC (Cinversion of Control),控制反转)和AOP (Aspect Oriented Programming , 面向切面编程)。...
2021-11-18 20:11:51
387
原创 java 集合操作
java List 按指定长度分割java List 按指定长度分割 - Ruthless - 博客园java 8 一个list过滤另外一个listjava 8 一个list过滤另外一个list - abcdefghijklmnop - 博客园
2021-11-10 19:52:53
272
原创 BeanUtils.copyProperties() 赋值的对象属性为空 踩过的大坑
最近项目中有个一个类的属性想复制到另一个类的属性里,两个类的属性名称和类型都一致,想到了用BeanUtils.copyProperties() 这个方法进行拷贝,在使用的过程中出现了一个问题:拷贝完之后,需要属性赋值的对象属性为空,一直想不明白这是为啥,后来仔细阅读源码发现了一个极其容易被忽视的内容:就是 导包,导包,导包。BeanUtils.copyProperties(a,b),一个是spring的,一个是Apache的。这个是org.springframework.beans下的,这个..
2021-07-01 18:29:12
4576
原创 MySQL 截取字段中的某个需要的字符串
有时候在开发时会遇到数据库表里的数据是这样的数据,我们需要截取出其中的 aa,bb,cc,dd其中的一个,mysql没有split这样的分割函数,这时候我们就会用到另一种函数了,substring_index()。比如:我们想取出 aa 这个字符串,我们可以这样:select SUBSTRING_INDEX(db_source, ',', 1) aa from dept where deptno = '1'结果为:那如果想取出 bb 呢?就不能再这样取了,需要再套一个substri..
2021-06-29 11:29:43
1291
原创 com.sun.jersey.api.client.ClientHandlerException: java.net.UnknownHostException: eureka8001
最近启动SpringCloud 微服务项目客户端启动项目时报了下面的错误:2021-01-08 16:47:19.682 ERROR 29172 --- [ restartedMain] c.n.d.s.t.d.RedirectingEurekaHttpClient : Request execution errorcom.sun.jersey.api.client.ClientHandlerException: java.net.UnknownHostException: eureka800
2021-01-08 16:56:47
3158
1
原创 MySQL 优化总结
1、优化 select 语句1.1、where 优化 恒定折叠: (a<b AND b=c) AND a=5-> b>5 AND b=c AND a=5 删除不必要的括号: ((a AND b) AND c OR (((a AND b) AND (c AND d))))-> (a AND b AND c) OR (a AND b AND c AND d) 恒定条件消除: (b>=5 AND b=5) O...
2020-12-03 19:20:26
178
原创 MyBatis 里使用双重 foreach 标签
接上一篇的需求,需要在 sql 里使用双重 foreach ,这里直接上代码<select id="queryPeoples" parameterType="com.bean.People" result="string"> select * from ( select id , GROUP_CONCAT(name) name from people <where> <if test="sex != null and sex !=
2020-12-01 19:29:47
2067
原创 Java List<Object>分组转成List<List<Object>> 中报 java.util.HashMap$Values cannot be cast to java.util.List
遇到一个集合转换的问题,要求是在 MyBatis 文件中使用双重 foreach 生成条件,然后在外面就需要在原来的 List<Object> 里再套一个List,但是Java代码中用Java8给List 分组得到的是 Map<String, List<Object>> 的集合,虽然可以强转成List<List<Object>> ,但是运行后回报错,也可以是 Collection<List<Object>>...
2020-12-01 14:19:45
2626
1
原创 mysql 创建索引语句
一、创建索引1.PRIMARYKEY(主键索引) mysql > ALTERTABLE`table_name`ADDPRIMARYKEY (`column`)2.UNIQUE(唯一索引) mysql > ALTERTABLE`table_name`ADDUNIQUE (`column` )3.INDEX(普通索引) mysql > ALTERTABLE`table_name`...
2020-11-19 19:00:03
20458
6
原创 Java 面试考点(九)------其他知识点
8. 其他:1.Git 命令Git常用命令及方法大全 |常用 Git 命令清单 |git命令大全2.Docker 命令Docker常用命令|Docker 命令大全 (菜鸟教程) |Docker 常用命令总结3.get 和post 区别Get与Post的区别?(面试官最想听到的答案)|面试中get和post的区别|http GET 和 POST 请求的优缺点和误区 --前端优化4.HTTP 和 HTTPS 的区别Http和Https的区别(面试常考...
2020-07-29 16:15:55
184
原创 Java 面试考点(五)------Redis篇
5. RedisRedis 面试常见问答/了解什么是 redis 的雪崩、穿透和击穿?/面试官:Redis分布式锁如何解决锁超时问题?/Redis 分布式锁的正确实现方式(Java 版)/看看 Redisson 是如何实现分布式锁的!/Redis 的三种集群模式/刚去面试聊了一个多小时的 RedisRedis系列--内存淘汰机制(含单机版内存优化建议)/...
2020-07-29 16:12:15
189
原创 Java 面试考点(四)------集合篇
4.集合面试官问:除了ArrayList你还看过哪些List源码4.1 HashMap 原理面试 | Java8 HashMap原理|因为这篇HashTable && ConcurrentHashMap,我收获了无数心意的Offer。|一篇文章带你彻底搞懂HashMap的实现,再也不用担心被欺负。...
2020-07-29 16:11:16
143
erlang 23.1
2020-09-27
mybatis-generator 代码生成工具
2017-11-03
consul(windows和linux) 1.8.2.rar
2020-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅