自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实现Filter类,重写doFilter方法,获取请求body的实现

上一篇写的是在Spring WebFlux中的WebFilter中实现filter方法,并获取请求body的实现,这篇是Java Servlet API中的,用于在Servlet容器中实现过滤器。关键类是RequestWrapper。

2023-12-11 10:09:21 499

原创 在WebFilter中实现filter方法,并获取请求body的实现

【代码】在WebFilter中实现filter方法,并获取请求body的实现。

2023-12-08 09:09:22 643

原创 使用JsonPath解析json指定的属性

使用JsonPath解析json指定的属性。

2023-05-16 17:24:25 293

原创 过滤器WebFilter的使用

过滤器WebFilter的使用。

2023-05-16 17:15:28 214

原创 使用fastjson自定义是否序列化或反序列化

使用fastjson自定义是否序列化或反序列化。

2023-05-16 17:11:21 249

转载 MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案

有时候,遇到数据库重复数据,需要将数据进行分组,并取出其中一条来展示,这时就需要用到group by语句。但是,如果mysql是高版本,当执行group by时,select的字段不属于group by的字段的话,就会报错。报错信息如下:nonaggregated column ‘数据库名.表名.字段名’ which is not functionally dependent。...

2022-08-16 10:07:55 416

原创 查看jdk默认回收GC

java -XX:+PrintFlagsFinal -version | grep ‘:=’可以看到1.8默认的是 UseParallelGC在JVM中是+XX配置实现的搭配组合:UseSerialGC 表示 “Serial” + “Serial Old”组合Serial/Serial Old收集器 是最基本最古老的收集器,它是一个单线程收集器,并且在它进行垃圾收集时,必须暂停所有用户线程。Serial收集器是针对新生代的收集器,采用的是Copying算法,Serial Old收集器是针对老年代的

2021-03-15 11:45:01 750

原创 @Scheduled没有按照指定时间执行任务

