- 博客(45)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 史上最简单的 ArrayBlockingQueue 源码解析
ArrayBlockingQueue的实质就是一个数组加上两个起始标志位。重要参数如下public class ArrayBlockingQueue<E> extends AbstractQueue<E> implements BlockingQueue<E>, java.io.Serializable { /** * Serialization ID. This class relies on default serializa
2020-10-21 17:29:31
134
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 HikariCP数据库连接池中文使用手册
转载原文地址:https://blog.csdn.net/eguid/article/details/108635464HikariCP 数据库连接池迄今为止,性能最好,速度最快的数据库连接池。依赖项Java 8 thru 11 maven artifact: <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariC...
2020-09-18 13:52:09
723
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 等待其他线程执行完后执行(CountDownLatch)
最近在测试LinkedBlockingQueue和LinkList的线程安全问题,即创建100个线程,每个线程往队列里面塞1000个值,当结束时查看当前线程的size,看size是否与对接真是数量相当。但是主线程无法知道什么时候其他所有线程啥时候执行完毕。所以采用CountDownLatch的方式执行。countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执...
2020-01-15 17:20:22
309
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Spring Data JPA sql查询返回对象
问题概述:JPA主要适用于强对象关系映射的场景,但是再做查询时需要返回的结果千差万别。所以,当我们使用非数据库对象作为返回结果对象时,@Datapublic class testDTO { Integer ageSum; Integer count;}@Repositorypublic interface TestDTORepository exte...
2019-08-15 18:17:06
2135
1
原创 lombok引发的血案
翻开它编译完的文件发现,lombok它从写了equals方法,并且方法比较中不包含子类属性的比较;然而lombok再给我们带来便利的同时,却有可能悄无声息的带来各种代码问题;一直以为lombok是一个无比牛叉的省代码工具,感觉再也不用,好爽;当我们用肉眼可见明明不想的的对象比较时,返回的确实equals;仅以此文,惊醒下因为lombok而导致的生产事故!然而就如此简单的代码却可能存在着两个对象比较的隐藏问题。到此为止,lombok的比较对象问题昭然若揭;今天笔主就遇到了一个引发生产事故的bug;
2024-01-18 16:35:47
469
1
原创 linux查询日志中存在的关键字
tail -f 日志文件 |grep -iC 10 关键字。-A -B -C 后面都跟阿拉伯数字。总体来说,-C覆盖面最大。-A是显示匹配后和它后面的n行。-B是显示匹配行和它前面的n行。-C是匹配行和它前后各n行。-i:忽略关键字大小写。
2023-12-28 14:44:59
547
原创 IDEA中表明或者字段找不到时报红
路径 File | Settings | Languages & Frameworks | SQL Dialects。当我们选择某一个sql方言的时候,xml配置会按照指定规则校验sql是否规范,并给出提示。取消sql方言,设置sql方言为None。设置完重启idea既可。idea 中mysql的sql语句报红,无论表名还是表字段。是由于sql方言导致的。
2023-12-08 16:10:58
693
1
原创 大乐透是否中奖计算
前些天突然心血来潮买了20块钱的大乐透,开奖之后发现一个一个的核对太累了,心想,这计算有没有中奖不就是很简单的if,else过程嘛。嗯哼,写的过程中,发现中奖是真的难,前驱号码错一个,最多就4等奖,3000块,前驱要一个不错,才能中三等及以上大奖。前驱35个数字选五个,还得全中,计算器拿过来算算,感觉不如天上掉钱来的概率高。拜拜咯您嘞,我还是老老实实写代码吧。
2023-11-29 10:40:02
489
1
原创 idea如何拷贝maven中所引用的所有jar
请记住,这种方法只能拷贝 Maven 项目中已经引用的 JAR 文件,并不会获取其他非 Maven 依赖的 JAR 文件。如果您需要更复杂的依赖拷贝操作,可能需要考虑使用构建工具或脚本来实现。要拷贝 Maven 中引用的所有 JAR 文件,可以使用 Maven 提供的命令行工具和插件。请注意,这将包括项目的所有依赖项,包括传递性依赖项。使用 Maven Dependency 插件将 JAR 文件复制到目标目录。在命令行中进入包含 Maven 项目的根目录。这将复制所有的依赖 JAR 文件到目标目录。
2023-10-07 09:54:43
1020
1
原创 如何把rocketmq注册成windows服务
注:TIMEOUT /T 10 /NOBREAK 表示命名服务启动后暂停10s中,等待命名服务启动结束后在启动broker节点。在rocketmq服务搭建的时候需要涉及到三个方面,命名服务,broker节点,以及可视化界面。接下来就可以通过winsw.exe插件或者sc create 命令把bat注册成服务了。把winsw.exe 拷贝过来,修改名称为rocketmq.exe。rocketmq.exe install即可注册服务。在这里就演示winsw的用法。cmd 去对应目录执行。
2023-06-10 11:55:04
525
原创 给特别规则FeignClient增加统一的RequestInterceptor
给特别规则FeignClient增加统一的RequestInterceptor
2023-02-03 11:38:36
1287
原创 fastJson 字符串为null时转化为““
package com.example.demo.test.imp;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.serializer.SerializerFeature;import lombok.Data;import java.util.ArrayList;import java.util.List;@Datapublic class test53 { private String .
2022-04-07 15:33:28
716
2
原创 mongodb如何像mysql一样更新字段数据
首先插入一条数据可以看到数据库里面成功插入数据mongdb不像mysql数据库一样可以灵活的操作数据,比如说mysql 中吧title的字段修改成description的小写形式时,只需要 update table1 set title= lower(description) where id = 10 就可以了。但是mongdb 中的update并不支持不同字段的相互作用关系。所以就要用到find的函数查询数据,然后在查询数据的基础上做修改。如:db....
2021-09-30 11:32:12
659
原创 mysql根据外键名称,查询所属表信息
constraint_schema:指的是数据库对应的名称constraint_name:指的是外键名称SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE constraint_schema = 'databases' and CONSTRAINT_Name = 'fkName';
2021-05-25 14:37:23
1283
3
原创 springboot如何不加载自动装配项或添加自定义装配项
1.springboot如何读取自动装配对象通常情况下,springboot的自动装配会扫描每个包下META-INF下面的Spring.factories文件中的配置如图:文件内容如下:org.springframework.boot.autoconfigure.EnableAutoConfiguration=\org.springframework.boot.actuate.autoconfigure.AuditAutoConfiguration,\org.springframe
2020-12-08 10:27:48
1789
2
转载 虚拟机常用参数汇总
内存分配相关-Xmx 堆的大小上限-Xms 堆区内存初始内存分配的大小-XX:MaxPermSize 永久代上限-XX:SurvivorRatio Eden与Survivor区的比例-XX:+/-UseTLAB 是否使用TLAB来创建对象-XX:PretenureSizeThreshold 晋升老年代对象大小-XX:NewRatio 新生代(Eden+2S)和老年代的比值,4表示1:4GC相关-XX:+UseConcMarkSwerrpGC 指定老年代的GC收集器为...
2020-10-20 16:20:51
658
原创 protostuff序列化工具类
导入依赖: <!-- Protostuff --> <dependency> <groupId>com.dyuproject.protostuff</groupId> <artifactId>protostuff-core</artifactId> <version>1.0.8</version>
2020-10-12 17:51:32
425
原创 dispatcherServlet随手记
static 加载 dispatcherServlet.properties配置类onrefresh方法 init handler adapt等等调用Servlet方法->processRequest-》doService(request, response) -》doDispatch(request, response);1.checkMultipart2.getHandler3.getHandlerAdapter4.检查是否是get请求且checkNotModified通过..
2020-09-29 11:07:05
69
原创 springboot 加入 dubbo 的集成
我们知道dubbo的运行原理如图所示,服务端向注册中心注册服务,客户端订阅注册中心获取服务地址,然后在调用服务我们再此选用的注册中心为zookeeper(当然也可以选用nacos)1.下载并启动zookeeper2.搭建springboot项目,引入dubbo的jar包<dependency> <groupId>com.alibaba.boot</groupId> <artifactId>dubbo-spring-bo
2020-09-27 15:58:05
221
原创 activiti taskService.claim(String var1, String var2)方法介绍
ACT_RU_EXECUTION 实例表ACT_RE_PROF 流程定义表ACT_GE_BYTE_ARRAY bpmn的xml和普片存储ACT_RE_DEPLOYMENT 部署表ACT_RU_VARIABLE 各个步骤传入的valueable值ACT_RU_IDENTITYLINK 创建者,参与者,候选人等步骤处理流程记录表ACT_ID_USER 用户表ACT_ID_GROUP 分组表ACT_ID_MEMBERSHIP 用户分组关系对照...
2020-09-18 11:41:33
5885
1
原创 Spring Data Elasticsearch 进行查询时忽略大小写
springboot版本: 2.1.0.RELEASEspring-data-elasticsearch:elasticsearch版本
2020-08-11 11:20:10
2542
转载 disruptor 介绍
有些图可能无法显示了,可以见这里:https://www.yuque.com/simonalong/jishu/qhdcb2一、背景1.来源Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内部的内存队列的延迟问题,而不是分布式队列。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2.应用背景和介绍据目前资料显示:应用Disruptor的知名项目有如下的一些:Storm, Camel, Log4j2,还.
2020-07-27 17:36:23
355
原创 IDEA 运行java web项目
有些时候我们用IDEA跑之前用eclipse中运行的项目的时候,总是不止所措。要不就是只展示html,要不就是不能部署成功。正确的IDEA部署java web项目如下:1.导入web项目到IDEA如非maven项目,导入时选择eclipse即可2.添加tomcat会发现系统提示No artifacts configured;先忽略这个提示,点击ok.此时运行tomcat时访问不了项目的,应为现在为止根本没有部署3.点击 project Struture按钮
2020-07-13 13:57:32
5161
原创 LinkedHashMap实现Lru
package com.example.demo.test.imp;import java.util.LinkedHashMap;import java.util.Map;public class Lru { public static void main(String[] args) { lru<Integer,String> lru = new lru(4); lru.put(1,"1"); lru.put(2,"2");.
2020-07-02 14:29:14
137
原创 spring-retry的学习使用(指定@Recover方法)
最近研究了一下spring-retry框架地使用。spring-retry再1.3.0版中@Retryable增加recover属性,从而使得再异常重试失败后可以指定补偿方法执行。从而使得我们不需要每一个用到@Recover的地方都需要新建一个类。 @Retryable(recover = "compensateHi") @Override public Hello hi(String name) { try { Hello he.
2020-06-30 17:08:38
3434
原创 切面表达式的正确使用方式(jpa方法切面)
我们在使用jpa进行保存数据的时候,有时候业务逻辑需要在保存数据的时候做一些其他的事情,但是又碍于再代码种很多地方掉了保存接口,这是后想要每一处去修改保存方法,就显得太冗余,而且容易出错。其实再这个时候,可以使用切面的方式进行处理首先声明切点:@Pointcut(value = "execution(public *javax.persistence.EntityManager.persist(..))")private void getPointcut(){}再这里需要注意...
2020-06-19 16:28:35
1784
转载 mysql MVCC
MVCC下InnoDB的增删查改是怎么work的1.插入数据(insert):记录的版本号即当前事务的版本号执行一条数据语句:insert into testmvcc values(1,"test");假设事务id为1,那么插入后的数据行如下:2、在更新操作的时候,采用的是先标记旧的那行记录为已删除,并且删除版本号是事务版本号,然后插入一行新的记录的方式。比如,针对上面那行记录,事务Id为2 要把name字段更新update table set name= 'new_val.
2020-06-15 17:04:05
86
原创 docker镜像加载到本地
docker save -o 本地目录 镜像ideg:docker save -o ~/ruoyi.jar c183fb4d4ed5
2020-06-15 15:41:05
275
原创 Zookeeper占用8080端口
最新版本的Zookeeper目前使用了jetty并且占用了8080端口。修改端口可通过在 zoo.cfg 中新增参数admin.serverPort=指定端口默认的jetty访问可通过可通过http://localhost:8080/commands访问
2020-06-11 10:31:39
653
转载 mysql分隔符转行
再看mysql 分隔符转行的,看到这篇文章,写的非常好,转载纪念一下。原文地址:https://www.cnblogs.com/likaixin/p/11271756.htmlhelp_topic表是数据库mysql下的一个表 SUBSTRING_INDEX(s, delimiter, number) 返回从字符串 s 的第 number 个出现的分隔符 delimiter 之后的子串。 如果 number 是正数,返回第 number 个字符左边的字符...
2020-05-25 17:01:40
650
原创 自定线程池测试
package com.example.demo.test.ThreadPool;import java.util.concurrent.*;public class ThreadPoolTest { // 核心线程池大小 private int corePoolSize = 1; // 最大可创建的线程数 private int maxPoolSiz...
2020-03-26 16:15:35
80
原创 Swagger显示入参不全问题
目前大部分项目中使用Lombok去省去写get,set,构造器等n多重复方法,使java代码变得整洁,但class字节码文件不变。目前在使用lombok和swagger的时候碰到了问题在Cotroller的请求参数中写入Lombok省略的DTO对象,但是在swagger-ui的页面中参数显示不全。后比较字节码反编译和alt+insert生成的get,set方法,发现方法名不一致,即在D...
2020-03-23 16:31:55
3009
2
原创 Linux 下后台进程运行springboot项目
命令:nohup java -jar xxxxx.jar &xxxxx.jar 为你的jar包名,运行后需要查看日志的话在同目录下会生成一个nohup.out文件tail -fnohup.out就可以看到详细日志了...
2020-01-13 14:23:12
167
1
原创 mac系统导出自定义IDEA快捷键
相信很多小伙伴在重装IDEA,或者更换Mac电脑的时候需要重新配置IDEA快捷键的情况,下面介绍下如何导出自定义IDEA快捷键。IDEA再mac系统的默认配置的文件路径为:/Users/账号/Library/Preferences/IntelliJIdea2019.1当我们再IDEA中保存一个自定义的快捷键配置是.会在/Users/账号/Library/Preferences/...
2019-12-12 17:15:14
1462
5
原创 SpringDataElasticSearch查询时忽略大小写
我们在进行ElasticSearch查询时通常字段都是以@Field(type = FieldType.keyword) private String info;标注,再查询时,会发现条件是区分大小写的。这样再mysql与elasticSearch之间进行切换的时候就会发现查询结果不一致的情况。百度n久,都是针对9200的http接口请求的方式。处理方式如链接:h...
2019-11-11 14:08:46
2088
4
原创 JPA @PostPersist 和@PreUpdate回调函数中无法注入Bean得解决方案
@Autowiredstatic private TeacherService teacherService;@Autowiredstatic private TestService testService;@Autowiredpublic void init(TeacherService teacherService, TestService testService) { ...
2019-11-01 17:33:44
989
1
原创 ElasticSearch 5版本权限问题解决
在mac使用ElasticSearch时,出现了一个少见的错误,错误代码如下2019-10-15T09:16:46,036][INFO ][o.e.n.Node ] [] initializing ...[2019-10-15T09:16:46,093][ERROR][o.e.b.Bootstrap ] Exceptionjava.securi...
2019-10-17 14:33:35
1026
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人