自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

virgil

要记住:技术是工具,用它去实现你想要的价值!

  • 博客(169)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 1.1冒泡排序(Java)

设想,如果在找第一个最大数的循环中,发现了该数组本来就是一个有序的集合,那是不是就不需要再进行循环找第二个最大数了,这就完成了一次短路操作。由于数组有多个元素,较大的数上浮的过程肯定是一个循环过程,确定循环次数便成了关键部分。发现的关键在于,在寻找最大数的大循环中是否进行了数组位置上的数据交换,即交换了说明仍然无序,没有交换说明是已经有序了。将第二个数存在倒数第二个,实际上是前5个数的比较,跟在一个新的数组里找最大数一样(参考上述),那应该是4次。这个太容易忘记了,最简单的方式是模拟一个要排序的数组。

2023-04-25 17:09:43 189 1

原创 AOP:从ProceedingJoinPoint中获取指定注解

【代码】AOP:从ProceedingJoinPoint中获取指定注解。

2023-04-13 10:19:13 656

原创 LBS计算附近的对象:MySQL 空间索引方式

MySQL空间数据类型官方文档MySQL空间数据类型是指MySQL数据库中支持的存储地理位置信息的数据类型,包括点、线、多边形等。这些数据类型可以用来存储地图坐标、地址信息等。MySQL空间数据类型基于OpenGIS空间数据类型标准,提供了对空间数据进行索引和查询的功能,可以方便地实现地图应用、位置搜索等功能。

2023-04-12 18:51:22 1325 1

原创 Java内存模型中堆和栈的区别

堆和栈的区别

2023-04-12 00:26:54 73

原创 【JDK8】MyBatis源码导入Idea

MyBatis源码导入到idea的避坑指南。

2023-02-15 16:42:32 682

原创 1.十大排序算法

十大排序算法的概览总结。

2023-02-10 15:00:20 4097

原创 【已解决】maven mapstruct 没有生成get set方法

maven引入mapstruct的问题排查。

2022-08-29 22:43:30 1217

原创 1. @Component注解的原理剖析

Spring Component注解作为IOC发现注册初始化bean的核心注解,理解该注解的实现及使用对于日常开发和问题排查具有很高的价值。

2022-07-30 15:24:57 359

原创 linux vim 操作指令

linux vim 操作键盘图

2022-06-04 11:06:16 93

原创 SpringMVC 请求体的字符串转LocalDate

1. 场景前端需要传递 年月日, 如 2022-03-04,这里选用 jdk8 新引入的 LocalDate 来接这个参数。2. 步骤在对应的字段上加上注解 @JsonDeserialize(using = LocalDateDeserializer.class) private LocalDate end;using 后边的类可以拓展到其它对象类。...

2022-04-08 20:24:08 709

原创 自定义实现校验注解

1. 背景在输入价格的时候,需要对价格的范围和小数的长度做校验。当前 JSR-303 已经对 BigDecimal 的最小值和最大值做了通用的校验注解。@DecimalMin(min = “0.01”, message = “报错内容”)@DecimalMax(min = “99999999.99”, message = “报错内容”)需要注意的是,上述的两个注解并不能对 null 的 BigDecimal 对象做校验,所以通常和 @NotNull 联合使用。2. 需求针对 BigDeci

2022-03-15 22:42:14 4889

原创 SpringMVC 校验注解@Size()不生效

1. 场景当前的伪代码如下[email protected] { ... ...(@RequestBody @Valid User user) ...}给 controller 类上加 @Validate 是个注意点。给 User 对象前面加 @Valid 是个注意点。User...@Valid@Size(min = 1, max = 20, message = "课程的数量必须在1-20")private List<Cou

2022-03-14 21:06:09 5882

原创 MyBatis 控制台打印日志

1. 背景为方便排查问题,自测或测试环境的日志中打印SQL。2. 方式1. 方式一:IDEA 启动参数配置操作路径:EditConfigurations -> Configuration -> Override parameters -> +mybatis.configuration.log-impl: org.apache.ibatis.logging.stdout.StdOutImpl2. 配置文件mybatis: configuration: lo

2022-03-14 21:05:24 1957

原创 chrome 前端开发插件:尺子

1. 背景在 chrome 进行页面开发的时候,在一个 div 的两次有两个元素,如何让他们都处于 div 的中间,看起来水平高度一致呢?这时最好是有一个尺子可以量一下,于是我找了下相关的插件。2. chrome 插件1. Page Ruler Redux注意在 chrome 中使用的时候需要在具体的页面,在初始页使用会报错。Extensions cannot run in local chrome pages for security reasons...

