自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 List集合数据转换成Trees树状结构数据

实体类@Datapublic class LeaveType { /** 主键 */ private Integer typeId; /** 父级ID */ private Integer parentId; /** 类型名称 */ private String typeName; /** * 是否存在下级 */ private boolean insertStatus; /** * 存放二

2021-04-15 15:46:20 242

原创 对比两个不同的集合,并根据两个集合中相同的元素,删除其中一个集合中的对象

背景在项目中遇到根据两个不同的集合中的某相同元素,删除集合对象。实例/** * * @param SysBaseUserModel 用户实体类 * @param userModelList 全部用户集合 * @param applyList 请假集合 * @return userModelList 在岗人员集合 */Iterator<SysBaseUserModel> iterator = userModelList.itera

2021-03-22 10:17:03 1011

原创 Mybatis中的foreach用法

Mybatis中的foreach用法元素属性item 集合中元素迭代时的别名,该参数为必选。index:在list和数组中,index是元素的序号,在map中,index是元素的key,该参数可选open:foreach代码的开始符号,一般是(和close=")"合用。常用在in(),values()时。该参数可选separator:元素之间的分隔符,例如在in()的时候,separator=","会自动在元素中间用“,“隔开,避免手动输入逗号导致sql错误,如in(1,2,)这样。该参数可选。

2021-03-02 15:10:48 1667

原创 Ik分词器和Ansj分词器

Ik和Ansj分词器背景开发某项目,使用到websocket以及IK分词器,用户输入信息,根据用户输入的信息,进行拆分词,匹配数据库的关键词,符合关键词规则的返回数据。分词器IK分词器Ansj分词器IK分词器开源地址IK分词器开源地址引入jar包<dependency> <groupId>com.github.magese</groupId> <artifactId>ik-analyzer</artifactId>

2021-02-20 10:39:18 1052 1

原创 稀疏数组

稀疏数组什么是稀疏数组通俗说,当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。例如棋盘,可以使用稀疏数组表示。使用以棋盘为例五子棋游戏的组成有N行N列,有白棋和黑棋。怎么对一局五子棋游戏进行保存。这里用到二位数组。空白的位置为0,白棋代表1,黑棋代表2。其中大部分都是空白的位置,只有少数坐标是已经下的白棋或黑棋。因为出现了大量的空白位置0,所有可以使用稀疏数组表示,这样节省数据空间,没有必要记录这些为0的空白数据。输出打印五子棋盘五子棋是11行11列,

2021-02-18 21:21:51 149

转载 Serializable序列化

Serializable序列化什么是Serializable接口一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才能被序列化。什么是序列化?序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。为什么要序列化对象把对象转换为字节序列的过程称为对象的序列化把字节序列恢复为对象的过程称为对象的反序列化什么情况下需要序列化?网络传输必然要序列化,反序列化,所以需要实现Seria

2021-02-18 13:42:19 124

原创 Executors线程

线程池ThreadPoolExecutor–Executors.newFixedThreadPool()创建获取ExecutorService queryWorker = Executors.newFixedThreadPool(6);上面的是创建固定条数的线程池,按照阿里手册是不允许的,不过目前并无异常,如有代码规范检查,可以使用下面这个手动创建的。ThreadPoolExecutor queryWorker = new ThreadPoolExecutor(6,12,10,TimeUnit

2021-02-18 13:11:54 144

原创 CountDownLatch类与Executors的使用

#CountDownLatch类与Executors的使用类介绍说明一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。 一个线程(或者多个), 等待另外N个线程完成某个事情之后才能执行CountDownLatch典

2021-02-18 12:02:55 422

空空如也

空空如也

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

TA关注的人

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