自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 redisson使用RAtomicLong根据时间生成订单号

【代码】redisson使用RAtomicLong根据时间生成订单号。

2023-11-13 18:35:28 182

原创 使用es遇到过的小坑

原因:查了后发现是因为没设置密码,被黑客攻击删除了所有的数据……问题:有时候早上会发现查不出来数据,多刷新两次就好了。原因:长时间不连接es,服务端会关闭连接。问题:数据连同索引隔段时间就会丢失。

2023-11-13 18:27:40 72

原创 一个只查了2000行的sql耗费了2s

用explain看了看,发现查询走了一个索引,而这个索引的字段总共只有5个不同的值!基本上没有什么过滤性!发现线上一个接口响应时间要两三秒,很奇怪,就去查了查代码,发现时间几乎都耗费在了一条sql语句上。查询不复杂,涉及数据量大概也就2000行,按理说怎么也不应该花这么久的时间。所以不会建索引不如不建!索引最好建立在小字段上,字段的区分度越高越好。去掉索引后,整个查询就只花了0.06s。

2023-08-18 16:50:38 96

原创 关于怎么简洁地new一个对象

本来到这我觉得就很不错了,然后我发现了居然有一个注解就做到了上面这个工具类做到的场景,那就是@Builder,如果类涉及到继承,可以使用@SupperBuilder注解分别注解在父类和子类上。但是总不能一需要根据某些属性构建对象,就加一个构造器吧,于是我发现了可以利用函数式接口方法构建一个链式创建对象赋值属性的方式。之前经常觉得,我new一个实例,为实例赋值的时候要一连set好多行代码,看起来啰里八嗦,就比如。通过这个Builder类,可以一行代码直接搞定。

2023-07-31 16:56:23 106

原创 bigDecimal.value(zero)与0.00

查了百度后才发现bigDecimal.value(zero)的小数位数是0位,如果想判断某个bigDecimal类型的数据是否为0,可以使用 BigDecimal.ZERO.compareTo(yesterday) == 0。今天发现了java.lang.ArithmeticException: / by zero的报错,看了看发现是我用bigDecimal.value(zero)与0.00做比较,我以为他们显然是相等的,没想到绕过了判断。

2023-04-24 16:42:30 237

原创 stream常用场景

stream真的太太太好用了,但是有些场景用过两次还是记不住具体的写法,写的时候要现查,太麻烦了。1、取对象list里某个属性最大或最小的对象。2、取对象list里所有对象的某一属性值集合。所以专门来记录总结一下。

2023-04-04 15:14:36 97

原创 mysql查询varchar类型的数字如果不添加单引号

执行第一条sql后发现出现了两条数据,并且其中一条对应的trade_pay字段并不一致,猜到可能是由于没加单引号导致数据转化丢精的问题,所以查了相关文章。遇到了一个问题,想记录一下。

2023-03-23 15:24:11 298

原创 es查询简单场景问题小记

查询时遇到的问题

2023-03-08 17:17:36 1919

原创 通过kafka connector实现mysql数据自动同步es

通过kafka connector实现mysql数据自动同步es

2023-03-08 16:34:43 1161

原创 linux系统下开发工作中常用命令整理

ps:只针对于收集常用命令,因为每次用到命令还要去查,实在太麻烦了。

2023-02-28 14:28:21 82

原创 es的单条件查询方式和映射介绍

es的单条件查询方式和映射介绍

2023-02-23 18:51:57 614

原创 Elasticsearch索引的简单理解

我最开始一直错误地将es底层倒排索引的概念理解即为代码中设置es的索引,认为es的索引库即为需要查询的分词的集合,按这样理解,若需要根据客户名称、电话取搜索关联的订单信息,那岂不是所有的客户姓名、客户电话都需要设置为索引……分词是es自带的功能,如果在增加索引的时候,将字段的映射类型设置为text,并设置好es的分词器(中文一般用ik),那es会自动将该字段做好分词。但es里的索引并不指的是倒排索引里的分词,毕竟如果把所有的分词作为索引拿到内存里搜索,那占用的资源也太大了点。

2023-02-23 17:56:30 89

