自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (6)
  • 收藏
  • 关注

原创 基于 Redis 的 分布式 ID 生成器

基于 Redis 的 分布式 ID 生成器,通过 Redis 分发 ID 号段实现分布式生成;通过 Hashid 算法实现固定长度的 62 位编码的 ID 字符串,可用于短链 Key 的生成

2023-12-26 08:58:51 416

原创 节假日计算器

依据国务院发布的节假日信息配置计算节假日信息

2023-12-25 11:32:35 692

原创 基于Redis分布式锁的防重复提交组件

通过自定义注解结合 redis分布式锁实现防重复提交

2023-05-30 16:20:47 300

原创 考虑排序值相同的情况下取前几名数据工具

考虑排序值相同的情况下取前几名数据工具1. 数据:[1,2,3,3,3,4,5] a. 取前 3 名返回:[1,2,3,3,3] b. 取前 4 名返回:[1,2,3,3,3]2. 数据:[1,2,3,4,5] a. 取前 3 名返回:[1,2,3] b. 取前 4 名返回:[1,2,3,4]3. 数据:[5,4,3,2,1] a. 取前 3 名返回:[1,2,3] b. 取前 4 名返回:[1,2,3,4]

2022-09-16 21:23:44 143

原创 Idea 2022 关闭 Actions for URL

Idea 2022 关闭 Actions for URL

2022-09-04 10:28:24 704 2

原创 笛卡尔乘积算法

笛卡尔乘积算法,可用于通过商品销售属性计算所有的售卖组合

2021-12-28 09:05:23 386

原创 MySQL 大表分批次更新存储过程

DROP PROCEDURE IF EXISTS big_table_update;CREATE PROCEDURE big_table_update()BEGIN DECLARE v_primary_key_start, v_primary_key_end BIGINT(20) DEFAULT 0; DECLARE v_update_limit INT(10) DEFAULT 50000; # 异常捕获 DECLARE v_error_code CHAR(5) DEF

2021-08-23 20:52:09 1274

原创 Spring 手动管理事务

import com.neo.model.pojo.product.online.ProductOnline;import com.neo.repository.product.online.ProductOnlineMapper;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.datasourc

2021-08-05 14:24:49 919

原创 MySQL 查询各个班级语文成绩最高的学生信息

