自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 Date和DateTime时间格式精度不一致导致数据查询不到

MYSQL中DateTime默认精确到秒,意思是存储的时候,如果带了毫秒,毫秒部分会做向上取整操作即java时间 ‘2023-09-09 15:15:15 501’ 存储到数据库就变成了 ‘2023-09-09 15:15:16’2、更新操作使用了乐观锁模式,然后传递的时间参数值与数据库中的不一致导致更新不成功。调用insert方法前,先将JAVA中的时间做精度处理,让时间精确到秒。1、插入操作后紧跟着更新操作,导致更新时间使用了JAVA中的时间。更新前再次查询数据库,使用查询返回的更新时间。

2023-09-09 16:00:01 420

原创 TheadLocal GC时一定会被回收?

当且仅当ThreadLocal只有弱引用时触发GC时ThreadLocal才会被回收

2023-06-03 21:57:56 473

原创 MYSQL批量更新语句的坑

mysql批量更新将数据库的值给覆写成null

2022-12-26 16:14:59 278

原创 TOMCAT架构及其工作原理

TOMCAT架构及其工作原理

2022-02-25 16:55:29 693 2

原创 利用栈实现拓扑排序

对一个有向图,设G=(V,E),V表示的是顶点集合,E表示的是顶点间的边关系,若 Vi -> Vj存在路径,则Vi一定排在Vj之前,则我们称这样的顶点序列为拓扑序列,使之构成拓扑序列的过程叫做拓扑排序。

2022-01-28 22:47:47 2486

原创 弗洛伊德(Floyd)算法求所有顶点到其他顶点的最短路径

Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似,不同点在于,Dijkstra算法一次性只能计算出某一个端点到其他端点的最短路径,而Floyd算法可以计算出所有端点到其他端点的最短路径,虽然它们的时间复杂度都是n的3次方,但是Floyd算法很简洁优雅。

2022-01-27 00:26:29 1402

原创 @Value 注解用法

@Value的用法

2022-01-19 22:11:42 3647

原创 迪杰斯特拉算法求最短路径

迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法策略,广度优先思想,一步一步算出距离起始点最近且未访问过的顶点,直至所有顶点都被访问最终可得出起始点到所有顶点的最短路径。

2022-01-19 21:47:51 1392

原创 最小生成树克鲁斯卡尔算法

最小生成树克鲁斯卡尔算法

2022-01-07 21:02:44 854

原创 普鲁姆算法加权最小生成树

加权最小生成树

2022-01-03 15:58:39 424

原创 利用队列实现广度优先遍历

利用队列实现广度优先遍历

2021-12-26 13:33:16 1790

原创 正则表达式校验手机号/座机号

正则表达式校验手机号/座机号

2021-12-26 11:50:02 979

原创 如何设置HashMap合适的容量大小,避免重复扩容操作

计算HashMap合适的容量大小,避免重复扩容耗时操作

2021-12-26 00:52:23 635

原创 利用栈实现深度优先遍历

利用递归加栈实现深度优先遍历算法

2021-12-26 00:41:33 3549

原创 Docker命令

Docker 命令docker ps :查看未停止的容器docker ps -a:查看所有容器docker ps -l:查看上一次创建容器docker images:查看镜像docker search ubuntu:查找镜像docker pull ubuntu:15.10:下载镜像docker rmi unbuntu:15.10:删除镜像docker run -t -i -c 100 -m 512MB -h test1 -d --name=“docker_test1” ubuntu /bin

2021-12-23 22:35:06 414

原创 利用后缀表达式实现简单计算器功能

文章目录前言一、原理二、使用步骤1.中缀表达式转换为后缀表达式2.计算结果三、实现代码1.启动类2.工具类3.策略类总结前言最近在看数据结构,看到如此神奇的后缀表达式运用思想,于是就自己写代码实现了一、原理简单算术表达式是使用中缀表达式进行表达的,但是这样就无法解决表达式优先级问题,因此利用栈先进后出原理转换为后缀表达来解决简单算术表达式优先级问题。二、使用步骤1.中缀表达式转换为后缀表达式遍历中缀表达式,数字则直接输出,(除括号外)符号则进栈,进栈前先判断栈顶元素的符号优先级和当前需要进

2021-12-21 18:10:16 956

原创 For循环处理删除元素时优雅方式

// 此方法会报错 不能在foreach表达式中移除private static void test1(){ List<Long> list = Lists.newArrayList(1L,2L,3L,4L,5L,6L,7L,8L); for(Long item:list){ if(item == 2L){ list.remove(item); } Syste