2022-03-09 10:10:17 1205

原创 centos 安装maven-3

centos 安装maven-31. 下载 maven-3wget https://repo.huaweicloud.com/apache/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gzcd /usr/localtar xvf /usr/local/software/apache-maven-3.8.4-bin.tar.gzln -s /usr/local/apache-maven-3.8.4 maven2. 环境配置vi

2022-02-25 14:13:48 1281

原创 idea 趣味进度条【插件】

Mario Progress Bar

2021-12-22 23:40:06 1665

原创 Jmeter 必备插件

1. 如何安装 jmeter 插件jmeter-plugins-manager.jar将下载的 jar 放入到 $JMETER_HOME/lib/ext2. 重新启动 jmeter

2021-12-01 19:18:37 225

原创 mac nacos 1.2.1 start.sh 启动失败

下载部署的zip包,解压后启动记得要在 bin 目录下sudo sh start.sh -m standalone启动失败,失败信息如下:start.out/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Djava.ext.dirs=/Library/Internet Plug-Ins/Jav

2021-12-01 19:12:52 556 3

原创 Mac gradle 配置:权限不足

报错提示gradle: Permission denied解决方式chmod +x ${location}/gradle-4.9/bin/gradle

2021-11-10 23:41:25 1900

原创 elasticsearch relevance score algorithm (二) :BM25

1. BM25BM 的全拼是 best matching, 25 我猜是一个数字,比如说版本号。

2021-10-10 10:49:49 133

原创 elasticsearch relevance score algorithm (一) :TF / IDF

题外话记忆缩写的时候,最好记住它们的全拼,这样就能快速的反应出这个缩写是干什么的。比如说 API,大家都知道代表接口的意思,但是具体来说接口是什么,就开始含糊其辞了。假如说我们记住 API 的全拼是 application program interface, 就可以直接回答出 API 是应用程序的入口。1、 TF / IDFTerm Frequency / Inverse Document Frequency词频 / 逆文档频率使用场景: 在 elasticsearch version 5 及

2021-10-10 10:40:19 143

原创 Elasticsearch LBS 的简单应用

