- 博客(236)
- 资源 (1)
- 收藏
- 关注
原创 SpringBoot集成Elasticsearch 进阶,实现中文、拼音分词
查了很多关于es 拼音分词器的文章,有价值的的不是很多,还是自己写一篇吧1、定义分词分为读时分词和写时分词。读时分词发生在用户查询时,ES 会即时地对用户输入的关键词进行分词,分词结果只存在内存中,当查询结束时,分词结果也会随即消失。而写时分词发生在文档写入时,ES 会对文档进行分词后,将结果存入倒排索引,该部分最终会以文件的形式存储于磁盘上,不会因查询结束或者 ES 重启而丢失。写时...
2019-06-24 14:10:05 2942 1
原创 Java8 根据List实体中一个字段去重取最大值,并且根据该字段进行排序
Java8 根据List实体中一个字段去重取最大值,并且根据该字段进行排序
2024-07-15 14:42:50 455
原创 Java使用XStream将压缩成gz格式xml文件转换成List详解及问题
这次说是写文章,感觉更是像填坑,几年前我就写过vo对象list转换成xml并压缩的相关文章Java将数据生成XML文件并进行压缩成GZ格式那会都没发现没有怎么解压缩,一个工具类整整写了一天,遇到了很多问题,因为写了一篇文章记录一下,也帮助兄弟们排雷,少造轮子少走弯路,那咱们废话不多说,上干活!
2024-04-17 09:09:56 587
原创 Comparison method violates its general contract两种解决办法
Comparison method violates its general contract两种解决办法
2024-02-29 10:09:07 4748
原创 一篇能让你彻底搞明白前复权、后复权、不复权的好文
当一家上市公司出现盈利,有的公司会对股东进行分红或送股,就是经常看到上市公司公告里的每10股送5股、每10股送10股等等,那么公司股票数量就会增加,为了保持公司总市值不变,所以就必须下调股价,这个下调股价的操作就叫作除权(XR),股票被除权后就会看到在原有股票走势图上也就是不复权股票走势图上就会有一个大大的跳空缺口,很多人可能会认为怎么跌那么多,其实不是股票下跌,而是为了保持股票总市值不变,主动下调的股价。由于下调除权前的股价,对于上市很久的公司,股价会出现负数,影响增长率的计算,这就需要后复权作为补充。
2023-12-13 11:03:49 2390
原创 Centos安装RabbitMQ
1、administrator 可以登录控制台、查看所有信息、可以对rabbitmq进行管理。由于需要使用 yum 安装一个 socat 组件,所以需要保证虚拟机可以联网。1、将官网下载好的rpm包在一个目录,需要安装erlang环境。3、policymaker 策略制定者 登录控制台,指定策略。注意:需要开启15672端口访问 默认账号密码 guest。2、monitoring 监控者 登录控制台,查看所有信息。4、managment 普通管理员 登录控制台。添加开机启动 RabbitMQ 服务。
2023-09-18 10:32:39 328
原创 解决SpringBoot服务返回数据存在$ref $.data等相关问题
解决SpringBoot服务返回数据存在$ref $.data等相关问题
2023-08-08 09:10:21 1767
原创 Java设计模式-工厂模式
**工厂模式**是一种创建型设计模式, 是用工厂方法代替new操作的一种模式。工厂模式能大量减少if-else,减少大量冗余代码,也能够更好的提高代码复用性 ,减少耦合,也就是我们常说的[高内聚低耦合](https://so.csdn.net/so/search?q=高内聚低耦合&spm=1001.2101.3001.7020)。
2023-02-07 16:55:53 256
原创 Mac 安装、卸载指定版本Node ,指定node镜像
Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。nvm是node版本管理工具,为了解决node各种版本存在不兼容现象,nvm是让你在同一台机器上安装和切换不同版本的node的工具。当你查询或者安装时候,会发现非常慢,那么我们把镜像切换到淘宝镜像。安装完成后,修改环境变量 ,进入当前用户的Home目录。然后按 esc 退出编辑模式。按 i 进入编辑模式。
2022-09-06 11:24:57 1447
原创 MybatisPlus 中MySQL排序失效问题的解决
作为一个CRUD 工程师,今天在写sql得时候,出现一个问题,按照一个decimal字段排序的时候,并没有按照要求进行排序,开始误认为是mysql问题,以为没有按照浮点类型进行排序,我就一顿操作猛如虎,......
2022-08-03 13:34:54 1804
原创 Non-terminating decimal expansion; no exact representable decimal result
公司项目数据须要处理精度比较高的浮点数,因此弃用double类型,改用BigDecimal类来进行数值处理。但在除法运算得时候发生异常,如下:# Non-terminating decimal expansion; no exact representable decimal result大概的意思是“没法结束的除法表达式;没有精确的除结果”。我当时输入的10/3,结果应该是3.3333…333解决方案:通过BigDecimal做除法运算时,在不整除出现无限循环小数时,就会报异常,解决办法就是di
2022-05-24 13:28:47 428
原创 Java线城池详解
1、线城池介绍(1)降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗;(2)提高系统响应速度,当有任务到达时,通过复用已存在的线程,无需等待新线程的创建便能立即执行;(3)方便线程并发数的管控。因为线程若是无限制的创建,可能会导致内存占用过多而产生OOM,并且会造成cpu过度切换(cpu切换线程是有时间成本的(需要保持当前执行线程的现场,并恢复要执行线程的现场)(4)提供更强大的功能,延时定时线程池。2、线城池创建方法Executors是concurrent包下的一个类,为我
2022-04-13 22:50:42 651 1
原创 Docker安装Redis教程
趁今天有空,准备把redis服务也迁移到docker容器中来,那么在docker安装redis之前,我要先把本机安装的redis服务干掉(我的之前里面就没有啥数据,所以直接干掉,你们有数据的需要做数据迁移,别傻乎乎的跟我一样直接干掉),好,那我们先来看怎样把mac中安装的redis服务卸载干净:停止redis服务:redis-cli shutdown查看redis进程:ps -ef|grep redis干掉redis进程:kill -9 pid干掉install时产生的几个redis文件:r
2022-04-12 22:36:47 424
原创 docker 安装 rabbtiMQ
搜索rabbitmqdocker search rabbitmq:management下载拉取rabbitmqdocker pull rabbitmq:management运行镜像docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 docker.io/rabbitmq:management 命令说明:-d:以后台的方式运行–name rabbitmq :指定容器的名称为rabbitmq-p 5672:5672 -p 1
2022-04-12 22:35:07 2790
原创 Radission实现分布式锁以及原理
在多机部署环境中,不同机器不同进程中,多个进程必须以互斥的方式独占共享资源,这时用分布式锁是最直接有效的。以往的工作中看到或用到几种实现方案,有基于zk的,也有基于redis的。那么,究竟什么样的分布式锁实现,才算是比较好的方案?常见分布式锁方案对比表格中对比了几种常见的方案,redis+lua基本可应付工作中分布式锁的需求。然而,当偶然看到redisson分布式锁实现方案(传送门),相比以上方案,redisson保持了简单易用、支持锁重入、支持阻塞等待、Lua脚本原子操作。分布式锁需满足四个条件
2022-03-27 08:16:30 925
原创 Mac 安装Go环境配置
1、前言go语言(或 Golang)是Google开发的开源编程语言,诞生于2006年1月2日下午15点4分5秒,于2009年11月开源,2012年发布go稳定版。Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验。go是非常年轻的一门语言,它的主要目标是“兼具Python 等动态语言的开发速度和C/C++等编译型语言的性能与安全性”很多公司,特别是中国的互联网公司,即将或者已经完成了使用 Go 语言改造旧系统的过程。经过 Go 语言重构的系统
2022-03-09 16:27:28 1374
原创 Java内存模型中happen-before原则
前言熟悉 Java 并发编程的都知道,JMM(Java 内存模型) 中的 happen-before(简称 hb)规则,该规则定义了 Java 多线程操作的有序性和可见性,防止了编译器重排序对程序结果的影响。按照官方的说法:当一个变量被多个线程读取并且至少被一个线程写入时,如果读操作和写操作没有 HB 关系,则会产生数据竞争问题。 要想保证操作 B 的线程看到操作 A 的结果(无论 A 和 B 是否在一个线程),那么在 A 和 B 之间必须满足 HB 原则,如果没有,将有可能导致重排序。 当缺少 HB
2022-03-07 16:11:58 605
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人