2021-12-20 14:25:09 177

原创 特殊字符操作

1、需要转义特殊字符:( [ { / ^ - $ ¦ } ] ) ? * + . 2、按照一个或多个空格切割字符串 String express = "这是个空格 , 你看见了吗?" String[] expressArray = express.split("\\s+");...

2021-12-16 10:06:12 186

原创 MySql如何将Null和空字符串分组在一起

文章目录前言一、错误示范2.正确示范3.为什么会出现上述情况呢?总结前言最近工作上遇到一个问题,就是按照某个字段分组但是需要将值为null和空字符串的分在一个组别里面并且使用一层SQL来实现,于是我就想在select 后面将字段为空的赋值空字符然后在group by 结果不行,因为group by语句执行顺序在select 前面,于是就有了这篇文章了,哈哈哈 一、错误示范代码如下(示例):select IFNULL(name,'') as name,agefrom t_user group

2021-08-26 21:30:49 2057

原创 GIT白话文

前言最近在整理一下自己的知识,以便知识沉淀,所以就有了这篇文章。知识概念如上图这就是一个git仓库,不管你是通过 git init初始化还是通过开发工具git clone一个远程仓库都会创建这样一个目录,现在来解释一下它们的含义。目录:git管理的一个目录也就是一个git仓库。工作区:目录下,.git文件夹以外的都是工作区。工作区的目的是存放需要git进行版本控制的文件或者文件夹。版本库:目录下的.git的文件夹就是版本库。Stage:也称为index,指的是暂存区,通常通过add将.

2021-07-30 23:17:45 128

原创 浅析ConcurrentModificationException异常的原因

在分析前我们先做几个测试public class TestList { public static void main(String[]args){ List<String> list = new ArrayList<String>(); list.add("1");list.add("2"); list.add("3");list.add("4"); TestList.testFor(list); TestList.te...

2021-07-27 22:34:55 194

原创 Mybatis 各种标签使用

@Data public class User{ private Long id; private String name; } @Data public class Score{ private Long id; private Integer score; private Long subjectId; private Long userId; } <resultMap id="userResult" type=".

2021-07-23 15:53:23 101

原创 java8 stream().filter() 未加null校验导致空指针问题

// 填充数据 List<Long> testList = Lists.newArrayList(1L, null, 2L, 3L); // 过滤数据,如果不加null 校验会报空指针异常 。因为null != 1 表达式在java中不成立所以必须先校验是否为null,当然如果筛选的源数据没有空值那可以不用校验 // 筛选出null值和非1数据 List<Long> filterList = testList.stream().filter(temp ...

2021-07-22 15:50:26 10559

原创 java8 stream().collect() 各种数据结构使用方法

// user 对象@Datapublic class User{ private int age; private String name;}List<User> list = Lists.newArrayList();Set<Integer> ageSet = list.stream().map(User::getAge).collect(Collectors.toSet()); List<Integer> ageList = list.strea

2021-07-21 23:07:32 435 2

原创 Optional校验为空时orElse方法赋值问题

User user = null;// 此处user不会被赋值为new User()Optional.ofNullable(user).orElse(new User());// 这样 user才会被赋值为new User()user = Optional.ofNullable(user).orElse(new User());

2021-07-21 22:23:52 504

原创 Mybatis返回Map结构

使用Mybatis返回Map结构时字段别名需要用双引号包裹否则别名会全部大写或小写.

2021-07-21 22:10:48 440

原创 SQL嵌套填充数据

如果插入的字段是个SQL语句且SQL语句中还有需要填充内容时可以使用单引号(双引号不行因为外层有单引号了)将内容与sql语句隔开,如下示例insert into test(id) values ('select id from test where id in (''a'')');...

2021-07-20 22:17:28 231

sharding-jdbc数据分片

针对单表数据量大导致的查询缓慢问题进行数据分片从而达到性能优化效果。代码罗列了针对springboot形式的各种分片策略,以及性能对比测试方法。

2019-11-08

4.10.3-lukeall

打开Lucene分词后的文件工具,版本为4.10.3 打开Lucene分词后的文件工具,版本为4.10.3

2018-01-04

ssm框架架包

springmvc+spring+mabatis以及mysql和oracle数据库架包 springmvc+spring+mabatis以及mysql和oracle数据库架包

2018-01-04

luncene架包

lucene架包及中文分词IKanalyze, lucene架包及中文分词IKanalyze。

2018-01-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除