需求如下:查询各个班级语文成绩最高的学生成绩如果语文成绩相同则取 id 最大的记录表内数据查询SQLSELECT s1.id, s1.class, s1.name, s1.chinese, s1.mathFROM score s1WHERE EXISTS(SELECT 1FROM (SELECT MAX(temp2.id) 'id'FROM (SELECT s2.class, s2.idFROM score s2INNER JOIN (SELECT s3.class, M.

2021-07-15 16:04:34 4770

原创 基于MySQL8.0 官方的关键字整理

为了保持整洁和实用,此处对官方给出的关键字做了以下处理:ACCESSIBLE ® 去除 (R)ACTIVE; added in 8.0.14 (nonreserved) 去除 ; 号后面的文字参考的官方地址:https://dev.mysql.com/doc/refman/8.0/en/keywords.html另整理了一份关键字的数据库脚本:https://download.csdn.net/download/after95/20097607附上关键字检查SQLSELECT inf.

2021-07-09 11:15:20 1388

原创 Docker常用命令

帮助命令docker version # 显示 docker 的版本信息docker info # 显示 docker 的详细信息docker [命令] --help # 万能帮助命令Docker 官网帮助文档:https://docs.docker.com/reference/镜像命令docker images 查看镜像信息➜ ~ docker imagesREPOSITORY TAG IMAGE ID CREATED

2021-07-04 16:41:36 567 2

原创 IDEA初始化配置

Mavensetting.xml 配置阿里云镜像<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror>Encod

2021-06-25 22:49:54 158

原创 IDEA 使用 Maven 下载源码时提示 Cannot download sources

在终端执行如下命令:mvn dependency:resolve -Dclassifier=sourcesmvn dependency:resolve -Dclassifier=documents

2021-06-24 21:45:11 608 2

原创 Windows 系统 Kafka-0.10.0.1 源码阅读环境搭建

依赖的环境和工具确保下载的工具版本与下面列举的一致,已经踩过坑了jdk 1.8 自行下载并配置zookeeper-3.4.9 : https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gzscala-2.10.6 : https://downloads.gradle-dn.com/distributions/gradle-3.1-bin.zipgradle-3.1 : https://dow

2021-06-24 14:12:01 406 3

原创 只展示姓的姓名脱敏,针对复姓做特殊处理

import com.google.common.collect.ImmutableList;import org.apache.commons.lang3.StringUtils;import java.util.ArrayList;import java.util.List;/** * 名字处理工具类 * * @author Neo * @version 1.0 * @since 2021/6/18 16:54 */public class NameUtils { .

2021-06-21 09:29:46 1356 2

原创 Properties 文件差异比较工具

import cn.hutool.core.io.FileUtil;import lombok.Builder;import lombok.Data;import lombok.extern.slf4j.Slf4j;import org.apache.commons.collections4.CollectionUtils;import org.apache.commons.lang3.StringUtils;import java.nio.charset.StandardCharsets;

2021-06-17 13:14:01 489

原创 Git 分支管理

Git 分支管理在企业级项目开发中,经常会多版本多分支并行开发,常用的版本管理工具Git 也就成了开发人员必备的工作技能,下面我就来分享一下我们日常工作中是如何进行分支管理的,并且会有几个例子带大家了解一下首先如图所示开发的主分支有三个,分别是:master、gray、daily日常我们需要用到的分支是 daily示例一现有一个小需求,项目负责人将需求分给张三一个人开发,张三接到需求后进行了以下操作:将本地分支切换到 daily ,并从远程pull最新的daily分支从本地的da

2021-06-01 22:35:20 181

原创 Easy Code 模板

这是一套基于MyBatis Plus 的模板,mapper.xml 仅生成 resultMap、columnSql、whereSql、updateSqlentity.java##引入宏定义$!define##使用宏定义设置回调(保存位置与文件后缀)#save("/entity", ".java")##使用宏定义设置包后缀#setPackageSuffix("entity")##使用全局变量实现默认包导入$!autoImportimport java.io.Serializabl.

2021-04-09 16:41:11 483

原创 Java 收货地址智能解析

收货地址智能解析

2021-03-25 15:03:24 7315 17

原创 手机号银行卡格式化

格式化方法/** * 指定位置插入符号 * * insert("1223334444", "-", Boolean.FALSE, 1, 2, 3) ===> "1-22-333-4444" * insert("1223334444", "-", Boolean.TRUE, 1, 2, 3, 5) ===> "1-22-333-4444-" * * @param string 待处理字符串 * @param symbol 待插

2021-02-26 15:02:35 211

原创 Java 万物皆可 Tree 工具类

ITree - 树数据接口import java.util.List;/** * 树数据接口 * * @author: Neo * @date: 2021/1/4 14:24 * @version: 1.0 */public interface ITree<T, K> { /** * 节点ID * * @return */ K id(); /** * 父节点ID * * @r

2021-01-04 17:20:44 3694

原创 自定义序列化配置

以时间格式序列化为例import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.core.JsonParser;import com.fasterxml.jackson.databind.DeserializationContext;import com.fasterxml.jackson.databind.JsonDeserializer;import com.fasterxml.jackson.d.

2021-01-04 14:20:51 170

原创 枚举字典管理器

枚举字典管理器后端通常需要为了不使用魔法值而去定义枚举类,而枚举类又经常需要被当做数据字典传给前端。次套解决方案就是为了解决枚举值的统一管理的问题,枚举类只要实现 EnumService接口,就可以集成这套方案。EnumDictionary - 数据字典对象package com.neo.common.enums;import java.io.Serializable;/** * 数据字典对象 * * @author: Neo * @date: 2021/1/1 20:10 *

2021-01-01 21:45:26 1037

原创 Java 数据脱敏工具类

数据脱敏工具类DesensitizationUtils.javaimport org.apache.commons.lang3.StringUtils;import java.util.Objects;/** * 数据脱敏工具类 * * @Author: Neo * @Date: 2020/8/19 16:21 * @Version: 1.0 */public class DesensitizationUtils { /** * 默认填充字符 */

2020-08-19 17:59:36 2001

原创 Logstash 从mysql批量加载数据

logstash 版本:7.5配置logstash-sample.confinput { jdbc { jdbc_driver_library => "./logstash-7.5.0/logstash-core/lib/jars/mysql-connector-java-5.1.36.jar" jdbc_driver_class => ...

2020-04-02 17:30:08 436

原创 六、Elasticsearch 实战

基于groovy脚本进行partial update造数据PUT /test_index/test_type/11{ "num":0, "tags":[]}内部脚本POST /test_index/test_type/11/_update{ "script": "ctx._source.num+=1"}外部脚本5.x 支持外部脚本,目录:elasticseac...

2020-03-31 13:23:04 138

原创 五、Elasticsearch 分布式文档系统

核心元数据解析数据示例GET /test_index/test_type/1{ "_index": "test_index", "_type": "test_type", "_id": "1", "_version": 1, "_seq_no": 0, "_primary_term": 2, "found": true, "...

2020-03-31 13:20:08 127

原创 四、Elasticsearch 基础分布式架构

Elasticsearch 是一套分布式的系统,分布式是为了应对大数据量Elasticsearch 对复杂分布式机智的透明隐藏特性分片机制cluster discovery(集群发现机制)shard 负载均衡shard 副本Elasticsearch 垂直扩容和水平扩容假设共有6台服务器,每台服务器1T容量。现在数据即将增加到8T,此时有下面量方案:垂直扩容:重新购置...

2020-03-31 13:16:02 108

原创 三、Elasticsearch 简单数据分析

先将文本 field 的 fielddata 属性设置为 true- Elasticsearch 5.x 版本写法PUT /ecommerce/_mapping/product- Elasticsearch 7.x 版本写法PUT /ecommerce/_mapping/product?include_type_name=true{ "properties": { ...

2020-03-31 13:13:00 596

原创 二、Elasticsearch 六种搜索方式

Elasticsearch 六种搜索方式查询结果解释took - 耗费多少毫秒time_out - 是否超时_shards - 数据分片情况hits.total - 查询结果的数量hits.max_score - document 对于一个 search 的相关度匹配分数,越相关分数越高hits.hits - 匹配 document 的详细数据query string se...

2020-03-26 17:35:45 789 2

原创 一、Elasticsearch 7 入门

Elasticsearch 7 入门安装(开箱即用)window 安装下载并解压:elasticsearch官方下载:https://www.elastic.co/cn/downloads/elasticsearch链接:https://pan.baidu.com/s/1zIqXPQr4yAhHSHKZF-mQJg提取码:ecbj启动:/bin/elasticsearc...

2020-03-26 17:34:38 246

原创 Java 监控线程池所有任务是否执行完毕

Java 监控线程池所有任务是否执行完毕场景引入在最近的工作中遇到一个需要批量生产百万数据并写入数据库的需求,先通过单线程的方式去实现,但是感觉效率一般,然后通过多线程的方式去改进,但是遇到下面的问题:生成数据的时候,每生成一条数据,就将数据丢入到集合中进行缓存,当集合中的数据量达到 500 的时候,就进行一次数据库写入操作,并清空集合。那么当我生成的数据量为 1200 的时候,就会出现...

2019-12-19 21:42:55 3374

原创 Java 比较两个对象属性的不同

Java 比较两个对象属性的不同Java 比较两个对象属性的不同定义类型处理接口:`TypeProcessHandle.java`定义三个类型处理实现类,如有其它特殊需求也可实现`TypeProcessHandle`接口进行拓展定义必要的注解类:`Property.java`使用两个其它工具类创建:`BuilderDifferenceInfoHandle.java`测试创建测试Bean:`Test...

2019-12-13 15:49:36 1905

原创 Java 反射动态获取和修改注解值

Java 反射动态获取和修改注解值Java 反射动态获取和修改注解值创建自定义注解:`TargetAnnotation.java`创建自定义注解:`Property.java`创建测试Bean:`Bean.java`测试测试结果Java 反射动态获取和修改注解值目的:通过注解 TargetAnnotation 的配置,动态获取和修改注解 Property 值创建自定义注解:TargetA...

2019-12-13 11:36:11 1321

原创 Guava 布隆过滤器使用

Guava 布隆过滤器使用注意由于布隆过滤器可能存在一定的误判,当调用 mightContain 方法时:如果返回 true ,则此元素可能存在过滤器中,实际生产中可能需要根据具体业务进一步判断;如果返回 false ,则此元素一定不在过滤器中实例import com.google.common.hash.BloomFilter;import com.google.common....

2019-09-24 18:22:00 1058

原创 Java 8 常用 Lambda 表达式汇总

Java 8 常用 Lambda 表达式汇总集合操作List<Person> list = Lists.newArrayList( new Person( "张三", 20, new BigDecimal("15000")), new Person( "李四", 23, new BigDecimal("20000"))...

2019-09-24 16:47:43 835

原创 三、MySQL 索引优化

索引优化一、索引类型1. B-Tree 索引特点a).B-Tree 索引能够加快数的查询速度b).B-Tree 索引以B+树的结构存储数据:每一个叶子节点到根部的距离相同InnoDB引擎指针指向被索引的数据而不是主键,MyISAM引擎指针指向物理地址顺序存储,适合进行范围查找何时命中全值匹配的查询order_no = ‘20190825102500001’匹...

2019-09-23 22:37:59 168

原创 二、MySQL 物理设计

物理设计一、定义数据库、表及字段的命名规范数据库、表及字段的命名要遵守可读性原则、表意性原则、长名原则二、选择合适的存储引擎存储引擎事务锁粒度主要应用忌用InnoDB支持支持MVCC的行级锁事务处理无MyISAM不支持支持并发插入的表级锁select、insert读写操作频繁MRG_MyISAM不支持支持并发插入的表级锁分段...

2019-09-23 22:36:51 314

原创 一、MySQL 存储引擎

MySQL存储引擎一、MyISAM1.概要1.MySQL5.5 之前版本默认存储引擎2.多用于系统表和临时表(在排序、分组等操作中,当数量超过一定的大小后,由查询优化器建立的临时表)3.存储 MYD:保存表的数据 MYI:保存表的索引文件2.特性a).并发性与锁级别:使用表级锁而非行级锁,读取和写入互斥,读写并发性能比较弱b).不支持事物、不具备AICD特性:原子...

2019-09-23 22:35:43 139

原创 MySQL 存储过程执行动态拼接SQL

1.该注意的点都在存储过程代码中已经说明DROP PROCEDURE IF EXISTS init_test_transfer_data;CREATE PROCEDURE init_test_transfer_data()BEGIN DECLARE v_i INT DEFAULT 1; DECLARE v_limit INT DEFAULT 100000; # 对...

2019-08-17 23:51:12 6361

mysql_keywords.sql

MySQL 关键字数据库脚本

2021-07-09

china-area.json

中国省市区县JSON文件

2021-03-25

LeanCould 通过 CQL 实现分页

1.使用LeanCloud 的 cql实现了分页查询 2.使用了自定义的分页控件 3.使用了Bootstrap前端框架

2017-04-01

使用LeanCloud的分页查询

1.使用cql实现了分页查询 2.使用了自定义的分页控件 3.使用了Bootstrap前端框架

2017-04-01

基于注解和Spring的多数据源配置和使用

通过注解实现数据源的灵活切换

2017-01-13

空空如也

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

TA关注的人

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