- 博客(65)
- 收藏
- 关注
原创 G1垃圾收集器jvm参数设置
#堆内存最大最小值为4g,新生代内存2g-Xms4g -Xmx4g -Xmn2g #元空间128m,最大320m-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m #开启远程debug-Xdebug -Xrunjdwp:transport=dt_socket,address=9555,server=y,suspend=n #使用G1垃圾收集器,在低延迟和高吞吐间寻找平衡,可以调整最大停止时间,设置新生代大小来提高吞吐量,让出cpu资源-XX:+
2022-04-13 10:56:07
2976
2
原创 慢日志分析工具mysqldumpslow
慢查询分析工具mysqldumpslowmysqldumpslow[OPTS…][LOGS…] --后跟参数以及log文件的绝对地址;-s 按照那种方式排序c:访问计数l:锁定时间r:返回记录al:平均锁定时间ar:平均访问记录数at:平均查询时间-t 是top n的意思,返回多少条数据。-g 可以跟上正则匹配模式,大小写不敏感。1.得到返回记录最多的20个sqlmysqldumpslow -s r -t 20 sqlslow.log2.得到平均访问次数最多的20条sqlm
2022-04-12 15:02:25
314
原创 mysql主从配置文件
主节点配置文件# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation;
2022-04-12 14:59:42
1197
原创 基于docker容器的myql主从复制
基于docker容器的myql主从复制1.拉取mysql镜像docker pull mysql:5.72.查看mysql镜像docker images3.根目录/data/mysql_3306下新建文件夹cd /data/mysql_3306mkdir cnfmkdir datamkdir logs4.启动mysql容器实例,映射主机3306端口docker run --name mysql_3306 -v /data/mysql_3306/logs:/logs -v /data/m
2022-03-21 11:48:46
1481
原创 扩展配置文件EnvironmentPostProcessor
有时我们想要修改引入jar包配置,例如第三方jar包。那么我们必须自定义配置去覆盖原有jar包属性。Springboot提供了扩展接口EnvironmentPostProcessor自定义配置文件加载优先级:相对路径,放在tomcat服务器同一级目录,优先级最高绝对路径,根据配置的路径加载配置文件,优先级第二默认方式,properties文件放在resources文件夹下,优先级排第三1.实现EnvironmentPostProcessor接口,加载自定义配置文件package com.z
2022-03-16 11:40:42
975
原创 linux下springboot项目启动脚本
linux启动springboot项目脚本指定初始jvm参数,开启远程调试#!/bin/bash#定义jar文件名称RESOURCE_NAME=txlcn-tm-5.0.2.RELEASE.jar#停止服务PID=$(ps -ef | grep $RESOURCE_NAME | grep -v grep | awk '{ print $2 }')if [ -z "$PID" ]then echo $RESOURCE_NAME Application is already stop
2022-03-16 10:50:18
1768
原创 jvm常用参数
-Xms2g 堆内存初始化大小–Xmx2g 堆内存可分配最大内存-Xmn750m 对-XX:newSize、-XX:MaxnewSize同时配置,新生代大小-XX:+PrintGCDateStamps 打印gc日志时间-XX:+PrintGCDetails 打印gc日志详细信息-XX:+PrintGCApplicationStoppedTime 打印gc停顿时间-XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息-Xloggc:/data/jvm/gc.log 打印gc日志到指
2022-03-15 10:38:50
540
原创 linux下Local Adress(本地ip:端口)和Foreign Address(外部ip:端口)
linux下查看端口时会有Local Adress(本地ip:端口)和Foreign Address(外部ip:端口)其中Local Adress分为0.0.0.0所有ip都可访问,127.0.0.1只有本机可访问
2022-01-25 10:20:20
8049
原创 @value注解设置默认值
如果配置文件中没有demo.num配置属性,启动时就会报错,spring加载不到此属性值。@value("${demo.num}")如果配置文件中没有demo.num配置属性,取默认值100。@value("${demo.num:100}")
2021-12-14 10:41:22
14530
原创 linux下mysql定时备份
数据库备份说明备份路径:/data/mysql-back/java-practice备份脚本:/data/mysql-back/java-practice/database-java-practice-backup.sh备份时间:每天02:00备份备份要求:备份的数据只保留1周1.备份脚本见同级目录下database-java-practice-backup.sh2.为脚本加上权限chmod +x /data/mysql-back/java-practice/database-java-p
2021-12-10 16:48:17
238
原创 自定义实现布隆过滤器
什么是布隆过滤器?以下摘自百度百科布隆过滤器(BloomFilter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。以下为借鉴其他资料实现布隆过滤器代码package com.zmx.common.common.utils.bitmap;import java.util.BitSet;import java.util.conc
2021-12-02 16:10:49
664
原创 BitMap过滤整数
简易版对整数进行过滤、判断是否已存在代码如下:package com.zmx.common.common.utils.bitmap;import lombok.extern.slf4j.Slf4j;/** * @Description: 简易版对整数进行过滤、判断是否已存在 * @ClassName: SimpleBitMapUtil * @Author zhaomxr * @Date 2021-12-02 10:30 */@Slf4jpublic class SimpleBitM
2021-12-02 16:05:45
582
原创 Oracle与Mysql获取系统时间
Oracle中获取当前时间函数为 SYSDATEselect SYSDATE from dual;Mysql中获取当前时间函数为 SYSDATE()select SYSDATE() from dual;select NOW() from dual;
2021-11-24 11:28:13
571
1
原创 Springboot基于jpa生成entity等代码
1.View -> Tool Windows -> Database2.右键选择数据库表,点击下方Scripted extensions -> Generate POJOs.groovy
2021-11-22 15:06:23
925
原创 spring cloud gateway中请求过滤器
spring cloud gateway中请求过滤器package com.zmx.gateway.filter;import com.zmx.gateway.properties.MallAuthProperties;import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang.StringUtils;import org.springframework.beans.factory.annotation.Autowired;i
2021-11-18 16:53:35
397
原创 spring cloud gateway中跨域问题
spring cloud gateway中跨域问题package com.zmx.gateway.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.cors.CorsConfiguration;import org.springframework.we
2021-11-18 16:51:47
118
原创 axios请求拦截器
main.js中添加axios请求前拦截器、接受拦截器import axios from 'axios'// 添加请求拦截器,在请求头中加token,Cookieaxios.interceptors.request.use( config => { if (localStorage.getItem('Authorization')) { config.headers.Authorization = localStorage.getItem('Authorization'
2021-11-18 16:49:44
4250
原创 coalesce函数
coalesce函数可支持大部分主流数据库作用coalesce(var1,var2,var3)会从第一个开始向后寻找,直到返回一个不为空的值使用场景可用于兼容mysql中ifnull与oracle中nvl函数不一致问题
2021-11-18 16:46:24
727
原创 redis与数据库数据一致性问题
采用先更新数据库,再删除缓存方式(推荐) | 如果是热点key比较多情况下,用先更新数据库,再更新缓存方式分布式锁对当前更新数据加锁,保证并发数据一致性修改订单状态此订单加入延时队列中,补偿删除对应缓存中数据删除缓存@Transactional(rollbackFor = Exception.class) public B2cOrderDto updateOrderStatusByCode(String orderCode, OrderStatusEnum orderStatusEnu
2021-10-26 11:46:17
154
原创 net.sf.json-lib
net.sf.json-lib分为两个不同版本,注意加入classifier区别版本<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk13</classifier></depen
2021-10-26 11:43:30
1924
原创 过滤重复数据
定时任务或者一些需要大量处理数据操作时,传统方式都是查询数据库后进行判断,带来弊端就是大量IO造成数据库连接打满,严重影响性能。基于两级缓存优化数据判重实现代码如下:package com.mingxing.study.common.utils;import com.google.common.collect.Maps;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.A.
2021-09-16 17:00:12
256
原创 @Autowired初始化内幕
spring初始化时会将当前bean按照类型和名称注入到ioc容器中@Autowired会根据bean类型取对应对象引用,如果检查到bean类型只有一个就直接取,如果有多个就按照当前bean名称匹配取注意点:一个类B实现或继承类A,在容器中B的类型仍然为A...
2021-09-15 16:55:44
503
原创 pojo转换接口说明方法
pojo转换接口说明方法package com.yonyou.convert.service;import com.alibaba.fastjson.JSON;import com.yonyou.convert.dto.ResponseDto;import io.swagger.annotations.ApiModel;import io.swagger.annotations.ApiModelProperty;import lombok.extern.slf4j.Slf4j;import
2021-08-24 15:48:25
152
原创 Jackson转换工具类
spring自带 Jackson转换工具类package com.yonyou.convert.common.utils;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.core.type.TypeReference;import com.fasterxml.jackson.databind.DeserializationFeature;import com.faster
2021-08-24 15:42:47
259
原创 基于NIO实现Discard服务器
基于NIO实现Discard服务器1.服务端DisCardServerpackage com.netty.redis.zookeeper.netty.unit1.oneday;import lombok.extern.slf4j.Slf4j;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;
2021-07-13 11:44:31
302
原创 基于nio的DatagramChannel传输数据
DatagramChannel是一个接受UDP包的通道,不保证数据传输的可靠性1.服务端serverpackage com.netty.redis.zookeeper.netty.unit1.oneday;import lombok.extern.slf4j.Slf4j;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channel
2021-07-13 10:30:36
278
原创 基于nio的ScoktChannel数据传输
java中nio的ScoktChannel数据传输1.服务端serverpackage com.netty.redis.zookeeper.netty.unit1.oneday;import lombok.extern.slf4j.Slf4j;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.ServerSocketC
2021-07-13 10:28:01
257
原创 基于java nio的channel实现高效率复制文件
基于java nio的channel实现高效率复制文件关键:其中的transferFrom基于零拷贝技术package com.netty.redis.zookeeper.netty.unit1;import lombok.extern.slf4j.Slf4j;import java.io.*;import java.nio.channels.FileChannel;/** * @Description: 第一天练习 * 通过使用 Channel 通道,完成复制文件。 * 本环节的目
2021-07-12 16:51:20
340
原创 高并发下扣减库存及DB数据库更新数据到redis
高并发下扣减库存及DB数据库更新数据到redis直接上代码,里面有详细注释哦~1.pom.xml中引入redis和redission相关依赖<!--redis--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>
2021-06-30 09:27:09
419
原创 无重复字符的最长子串
无重复字符的最长子串package com.example.demo.study.shuanfa;import lombok.extern.slf4j.Slf4j;import java.util.HashSet;/** * @Description: 无重复字符的最长子串 * @ClassName: LongestSubstringWithoutRepeatingCharacters * @Author zhaomx * @Version 1.0 * @Date 2021-06-2
2021-06-29 15:24:09
70
原创 两数相加问题
两数相加问题package com.example.demo.study.shuanfa;import com.alibaba.fastjson.JSON;import lombok.Data;import lombok.extern.slf4j.Slf4j;/** * @Description: 两数相加 * @ClassName: AddTwoNUmbers * @Author zhaomx * @Version 1.0 * @Date 2021-06-29 11:05 */
2021-06-29 11:41:10
169
原创 两数之和问题
两数之和问题例如:输入:int[] nums = {9, 7, 11, 2}; int number = 9;输出:[1,3]解释:因为 nums[1] + nums[3] == 9 ,返回 [1, 3] 。package com.example.demo.study.shuanfa;import com.alibaba.fastjson.JSON;import lombok.extern.slf4j.Slf4j;import java.util.HashMap;/** * @De
2021-06-29 10:45:38
79
原创 反转链表算法
反转链表package com.example.demo.study.shuanfa;import com.alibaba.fastjson.JSON;import lombok.Data;import lombok.extern.slf4j.Slf4j;/** * @Description: 反转链表 * @ClassName: ReverseLinkedList * @Author zhaomx * @Version 1.0 * @Date 2021-06-29 09:02 *
2021-06-29 09:28:53
80
原创 mysql的InnoDb引擎更新一条数据流程
mysql的InnoDb引擎更新一条数据流程1.开启事务2.查询出对应数据,将其放入内存3.记录undo_log到内存buffer4.记录redo_log到内存buffer5.更改内存中的数据记录6.提交事务,出发redo_log刷盘7.记录bin_log,二进制追加记录(用于主从同步)8.事务结束...
2021-06-28 15:23:05
281
原创 docker开机自启动
一、docker服务设置自动启动查看已启动的服务systemctl list-units --type=service查看是否设置开机启动systemctl list-unit-files | grep enable设置开机启动systemctl enable docker.service关闭开机启动systemctl disable docker.service二、docker容器设置自动启动启动时加–restart=alwaysdocker run -tid --name isal
2021-06-28 15:18:13
503
原创 CentOS8.2安装docker
CentOS8.2安装docker1.安装必要工具sudo yum install -y yum-utils device-mapper-persistent-data lvm22.安装repo包sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.更新 Docker-CE(CentOS8.2中没有fast参数)sudo yum makecache4
2021-06-25 08:59:17
209
原创 redis的string,hash,list,set,zet常用方法总结
redis五种类型 string,hash,list,set,zet常用方法总结:package com.example.demo.study.redis;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.Cursor;import org.springframework
2021-06-17 17:00:39
287
原创 spring事务传播特性
spring事务传播特性1.Propagation.REQUIRED(spring中@Transactional默认方式)如果当前有事务就加入当前事务,如果没有事务就新建一个事务2.Propagation.SUPPORTS支持当前事务,如果当前没有事务,就以非事务方式运行3.Propagation.MANDATORY使用当前事务,如果当前没有事务,就抛出异常4.Propagation.REQUIRES_NEW新建一个事务,如果当前有事务就将当前事务挂起。外部事务不会影响内部事务5.Prop
2021-06-07 15:25:58
348
原创 jdk1.8中常用线程池总结
常用线程池总结1.ThreadPoolExecutor2.newFixedThreadPool3.newCachedThreadPool4.newSingleThreadExecutor5.newScheduledThreadPoolpackage com.example.demo.study.thread;import java.util.concurrent.*;import java.util.concurrent.atomic.AtomicInteger;import stat
2021-06-03 17:02:54
292
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人