Java
懒惰的小蜗牛
积硅步至千里
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
redis-cli命令连接redis、密码连接、redisTemplate删除所有key、清除key的方法
redis-cli2.使用密码授权。原创 2023-04-12 13:35:06 · 996 阅读 · 0 评论 -
stream根据某个字段去重(对象的某个字段去重)
stream根据某个字段去重(对象的某个字段去重)原创 2022-08-11 11:40:33 · 8357 阅读 · 0 评论 -
java.lang.ClassNotFoundException: org.apache.commons.pool2.impl.GenericObjectPoolConfig
springboot使用默认spring-boot-starter-data-redis框架操作redis,本地启动隔一段时间发现连接超时timeout在配置文件中增加配置:spring: redis: database: 1 host: 127.0.0.1 password: 123456 port: 6379 # 增加部分 lettuce: pool: max-idle: 30 max-active:原创 2022-05-17 10:54:02 · 2625 阅读 · 0 评论 -
java导出csv数值失真问题【笔记】
java导出csv数值失真问题修复原创 2022-03-31 11:41:47 · 1019 阅读 · 0 评论 -
shardingsphere读写分离+分表【笔记】
shardingsphere读写分离+分表记录用到的框架:mybatis-plus、druid、shardingsphere-jdbc-spring-boot-starter依赖(gradle配置,maven对应去mvnrepository查询) implementation 'com.alibaba:druid:1.2.8' implementation('com.baomidou:mybatis-plus-boot-starter:3.4.3') implementati原创 2022-03-11 10:24:53 · 1650 阅读 · 0 评论 -
fastjson解析带范型参数方法
fastjson解析Response为自定义实体对象解析```Response```类型解析```Response说明:fastjson版本 com.alibaba:fastjson:1.2.76Response为自定义实体对象切记不要定义为集成Map的对象public class Response<T> implements Serializable { private static final long serialVersionUID = 1L; /** code原创 2021-12-28 16:11:19 · 1140 阅读 · 0 评论 -
基于ElasticsearchRepository进行简单封装实现非空更新,saveOrUpdate[笔记]
基于ElasticsearchRepository进行简单封装封装用到的2个自定义类repository层service层service实现类使用时注意封装用到的2个自定义类public class PageQuery implements Serializable { private static final long serialVersionUID = 7172912761241281958L; /** * 当前页 */ private Integer原创 2021-11-24 17:41:27 · 5421 阅读 · 4 评论 -
postgres建表语句、pg自增主键、批量存在则更新、创建索引、中文排序、自增序列
完整建表语句如下-- 创建自增序列CREATE SEQUENCE bs_user_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;-- 建表CREATE TABLE "public"."bs_user" ( "id" int8 NOT NULL DEFAULT nextval('bs_user_id_seq'), "username" char(64) DEFAULT '', "nickname"原创 2021-10-29 14:25:55 · 2269 阅读 · 0 评论 -
Arthas排查java项目、arthas使用教程
先启动待排查的java项目(线上再运行的项目可忽略此步骤)下载arthas并启动# 下载wget https://arthas.aliyun.com/arthas-boot.jar# 运行 --target-ip 0.0.0.0参数可选java -jar arthas-boot.jar --target-ip 0.0.0.0sarthas-boot是Arthas的启动程序,它启动后,会列出所有的Java进程,用户可以选择需要诊断的目标进程。选择第一个进程,输入 1,再Enter/回车.原创 2021-08-08 11:29:27 · 1173 阅读 · 0 评论 -
使用navicat将mysql迁移到postgres后续处理【笔记】
使用navicat将mysql迁移到postgres同步结构和数据操作如下图,接着勾选,下一步,等待完成坑爹的点:只能同步表结构、数据,自增id、字段默认值都丢失了自增ID解决思路读取源mysql表中的自增id值,构建出pg自增编辑的语句pg自增序列思路:1.先创建序列,然后编辑表中的主键使用自增序列查询出mysql表子增id的值大小,创建出pg自增序列(sql如下,建议在dbeaverEE里运行,理由:批量复制sql特别方便)SELECT concat( 'CREATE SEQU原创 2021-08-06 16:48:04 · 1970 阅读 · 4 评论 -
mybatis-plus3.4.0之后的分页配置【 笔记】
mybatis-plus3.4.0之后的分页配置 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.0</version> </dependency>分原创 2021-08-06 16:10:04 · 997 阅读 · 0 评论 -
defining a bean of type ‘org.springframework.data.redis.core.RedisTemplate‘ in your configuration.
spring-boot整合redis启动项目报错,信息如下:defining a bean of type 'org.springframework.data.redis.core.RedisTemplate' in your configuration.或Consider defining a bean of type 'org.springframework.data.redis.core.StringRedisTemplate' in your configuration.修改pom文件将原创 2021-07-23 17:34:52 · 2451 阅读 · 0 评论 -
java提取正则表达式匹配的内容
提取正则表达式匹配的内容 /** 数值匹配正则表达式 */ private static final Pattern NUM_PATTERN = Pattern.compile("[0-9]"); /** * 解析字符串中数值 * @param text 含有数值的字符串,例如,库存剩余200件 * @return 数值 */ public static Integer parseString(String text) {原创 2021-06-09 12:02:51 · 5438 阅读 · 0 评论 -
springboot文件上传java文件中转工具类[笔记]
java文件上传中转工具类springboot项目,版本2.2.6 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.6.RELEASE</version> </pare原创 2021-06-05 13:04:01 · 430 阅读 · 0 评论 -
【笔记】docker安装postgres并挂载数据
下载镜像# 默认最新版本docker pull postgres# 可以指定版本docker pull postgres:12.6创建挂载文件夹挂载路径/Users/vick/data/docker/postgres启动并挂载docker run -d --name mypostgres -p 5432:5432 -v /Users/vick/data/docker/postgres:/var/lib/postgresql/data -e POSTGRES_PASSWORD.原创 2021-04-24 09:55:13 · 2909 阅读 · 2 评论 -
[笔记]Data truncation: Out of range value for column ‘id‘ at row 1
记一次mysql插入数据报错异常看到Out of range value for column 'id' at row 1字面意思是插入的数据值超过ID列的范围了可能原因:数据库字段值范围小,插入字段值范围大修复:修改数据库字段类型,例如将int改为bigint插入一个临界点的值成功,再次插入则报错修复:修改数据库字段类型,例如将int改为bigint使用mybatisplus注解@TableId且没有指定type(或指定为IdType.NONE)修复: 指定type=IdType.AUT原创 2021-04-09 18:01:15 · 18165 阅读 · 1 评论 -
【笔记】logback-spring.xml内容保存
logback-spring.xml配置文件说明:复制logback-spring.xml后需要更改application-xxx.yml文件中logging的配置,具体:1.日志名称。2.路径可改可不改spring boot版本 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent&原创 2021-04-02 13:23:40 · 304 阅读 · 0 评论 -
mysql创建数据库sql语句、创建新用户授权指定的数据库权限
创建数据库sql语句drop database if exists `test-pro`;create database `test-pro` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;创建新用户并给授权指定的数据库权限使用 root 管理员登陆 mysqlmysql -uroot -p123456;创建用户-- 低版本数据库create user '用户名'@'%' identified by '密码';原创 2021-03-23 10:27:18 · 2654 阅读 · 2 评论 -
【学习】自定义排序-枚举定义实现
自定义排序-枚举实现实体(重点Comparable参数)@Data@EqualsAndHashCode(callSuper = false)public class StatisticViewVo extends BaseEntity { /** * 商品ID */ @Field("goods_id") private Integer goodsId; /** * 商品名称 */ @Field("goods_nam原创 2021-03-05 14:32:37 · 364 阅读 · 0 评论 -
【笔记】将一个大List集合拆分成几段
【背景】实际业务中会遇到数据库查询的数量巨大,需要将记录集合拆分为若干进行处理使用guava工具import com.google.common.collect.Lists;// 业务拆分部分代码// 1.假设从数据库查询的记录为ordersList<Order> orders = new ArrayList<>();// 2.使用Lists进行拆分,拆分为每个10个Order(这里的10表示,拆分完每个‘内’List的个数,最后一个内集合个数可能不为10)List&原创 2020-12-16 11:44:44 · 1841 阅读 · 0 评论 -
【记录】docker运行springboot项目,docker构建springboot项目,Dockerfile文件编写
docker运行springboot项目原创 2020-12-01 16:30:34 · 272 阅读 · 0 评论 -
【笔记】linux安装docker、jdk简单方法
linux安装java1.查看jdk是否安装java -version如图2.搜索javayum -y list java*3. 安装yum install -y java-1.8.0-openjdk.x86_64安装完成验证安装docker搜索dockeryum -y list docker*安装dockeryum install -y docker.x86_64启动dockersystemctl start docker查看docker是否安装原创 2020-12-01 16:04:53 · 1453 阅读 · 0 评论 -
【学习笔记】docker安装mongodb并挂载【mac示例】
搜索镜像docker search mongo拉取镜像docker pull mongo创建挂载目录在本地创建文件夹,挂载路径自定义mkdir -p /Users/vick/data/programs/docker/mongo/{data,conf,backup}启动容器docker run --name=mongodb -v /Users/vick/data/programs/docker/mongo/data:/data/db \-v /Users/vick/data/p原创 2020-11-18 11:00:19 · 1881 阅读 · 0 评论 -
NavicatPremium12试用脚本
适用navicat12软件脚本-Macmac版本mac版本仅适用mac版本1、脚本#!/bin/bashVER=120 # 你使用的Navicat Premium版本号,12.0.x为120,12.1.x为121,以此类推。DSTR=$(date +%Y%m%d)defaults write ~/Library/Preferences/com.prect.NavicatPremium12.plist ptc$VER "$DSTR"defaults write ~/Library/Prefer原创 2020-09-24 09:38:05 · 588 阅读 · 2 评论 -
【记录】Spring Data Jpa使用注意点汇总
Spring Data Jpa使用注意点汇总@CreatedBy @LastModifiedBy注意点@CreatedBy表示创建该条记录的是当前登录的账号@LastModifiedBy表示当前登录的账号更新该条记录示例:假设我们有这样一个需求,当查询指定用户的默认分组不存在时,新建(重点:当前登录的用户与指定用户不同)1、分组Group实体@Data@EqualsAndHashCode(callSuper = true)@Entity@Table(name = "group")@Ent原创 2020-09-23 09:52:53 · 236 阅读 · 0 评论 -
【记录】创建线程池、不使用缓存队列、使用缓存队列
不使用线程池的缓存队列import com.google.common.util.concurrent.ThreadFactoryBuilder;import java.util.concurrent.*; @Bean public ExecutorService executorService() { return new ThreadPoolExecutor(10, 200, 60, TimeUnit.SECONDS, // 阻塞队列原创 2020-09-10 10:57:28 · 1119 阅读 · 0 评论 -
基于aop+注解方式实现异常重试机制
背景:调用第三方服务,发生特定异常时需要重试1.封装一层第三方调用的服务类package com.example.db.service;import org.springframework.stereotype.Service;import java.util.Map;/** * @author Vick C */@Servicepublic class ThirdRpcService { /** * 示例方法 * <P>可以是依赖jdk的封原创 2020-09-09 16:04:27 · 1279 阅读 · 2 评论 -
idea、goland、webstorm、pycharm历史版下载官网下载
官网地址https://www.jetbrains.com/idea/download/other.html网速较慢,有条件的可以q找到想要的版本下载即可原创 2020-08-28 11:54:20 · 2177 阅读 · 0 评论 -
[记录]java实现curl功能
java实现curl功能public static String execCurl(String[] cmds){ ProcessBuilder process = new ProcessBuilder(cmds); Process p; try { p = process.start(); BufferedReader reader = new BufferedReader(new InputStreamRe原创 2020-08-22 14:16:23 · 2312 阅读 · 0 评论 -
[java]获取重定向url地址
/** * 获取重定向地址 */ private static String getRedirectUrl(String url) throws IOException { HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); conn.setInstanceFollowRedirects(false); conn.setCon...原创 2020-08-17 16:45:54 · 3643 阅读 · 1 评论 -
Date和LocalDateTime的相互转换,字符串转LocalDateTime,求日期最晚时间、最早时间、获取整点时间、时间格式化JsonFormat
Date转LocalDateTime导包如下import java.time.LocalDateTime;import java.time.ZoneId;import java.time.format.DateTimeFormatter;以下是转化代码 public static LocalDateTime toLocalDateTime(Date date) { // 方法一 LocalDateTime localDateTime = date.toIn原创 2020-08-08 17:55:01 · 17251 阅读 · 0 评论 -
Mac查找jdk位置并启动jvisualvm
打开终端/usr/libexec/java_home -V如图:位置如下:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home进入目录:题外话:打开jvisualvm工具: 再cd bin/输入jvisualvm启动即可原创 2020-08-01 11:40:27 · 8490 阅读 · 10 评论 -
shell脚本-自动更新(拷贝指定文件到指定位置)scp拷贝
拷贝当前机器文件到指定服务器目录server="120.xx.xx.100"localpath="/opt/路径"if [ "$1" != "" ]then server="$1"ficp ${localpath}/lib/*.json ./temp/cp ${localpath}/lib/*.so ./temp/lib/cp ${localpath}/dist/bin/.so ./temp/lib/sshpass -p 密码 scp -r ./temp/* root@${ser原创 2020-07-23 10:34:37 · 3553 阅读 · 1 评论 -
HV000030: No validator could be found for constraint ‘javax.validation.constraints.Size‘
@Size使用报错HV000030: No validator could be found for constraint ‘javax.validation.constraints.Size’控制层在使用303校验报错错误的写法@Size(message="xxxx",min=1,max=10)Integer value;直接上代码@Min(message="xxx",value=1)@Max(message="xxx",value=10)Integer value;原因@Size注原创 2020-07-04 15:27:56 · 9303 阅读 · 6 评论 -
阿里云docker安装rabbitmq及入门教程
阿里云安全组开放2个端口5672,15672安装1.搜索rabbitmq# 不指定版本docker search rabbitmq# 指定版本3-managementdocker search rabbitmq:3-management# 指定management版本docker search rabbitmq:management2.拉取docker pull rabbitmq3.运行docker run -d -p 15672:15672 -p原创 2020-06-30 13:35:28 · 1287 阅读 · 2 评论 -
java从URL下载文件、图片到本地
有时候我们需要从网络上下载一个文件、图片、视频等到本地,不想依赖jar,就需要自己实现代码:import java.io.*;import java.net.URL;import java.net.URLConnection;/** * @author : Vick C * @version : v1.0 * @date : 2020/6/19 */public class FileUtil { /** * download file from interne原创 2020-06-19 14:33:25 · 1283 阅读 · 0 评论 -
从零开始教你dubbo自定义负载均衡策略
前言:官网文档有一重要章节SPI,建立好好阅读,为本文做铺垫1.搭建工程,结构如下:dubbo-learn ---> 父pomdubbo-api ---> 服务提供者和消费者共同依赖对接口apidubbo-provide1,2,3 ---> 分别是3个服务提供者dubbo-consumer ---> 服务消费者1.1) dubbo-learn对应pom<?xm...原创 2020-06-16 17:29:07 · 2121 阅读 · 3 评论 -
git未提交代码找回
由于种种原因,写的代码没有提交到本地仓库(更别说远程仓库)然后同事说,合下他的代码到我到分支。脑子抽了,直接点了idea的merge按钮发现自己本地代码全部没提交,送给自己一首凉凉。解决办法,直接上图(idea版本2020.1)路径: idea底部-> git -> Shelf -> 右键->选择Unshelve(或者选中状态下点击左侧按钮)方法一:右键选择Unshelve出现如下界面输入comment->Unshelve Changes原创 2020-06-06 17:18:24 · 17997 阅读 · 12 评论 -
Redis分布式锁、RedisTemplate、lettuce实现
springboot新版本使用lettuce取代了jedis连接redis,分布式锁实现代码如下import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.connection.RedisStringCommands;import org.springframework.data.red...原创 2020-05-29 16:02:35 · 1621 阅读 · 2 评论 -
dubbo使用带有密码的redis注册中心完整配置及遇到问题解决、RestTemplate配置【持续更新】
业务需要整合dubbo,考虑成本,使用现有的redis作为注册中心,项目使用的Spring-boot-starter版本2.7.6步骤:参考官方中文文档http://dubbo.apache.org/zh-cn/docs/user/quick-start.html1.在项目中导入依赖:(1.服务提供者provider、服务消费者consumer都需要导入以下jar)<!-- https://mvnrepository.com/artifact/org.apache.dubbo/du.原创 2020-05-22 15:33:00 · 2272 阅读 · 0 评论
分享