springboot项目中,默认是只要一个线程去执行定时计划的,当项目中定时器多起来,这是该线程如果执行别的定时任务阻塞,则会导致其余的定时任务执行时间间隔变长。解决办法也很简单,就是初始一个定时任务执行线程池。在这里插入代码片@Configurationpublic class ScheduleThreadPool implements SchedulingConfigurer {@Overridepublic void configureTasks(ScheduledTaskRegistrar

2021-03-05 10:53:32 1107 1

原创 mongo的两个检测工具mongotop和mongostat

之前发现线上发mongo服务,四核的cpu,全都达到了99%然后使用下面的两个命令,定位到是有一张表,一直在批量更新操作。最后给这张表添加了复合索引,解决问题。/root/mongodb-linux-x86_64-rhel70-3.6.21/bin/mongotop --host 127.0.0.1 --port 27017 -u admin -p admin --authenticationDatabase “admin”第一个命令,可以直观看到列表是耗时倒叙的,可以知道那张表最耗时,耗时原因是r

2021-03-04 15:55:56 336 1

原创 java字符串根据编码格式互相转换

public static void main(String[] args) throws IOException { //System.out.println(MD5("2221083" + "20111101" + "pagehis")); String txt = "我是中国人"; String res = changeCharset(txt, "utf-8"); String result = changeCharset(res,

2020-10-16 18:10:49 268

原创 org.redisson.client.RedisTimeoutException: Redis server response timeout (3000 ms) occured for comma

在使用redission的分布式锁的时候,两台机器,其中一台遇到如下报错org.redisson.client.RedisTimeoutException: Redis server response timeout (3000 ms) occured for comman版本如下 <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId>

2020-09-23 18:06:49 8299 3

原创 Java根据间隔多少时间后,执行业务功能

public static ThreadFactory threadFactoryName = new ThreadFactoryBuilder() .setNameFormat("push-leave-learning-pool-%d").build(); ScheduledThreadPoolExecutor scheduledExecutorService = new ScheduledThreadPoolExecutor(1, threadFactoryName);

2020-09-08 15:37:18 258

原创 记一次mysql数据库磁盘空间满的问题

577-### SQL: TRUNCATE TABLE sys_account_staff578:### Cause: java.sql.SQLException: Got error 168 from storage engine579:; uncategorized SQLException; SQL state [HY000]; error code [1030]; Got error 168 from storage engine; nested exception is java.sql.S

2020-06-29 14:23:42 710

原创 git按时间统计代码量

git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --since ==2020-05-01 --until=2020-05-31 --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed

2020-05-20 19:42:00 387

原创 git保存用户名和密码

在服务客隆完代码之后,进入项目的根目录,输入命令,保存用户名和密码。git config credential.helper store

2020-04-22 17:03:30 154

原创 java中两个实体类转换,如果为空,忽略这个属性

static void copyNonNullPropertiesStatic(Object source, Object target) {final BeanWrapper wrappedSource = new BeanWrapperImpl(source); String[] nullPropertyNames = Stream.of(wrappedSource.getPrope...

2020-04-17 19:14:22 732

原创 FTP的脚本

#!/bin/bashdatabase infotoday=(date−d"now"+ago30=(date -d "now" +%Y-%m-%d)ago30=(date−d"now"+ago30=(date -d “-30 days” +%Y-%m-%d)echo ${today}echo ago30tar−cvf/sunlands/dbbackup/mysql/zlcxwx/{ago...

2020-04-15 19:59:21 371

原创 nginx统计url

cat access.log | grep “02/Dec/2019” | sed -n ‘/09:00:00/,/09:30:01/p’注意,//中的时间必须是实际存在的,即日志中存在的时间,否则会无数据。比如我日志中没有09:30:00的日志,只有09:30:01的,所以要用09:30:01,你可以先grep一下你日志中9点左右,9:30左右的日志,取一个时间点cat access.lo...

2020-03-13 18:18:59 606

原创 mongo主从配置

启动时,设置主mongod -f /etc/mongod.conf --master启动时,设置从mongod -f /etc/mongod.conf --slave --source 172.16.225.36:27017 --autoresync说明:在这里mongo启动时,没有指定dbpath和logpath,是因为这些都在conf文件中指定了,所以只需要指定配置文件就可以了。同理,...

2019-11-07 15:00:55 212

原创 mysql备份,shell脚本

#!/bin/bashdatabase infouser=‘root’password=‘Test123!@#’host=‘127.0.0.1’db_name=‘roi_manager’backup_pathbackup_filepath=’/sunlands/db_backup/mysql/zlcx_wx’backup_time=date '+%Y-%m-%d-%H_%M_%S'...

2019-11-07 11:37:29 132

原创 mysql数据库大小查询

查询数据库某个实例的大小select concat(round(sum(data_length/1024/1024),2),‘MB’) as data from tables where table_schema=‘roi_manager’;查询数据库某个实例下的所有表的大小selecttable_schema as ‘数据库’,table_name as ‘表名’,table_row...

2019-11-07 11:30:55 117

原创 centos小知识点

lsb_release -a

2019-09-16 11:26:07 129

原创 使用redis-dump导出导入redis数据

Centos默认支持ruby到2.0.0,可gem 安装redis需要最低是2.2.2解决办法是 先安装rvm,再把ruby版本提升至2.3.3安装Ruby环境yum install ruby rubygems ruby-devel -y更改gem源gem sources -a https://gems.ruby-china.com/gem sources --remove http...

2019-07-31 11:33:02 192

原创 linux下安装上传下载命令

yum install -y lrzsz

2019-07-31 11:19:14 1097

原创 使用spring-data-mongodb对mongo进行联表分页查询

对应mongo的sql语句查询总数量db.getCollection('user').aggregate([{ $lookup: { // 左连接 from: "dialog", // 关联到的表 localField: "_id", // user 表关联的字段 foreignField: "usersId", // dialog 表...

2019-07-31 11:12:46 1525 4

原创 redission结合lua脚本的redis分布式锁的原理

redission结合lua脚本,分布式锁的代码如下:流程如下:

2019-06-12 19:05:28 1839

原创 centos7开启访问端口

先安装iptables开机启动systemctl enable iptables启动,启动失败systemctl restart iptables先save,才能启动service iptables save启动systemctl restart iptables查看状态service iptables status启动防火墙–失败systemctl start firew...

2019-06-05 18:43:23 824

原创 插入排序,和冒泡排序比较

在算法上,没有区别,无论是循环次数,还是比较次数。import java.util.Arrays;/** * Created by shixi on 2019/6/4 */public class InsertSort { public static void main(String[] args) { int [] arr = {9,8,7,6,5,4,3...

2019-06-04 17:49:24 108

原创 虚拟机开放端口供外部调用

虚拟机开放端口供外部调用,并保存,不然虚拟机重启后,需要重新开放端口iptables -I INPUT -p tcp --dport 6379 -j ACCEPTservice iptables save

2019-05-05 11:45:52 1421

原创 java类加载过程

public class B { //静态变量 static int i = 1; //静态代码块 static{ System.out.println("Class B1: static blocks i = " + i); } //静态代码块 static { i++; System.ou...

2019-04-08 16:14:10 102

原创 java运算符

|二进制或如:6 | 3 转为二进制:110 | 011 有1则为1,否则为0,即结果为: 111=7,故 6 | 3=7&二进制与都为1,才是1^二进制异或相同为0,异为1

2019-04-03 16:15:08 81

原创 Java中instanceof关键字

instanceof在Java的编译状态和运行状态是有区别的:在编译状态中,class可以是object对象的父类,自身类,子类。在这三种情况下Java编译时不会报错。在运行转态中,class可以是object对象的父类,自身类,不能是子类。在前两种情况下result的结果为true,最后一种为false。但是class为子类时编译不会报错。运行结果为false。...

2019-04-03 16:07:19 197

原创 jpa插入让主键id使用自定义值

@Id @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "idOrGenerate") @GenericGenerator(name = "idOrGenerate", strategy = "com.sunlands.util.IdOrGenerate") Integer id;p...

2019-03-12 19:56:57 6959

原创 spring在同一类中,使用注解在两个方法上配置两个默认事务

方法A事务配置为只读,@Transactional(rollbackFor = Exception.class, readOnly = true)方法B事务配置为非只读@Transactional(rollbackFor = Exception.class, readOnly = false)1、(如果两个方法配置都为非只读)方法A调用方法B的时候,只开启了一个事务2、方法A调用方法B的时候...

2019-03-08 18:14:53 1313

原创 mongo模糊查询,带有特殊字符需要转义,再去查询

/** &nbsp;* 转义正则特殊字符 ($()*+.[]?\^{},|) &nbsp;* &nbsp;* @param keyword &nbsp;* @return &nbsp;*/ public static String escapeExprSpecialWord(String keyword) { String...

2019-02-19 16:27:34 6176 3

原创 redis的5种数据结构,在java中的表现形式

package com.mytest.controller;import java.util.List;import java.util.concurrent.TimeUnit;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import or...

2019-02-14 17:08:10 413

原创 java获取字符串中的手机号,并且把前7位替换为*,再输出日志

public static final String REGEX_MOBILE = "(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\\d{8}";public static String regexMobile(String content){ Pattern p = Pattern.compile...

2018-12-28 20:48:23 1498

原创 mongo连表查询

sql语句如下:db.getCollection('user').aggregate([{ $lookup: { // 左连接 from: "message", // 关联到message表 localField: "thirdId", // user 表关联的字段 foreignField: "fromId", // message 表...

2018-12-12 15:02:05 477

原创 linux命令,查看文件或文件夹大小,清空正在运行的日志文件

查看文件或文件夹大小du -sh *说明:-s只显示总和的大小-h以K,M,G为单位,提高信息的可读性。指定文件或文件夹,或用*代表当前目录下的所有清空正在运行的日志文件使用rm -rf 是不会释放空间的,除非杀死进程所以可以使用echo ‘’ &gt; xxxx.log...

2018-12-10 14:35:32 352

原创 时间戳毫秒转LocalDateTime

public static void main(String[] args) { //时间戳毫秒转LocalDateTime LocalDateTime localDateTime = new Date(1535444725000L).toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime(); ...

2018-11-29 18:25:24 18749 2

空空如也

空空如也

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

TA关注的人

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