1. 背景介绍有一些餐馆或酒店散步在你的周围,你想查询你附近的酒店。2. ES model{ "shop" : { "mappings" : { "properties" : { "category_id" : { "type" : "integer" }, "category_name" : { "type" : "keyword" }, "id" : {

2021-09-26 22:57:05 325

原创 MySQL 随机生成字符串或数据

1. 使用场景造数据。2. 实例生成随机字符串substring(MD5(RAND()), 1, 12)生成随机正整数FLOOR(RAND() * 10000000)

2021-09-18 17:18:50 224

原创 创建正序和倒序的 TreeSet 集合

正序(默认正序)Set<Integer> collection = new TreeSet<>();倒序Set<Integer> collection = new TreeSet<>((m, n) -> n - m);

2021-09-14 17:17:39 175

原创 common-lang3 StringUtils.isNoneBlank(...)

public static boolean isNoneBlank(final CharSequence... css) { return !isAnyBlank(css);}这里的 blank 指的是 null, "" 和 " "。根据字面意思呢,我理解是如果方法参数里面均是 null, "" 和 " " 则为 true, ran后测试下来,发现大错特错。@Test public void stringUtilsIsNoneBlankTest() { Syst

2021-09-06 20:30:12 3800

原创 Elasticsearch: collapse 去重

官方文档传送门1、 collapsecollapse 可以将搜索结果按照指定的 field 去重。如果在一次 DSL query 中,collapse 和 sort 同时存在时,DSL 的执行顺序是 select -> collapse -> sort。2、 使用场景根据关键词搜索 spu_id, 但文档是 SKU,根据 SKU 的名称关键词搜索 spu_id。一个 SPU 通常都有多个 SKU,如果不对 spu_id 进行去重,那么 spu_id 将会有很多的重复。DSL demo

2021-07-19 19:48:35 1478

原创 canal 把玩日记:CentOS 8安装MySQL 8

1. 物理设备1C2G 云服务器 X 12. 操作系统centOS 8.3 64位3. MySQL 8 安装步骤shell> yum install libaioshell> cd /usr/local/shell> mkdir softwareshell> cd software/shell> wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-8.0.23-linux-glib

2021-07-06 20:00:35 110 1

原创 MySQL - 根据生日计算年龄

SELECT name, birth, CURDATE(), TIMESTAMPDIFF(YEAR, birth, CURDATE()) AS age FROM pet;

2021-06-22 19:28:02 2122

原创 easyexcel excel 列数据读取不到或判断失效

检查 @ExcelProperty(“key”) 和 excel 的列名是否一致。

2021-06-08 20:27:55 3669

原创 idea操作git过慢

Idea 安装目录/bin找到 runnerw.exe 和 runnerw64.exe,删除或者修改文件名。

2021-05-09 11:37:54 1005 6

原创 接口幂等性

1. 什么是幂等性?接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。比如说支付场景,用户购买了商品支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录也变成了两条,这就是违反了接口的幂等性。2. 需要幂等性的场景?表单重复提交表单页面“回退”再次提交微服务互相调用,由于网络问题,导致请求失败(feign 触发重试机制)队列服务的重复消费的问题(库

2021-05-09 11:31:10 742

原创 数据库事务和ACID的关系

数据库事务的定义及其与ACID的关系。

2021-05-09 10:39:32 132

原创 Java - 3年 MySQL面试被问到的知识点汇总

如何定位并优化慢查询SQL?根据满日志定位慢查询SQL# 慢日志的相关配置show variables like '%quer%';# 慢查询的数量show status like '%slow_queries&';long_query_time 当查询超过该时间时,会记录到slow_query_log_fileslow_query_log 慢日志记录功能是否被打开slow_query_log_file 慢日志的文件存放位置使用 explain 等工具分析.

2021-05-09 10:37:41 105

原创 MySQL COALESCE函数 返回最近一个有值的元素

1. 场景描述sku 分为 普通商品和赠品,普通商品的品牌信息需要从 prod_product_group_rel 表中获取到,但 prod_sku 表的 brand 为空,赠品的 prod_sku 记录 brand 有值,但 prod_product_group_rel 为空。需要从 prod_sku 表中获取一批普通商品和赠品的品牌数据,需要先从 prod_sku 表中获取 brand,如果 prod_sku 表中的 brand 为空,则从 prod_product_group_rel 表中获取品牌

2021-05-09 10:36:20 100

原创 centos7 安装 JDK 8

# 安装wget pluginyum install -y wget# 进入/usr/localcd /usr/local# 获取jdk 安装包wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/ja

2021-04-26 14:09:01 81

原创 Windows 10 系统更新后 vagrant up 报错:Error opening VBoxDrvStub: STATUS_OBJECT_NAME_NOT_FOUND

1. 问题场景windows 10 系统强制更新,拦都拦不住。强制更新完后,vagrant up 就会报错,错误信息如下:10f4.1f2c: supR3HardNtChildPurify: Done after 528 ms and 0 fixes (loop #0).10f4.1f2c: supR3HardNtEnableThreadCreationEx:3ab8.363c: Log file opened: 6.1.20r143896 g_hStartupLog=000000000000000

2021-04-26 13:43:55 1288 2

原创 Eureka 和 Zookeeper 作为服务发现注册组件有什么区别

1、知识储备EurekaEureka is a REST (Representational State Transfer) based service that is primarily used in the AWS cloud for locating services for the purpose of load balancing and failover of middle-tier servers.ZookeeperA centralized service for maintain

2021-04-23 12:58:58 77

原创 Mybatis debug 时查询最终执行的SQL

1. 场景描述在SQL优化或者定位问题时,需要拿到最终执行的 SQL。通过日志级别有可能不会生效,插件也是。2. 使用方式定位到 SimpleExecutorctrl + c 即可复制 SQL.

2021-04-22 13:45:04 2617

原创 Idea 2020+ 在运行 Springboot 运行单个单元测试

1. 问题描述idea 2020 + 在运行 Springboot 单元测试,你的目的只想运行指定的单元测试,但实际上在启动的时候,他会默认回归一遍所有的单元测试,如果避免运行其它的单元测试,节省测试时间呢?2. 解决把它点亮...

2021-04-08 15:20:08 444

原创 RabbitMQ - Channel 类主要方法参数详解

Channel 类的方法,如 exchangeDeclare(...)、queueDeclare(...)等方法,均采用了重载的方式。channel.exchangeDeclare(…) /** * Declare an exchange, via an interface that allows the complete set of * arguments. * @see com.rabbitmq.client.AMQP.Exchange.Declare

2021-04-08 11:06:06 661 1

ezdml-demo.dmj

EZDML中的官方电商数据库建模示例,该文件可通过EZDML(数据库建模工具)下载。EZDML是一款免费开源的数据库建模工具,其功能定位与powerdesigner类似,但功能特征较于powerdesigner少了很多。

2020-08-06

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

TA关注的人

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