原创 反射的使用场景

一些场景,用反射解决非常简单

2023-02-14 11:37:48 69

原创 Elasticsearch简单介绍、安装

elasticsearch的简单介绍和macos环境下的安装

2023-02-03 11:23:38 71

原创 垃圾回收算法和垃圾收集器

一、垃圾回收算法当前的垃圾收集都采用分代收集算法,即年轻代和老年代用不同的算法,以更符合自身的特点标记复制算法(年轻代young gc使用的就是标记复制算法):将内存分为A、B两个区域,只用A区,B区闲置当A区用完,则把A区标记的存活对象复制到B区,再清理A区,两个区域循环使用速度快但是内存利用率低标记整理算法:标记内存中存活的对象让存活的对象向内存的一端移动,清理掉边界以外的内存标记清除算法:标记内存中存活的对象,对未标记的对象进行清除会产生大量不连续的内存碎片

2022-01-17 22:07:16 292

原创 JVM内存分配机制

一、为对象分配内存的过程:分配内存:空闲列表法:维护了一张标记了空闲内存块的表,需要分配内存就在表里取一块指针碰撞法:堆种的内存绝对规整,被使用的内存放在一边,未被使用的在另一边,有指针指向分界点处理并发情况:CAS失败重试本地线程缓冲TLAB:每个线程预先在堆中分配一块内存,线程之间分配对象互不冲突对象内存回收算法:引用计数法:对象如果被引用,它的引用计数器+1,只会回收引用计数器为0的对象;但是会出现循环引用的问题,A引用B,B引用A,除此之外没有其他引用,那A和B永远不

2022-01-17 21:40:21 198

原创 JVM内存模型

一、JVM简述个人对JVM的理解:是一个专门运行Java程序的小型操作系统,随着程序的启动而启动,结束而结束JVM的组成:线程共享的区域:方法区:存放instanceKlass元数据、常量、静态变量堆:存放对象,包括:对象头、元数据指针、实例数据线程独享的区域:栈:存放方法的局部变量表、操作数栈、动态链接、方法出口二、JVM加载对象举例举例代码: A a=new A(); public Class A{ public int x;

2021-12-16 20:04:07 907

原创 JVM类加载器

一、类加载过程创建Java虚拟机创建引导类加载器实例引导类加载器加载JVM启动器Laucher类,创建该类的实例laucher类获取运行类的classLoader调用loadClass加载运行的类其中loadClass的过程可以分解为:加载字节码文件到内存,并创建类的Class对象校验字节码文件给类的静态变量分配内存,赋默认值静态链接(符号引用替换为直接引用,即将静态方法本身替换为指向内存中该数据所在的地址)对类的静态变量进行初始化二、类加载器作用:将.class文件中

2021-12-10 18:04:34 421

原创 单例模式简述

单例模式:在一个JVM中,通过单例模式创建的类有且仅有一个实例1、实现:构造器私有判断系统是否有这个单例,没有则创建,有则返回2、应用场景:多线程操作同一个的文件,文件的处理必须通过唯一的实例进行Web里的计数器,不用每次刷新都在数据库里加载,可以用单例缓存3、注意事项:getInstance方法需要用synchronized控制线程同步package main.java.singletonPattern;/** * 懒汉式 */public class SingletonObj

2021-12-09 16:04:36 625

原创 多线程基础

@TOC1. 实现多线程的方法:package main.java.multipleThread;/** * 方法1:继承Thread类,并重写run方法 */public class MultipleThread1 extends Thread { @Override public void run() { System.out.print("multipleThread1启动"); }}/** 1. 方法2:实现Runnable接口,并重写run方

2021-12-09 15:42:45 180

原创 StringUtil的isEmpty()与isBlank()区别

package main.java.javaSE;import java.util.Objects;/** 1、stringUtils.isNotBlank,既判断是否为null,又判断是否长度大于0,且空白格等都为false StringUtils.isBlank(null) = true StringUtils.isBlank("") = true StringUtils.isBlank(" ") = true //空格 StringUtils

2021-12-09 14:45:50 495

空空如也

空空如也

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

TA关注的人

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