- 博客(279)
- 资源 (20)
- 问答 (4)
- 收藏
- 关注
原创 Cookie原理及JAVA端关于Cookie的增删改查操作
Cookie和Session是但凡做开发都会接触到的东西,本文主要讲述了Cookie的原理以及在Java端我们如何操作Cookie
2023-03-03 10:26:12
152
原创 mysql with recursive 递归用法
with recursive 是一个递归的查询子句,他会把查询出来的结果再次代入到查询子句中继续查询。
2023-01-28 15:52:28
994
原创 linux环境变量应该配置在哪里?
长久以来,我一直搞不懂linux的环境变量到底应该配置在哪里,很多时候要配置环境变量,也只是网上一搜,随便找段命令来用,只要能成功就觉得万事大吉。但实际上如果不知其所以然,后面出问题了我也不知道怎么解决,今天又遇到问题就是通过手动命令行能执行`java -jar`命令,但通过jenkins却无法执行,一直提示找不到JDK。所以好好研究了关于环境变量的配置信息,特此记录,以备查阅。
2022-11-04 15:05:09
716
原创 Swagger使用
如果你打开百度,搜索Swagger使用,网上说引入各种包的都有,访问的路径也是千奇百怪,你始终搞不清楚到底需要引入哪些包,访问路径到底是哪个。究其原因,是因为springboot的版本不同,导致的配置方式也不同。这篇文章跟你一次性讲清楚。
2022-11-01 10:49:28
337
原创 根据枚举code获取枚举值
枚举接口类BaseIntEnumpackage com.bt.common.core.enums;import java.util.*;/** * Enum implement this interface to customize: * <ol> * <li>{@link #value()} real numeric into DB. Default impl Enum's * {@link #ordinal()}</li> * <li>
2022-05-10 09:41:29
1585
原创 Centos7 安装Jenkins及部署前后端应用到服务器
一、安装Jenkins# 1、下载镜像仓库jenkins.repowget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificate# 2、下载jenkins.io.keyrpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key# 3、yum下载安装依赖和jenkins
2022-03-19 22:21:01
2730
原创 idea 2021.2及以后设置全局搜索结果不限制为100
吐个槽idea每次更新部分设置项都会变动位置,导致网上的教程都失效,比如这个问题,网上的解决方案都是什么设置ide.usages.page.size,但这个选项在idea 2021.2及以后版本都没了如何设置(觉得有帮助的点个赞,找了好久)...
2021-12-05 12:31:55
1962
4
原创 用exists代替in真的好么?
前言在面试谈到sql优化的一些经验时,有些面试者会回答:写sql时,最好用exists来代替in,因为in不走索引,所以用exists的sql性能较好,那真的是这样么?以下用AB两表,做个示例,两表都有一个id字段,而两个表都为id字段建立了索引Inin的作用其实就是把范围内存在的数据做个返回,先看看下图的简单示例sql:select * from A where id in (select id from B)这句sql等价于两个循环:for select id from Bfor se
2021-11-27 22:21:09
3455
原创 Springboot读取excel
1. 导包<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.0</version></dependency><dependency> <groupId>org.apache.poi</groupId> &l
2021-11-19 11:20:52
5903
原创 一文说清楚Dockerfile 中VOLUME到底有什么用?
写在开头相信大部分人对docker run -v这个参数都比较熟悉,无非就是把宿主机目录和容器目录做映射,以便于容器中的某些文件可以直接保存在宿主机上,实现容器被删除之后数据还在,比如我们把mysql装在容器中,肯定不能说容器被删mysql所有的数据也都不在了。第二个作用是也可以用来实现多容器共享同一份文件。但如果玩过dockerfile的话就知道dockerfile还有个VOLUME指令,如FROM centos:latestRUN groupadd -r redis && use
2021-10-25 00:25:21
17394
11
原创 DateUtil 工具类,基于JDK8+
package com.xx.dubbo.dubboservice.utils;import java.time.*;import java.time.format.DateTimeFormatter;import java.time.temporal.ChronoUnit;import java.time.temporal.TemporalAdjusters;import java.time.temporal.WeekFields;import java.util.Date;import
2021-10-05 18:13:27
528
1
原创 BeanUtils.copyProperties 方法,克隆类
定义一个BeanUtils工具类public class BeanUtils public static <T, R> R clone(T o, Class<R> targetClass) { R r; try { r = targetClass.newInstance(); } catch (InstantiationException | IllegalAccessException e) { throw ne
2021-09-06 17:27:35
283
原创 MybatisPlus自定义ID生成器(解决官方雪花算法长度过长导致JS精度丢失问题)
1. Mybatis官方ID生成策略的问题我们知道,mybatis-plus官方提供了很多ID生成策略官方地址而其中个人觉得性能上最好的当属ASSIGN_ID,该策略能够得到一个19位的Long类型的值,Long类型的值天然有序,能很好的支持数据库的索引,所以我个人在工作中一般会把ID类型设置为bigint(mysql),然后在代码中使用这个策略。那么这个策略有什么问题呢?生成的19位对于java long类型来说没有任何问题,问题在于我们给前端返回的时候,前端js最长只能支持到17位的数值类型,
2021-08-19 09:23:41
5898
4
原创 springboot+swagger2 接口排序无效
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger.version}</version> <exclusions> <exclusion> <groupId>
2021-08-03 17:53:32
785
2
原创 黑果安装步骤(手把手教你如何安装黑苹果)
一、下载黑果小兵的部落阁镜像打开后你会看到类似如下截图像这种文字里面有PE的说明系统本身已经集成了PE了。OpenCore和Clover是代表不同的黑果引导方式,因为有的机型可能网上只提供的OpenCore或者Clover的方式,而并非两种都有。他这里这个说明这个系统是这两种引导方式都支持。二、第二步就是要去网上找你的机型所对应的EFI文件了搜索步骤可以百度:机型+黑果,但是这个方法也不是一定能找到,有相当一部分机型需要自己想办法找。黑果小兵的部落阁也提供了一些长期维护的机型。找找一般会有这种
2021-08-02 21:26:27
9637
原创 新手学Go会遇到的问题
go mod init 项目文件夹名字go mod tidy 拉取缺少的模块,移除不用的模块下载的时候有的包无法下载,需要设置代理go env -w GOPROXY=https://goproxy.cnGolang工具使用:解决import | go get 之后,导入的包还是显示unresolvedgo语言中文网echo官网API...
2021-07-29 13:34:59
260
原创 SpringMvc,Springboot统一校验、自定义异常、全局异常处理
引入jar包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId></dependency>写一个DTO用来接收客户端传送的参数@Datapublic class AuditListDto { @ApiModelProperty(va
2021-07-26 10:49:31
382
原创 如何实现一个每天从0开始的递增序列
首先要借助一个函数LAST_INSERT_ID,这个函数会返回调用这个函数最后一次设置的值。select LAST_INSERT_ID(); // 输出0select LAST_INSERT_ID(11); // 输出11select LAST_INSERT_ID(); // 输出11我们可以在每次获取这个值的时候用当前值加1select LAST_INSERT_ID(LAST_INSERT_ID()+1);好了,现在我们实现一个递增序列,但是此时还没有实现按日期从零开始,到了第二天这个值
2021-07-21 14:35:42
942
原创 mybatis 杂记
背景mybatis有一些常用语法总是忘记,为了避免每次都去网上搜,特此记录以备查阅。日期比较方式情况一、数据库是date,代码中也是用的date类型<if test="startTime != null"> and ieq.last_upd_time >= #{startTime,jdbcType=TIMESTAMP}</if>需要注意的是if中不能使用!='',否则会报错情况二、数据库是date,代码中是string可以类型转换后再比较create
2021-07-17 15:38:07
260
2
原创 Spring Data JPA模拟mybatis plus封装
SpecificationUtil 工具类/** * @author :GuangxiZhong * @date :Created in 2021/7/12 9:28 * @description: * @modified By: * @version: 1.0 */public class SpecificationUtil { Map<String, String> conditionMap = new HashMap<>(); public
2021-07-17 10:23:46
432
原创 一文讲清楚机械硬盘和固态硬盘的工作原理
数据存储的原理首先我们要明白的是,计算机中只有0和1,那么我们存入硬盘的数据,实际上也就是一堆0和1,那么也就是说,我们如果能有办法记录0和1就可以记录数据了,比如我们有2个灯泡,一个不亮一个亮就可以表示01,即数字1,两个都亮11,即表示数字2,越大的数可以用越多的灯泡来表示。机械硬盘的工作原理机械硬盘工作原理比较简单。主要的两个东西,磁盘和磁针,磁盘上有很多细小的磁粉,写入数据时,给磁针通电,磁针有磁性后就可以改变磁粉的S极和N极的朝向,比如S朝上代表1,N朝上代表0.读取的时候,通过读取这些磁粉
2021-07-03 12:51:54
2537
7
原创 CPU的工作原理
CPU的工作原理其实CPU主要就是做运算,那么运算的本质其实就是加减乘除。也就是说你在电脑上做得任何操作,对于计算机来说,都是加减乘除。晶体管的组成首先CPU有个很重要的电子元件:晶体管,晶体管由半导体组成,大概长下面这样我们把1称为输入端,3称为输出端,这个元件的巧妙之处在于,只有在1和2都通电的情况下,3才会通电。或门电路利用这个装置,可以制作一个或门电路。在两个晶体管的输入端都接上电源,并且输出端接上小灯泡,然后在中间处接上开关,其中开关关为0,开为1,小灯泡的开为1,关为0。这样,
2021-07-02 23:57:48
6330
28
原创 Redis单线程与多线程模型
Redis 5.x及以前都是单线程,6.0及以后才是多线程不管是单线程还是多线程都是单work线程,多线程指的是IO子线程单线程模型为单work线程,执行步骤如下work线程读取客户端指令work线程执行指令work线程响应客户端多线程模型也为单work线程,但是又多个IO线程,其执行步骤如下work线程负责接收客户端连接,接收连接后把连接放入等待列表中。work线程接收到连接后把socket分配给IO线程组,IO线程组读取指令,IO线程组读取指令过程中work线程堵塞work线.
2021-07-01 13:11:48
273
原创 Jmeter压测
Jmeter工具使用入门教程添加线程组用户数200,测试时间5分钟添加取样器(这一步与你们自己的系统的协议对上,你是http就选择http)添加响应结果断言并设置断言判断添加聚合报告添加TPS曲线,这一步需要装插件还可以添加响应时间曲线,自行百度如何看压测结果?首先看聚合报告错误率:错误率肯定是越低越好,理论上是要为0的,但是一般错误率在0.1%以下是可以接受的范围,然后一般来说用户量越大错误率也越大,我这里是200个用户,即线程组设置为200。然后我这里错误率是不能接受的
2021-06-26 22:13:41
788
4
原创 Docker 安装 sonarQube 并在项目工使用sonar进行扫描
1. 安装Mysqlsonar扫描出来的缺陷等信息需要存入数据库,数据库选择可以有很多,我这里以mysql作为演示1.1. 安装mysql略,需要注意的是我这里安装的sonarQube的版本是7.4-community,mysql的版本不能低于5.6。1.2 创建mysql sonar数据库用.户.create database sonar;CREATE USER 'sonar'@'%' IDENTIFIED BY 'sonar';grant all on sonar.* to 'sonar'
2021-03-16 21:06:27
813
3
原创 Bean映射工具MapStruct介绍
1. MapStruct是什么MapStruct是一个功能强大且性能很高的Bean映射工具,项目开发中难免会涉及各种Bean的转换,DTO->VO->Entity。市面上能做转换的框架很多,以前我们常用的可能是BeanUtils.copyProperties,其核心是在运行时根据反射动态赋值。动态方案的缺陷在于大量的反射调用,性能比较差,内存占用多,不适合特别高并发的应用场景。而MapStruct通过注解,在编译时静态生成映射代码,其最终编译出来的代码和手写的代码在性能上完全一致,且有强大
2021-03-12 15:47:08
562
原创 SpringBoot项目中如何正确的使用Log4j2
1、添加Jar包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions><!-- 去掉springboot默认配置 --> <exclusion> <groupId
2021-03-09 20:55:41
296
原创 把springboot项目打包成docker镜像执行
一、两种方案首先要搞清楚的是,要把springboot项目打包成docker镜像有两种方案全自动化:先打好docker镜像仓库,然后在项目的maven配置中配置好仓库的地址,在项目里配置好Dockerfile文件,这样可以直接在idea中打包好后自动上传到镜像仓库,然后去服务器上启动这个镜像就行了。半自动化:springboot还是打包成普通的jar,然后把这个jar上传到服务器,同时在服务器创建一个Dockerfile文件,执行docker build命令,把这个jar构建成一个docker镜像,
2021-03-09 17:50:54
1794
原创 Zabbix5.0监控服务器并设置邮件告警(安装Agent)
前置条件基于centos8,不确定其他版本的centos是否通用需要安装好zabbix service,安装教程安装Agent 端在Centos8 安装 Zabbix5.0中,我们介绍如何安装Zabbix,那么安装好了之后就需要开始使用,其实Zabbix分为如下两个模块zabbix-service:服务端,负责对采集到了监控数据进行展示zabbix-agent:客户端,负责采集需要的监控数据并上报给service那么本节就来讲述如何安装Agent端1. 执行RPM命令安装Agent端
2021-02-24 15:42:27
1932
1
原创 Centos8 安装 Zabbix5.0
关闭防火墙和Selinuxsystemctl stop firewalldsystemctl disable firewalld$ setenforce 0$ sed -i "/^SELINUX/s/enforcing/disabled/" /etc/selinux/config安装Zabbix Service、前端、Agent、httpdyum install httpdrpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/z
2021-02-23 20:40:35
808
原创 Nginx+Keepalive实现高可用
前言在项目中为了提高并发,一般会采用集群部署,集群部署之后前端就需要一个总的代理,简单的架构图如下由于nginx/lvs的性能很高,一般小型公司的流量使用单节点的nginx都能扛得住,当然也可以部署多个nginx,但问题是这样会造成公网IP的浪费。所以很多公司都会采用单节点的nginx来作为外网的统一入口,很明显存在单节点故障问题,那么就需要一套机制来保证不会出现单节点故障问题。其主要思路是使用主备nginx,当主nginx出现问题时,备nginx能立马启用。这整套的恢复流程是自动的。而kee
2021-02-22 21:09:37
2051
2
原创 node杂记
npm和yarn配置淘宝镜像# 查看当前镜像yarn config get registry# npm设置淘宝镜像npm config set registry 'https://registry.npm.taobao.org'# yarn设置淘宝镜像yarn config set registry 'https://registry.npm.taobao.org'mac卸载node国内链接下载nodenode版本和node-sass版本关系...
2021-01-26 08:52:06
226
Redis-x64-3.0.504windows集群已经配置好的版本
2020-05-23
redis集群离线安装全部组件-windows
2020-05-23
visualvm143.zip
2019-12-10
MemoryAnalyzer-1.9.1.20190826-win32.win32.x86_64_.zip
2019-12-10
ntp rpm 安装包.zip
2019-10-09
eclipse中反编译插件
2016-08-24
java定时spring定时源码包含定时和spring必须包直接导入可运行无需连接数据库
2014-11-06
使用flex显示pdf所需第三方控件(flexpaper2.2.4,swftools,FlexPaper_2.2.4_SDK_3.5_swc)
2014-05-14
居务公开系统,可做毕业项目,面试项目,新闻发布系统。
2014-03-09
应用上云以后前后端如何联调
2022-02-21
一个关于数据库级别的并发问题
2017-01-20
java中关于hashmap中的entrySet的疑问
2016-10-28
关于HttpClient设置超时时间无效的问题
2015-12-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人