自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(279)
  • 资源 (20)
  • 问答 (4)
  • 收藏
  • 关注

原创 Cookie原理及JAVA端关于Cookie的增删改查操作

Cookie和Session是但凡做开发都会接触到的东西,本文主要讲述了Cookie的原理以及在Java端我们如何操作Cookie

2023-03-03 10:26:12 152

原创 一文说清楚http、tcp、socket、websocket区别

一文说清楚http、tcp、socket、websocket区别

2023-01-29 10:53:30 9312 11

原创 mysql with recursive 递归用法

with recursive 是一个递归的查询子句,他会把查询出来的结果再次代入到查询子句中继续查询。

2023-01-28 15:52:28 994

原创 Java原生的Http发送方法(不依赖框架)

Java原生http发送

2022-11-17 15:30:48 552

原创 linux环境变量应该配置在哪里?

长久以来,我一直搞不懂linux的环境变量到底应该配置在哪里,很多时候要配置环境变量,也只是网上一搜,随便找段命令来用,只要能成功就觉得万事大吉。但实际上如果不知其所以然,后面出问题了我也不知道怎么解决,今天又遇到问题就是通过手动命令行能执行`java -jar`命令,但通过jenkins却无法执行,一直提示找不到JDK。所以好好研究了关于环境变量的配置信息,特此记录,以备查阅。

2022-11-04 15:05:09 716

原创 Swagger使用

如果你打开百度,搜索Swagger使用,网上说引入各种包的都有,访问的路径也是千奇百怪,你始终搞不清楚到底需要引入哪些包,访问路径到底是哪个。究其原因,是因为springboot的版本不同,导致的配置方式也不同。这篇文章跟你一次性讲清楚。

2022-11-01 10:49:28 337

原创 linux磁盘与分区

linux磁盘与分区

2022-09-30 17:54:39 548

原创 Springboot实现websocket

springboot实现websocket

2022-09-26 14:15:46 2537

原创 JAVA定时器使用与原理分析

Java TimerTask 的使用Demo

2022-09-26 13:59:12 528

原创 SpringBoot全局拦截器

Springboot中如何配置一个全局拦截器

2022-09-20 17:40:05 928

原创 根据枚举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

原创 SpringBoot2.6.3集成quartz

如何找到quartz的数据库脚本在这里下载,需要注意的是下载2.2.3这个版本,

2022-02-18 09:48:17 1047

原创 mysql 做数据迁移可能会遇到的问题

mysql 5.7版本迁移到mysql5.7以上版本可能会遇到的问题

2022-01-01 16:36:37 806

原创 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&gt

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

压测工具jmeter、监控工具nmon、nmon分析工具

含压测工具jmeter、监控工具nmon、nmon分析工具

2021-06-26

Redis-x64-3.0.504windows集群已经配置好的版本

这个是windows已经配置好的版本,讲道理你下载过去只需要执行几条命令,redis集群就能搭建起来,懒癌的福音。 注意:基于windows,支持windows离线安装

2020-05-23

redis集群离线安装全部组件-windows

redis集群离线安装全部组件-windows。含Redis-x64-3.0.504,redis-3.3.0.gem,redis-trib.rb,rubyinstaller-2.2.4-x64.text。 安装教程见 https://bxoon.blog.csdn.net/article/details/106299728

2020-05-23

visualvm143.zip

VisualVM是一款集成了多个jdk命令行的可视化工具,一般都用来对Java应用程序做性能分析和调优,功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作,有需要的赶快下载吧

2019-12-10

MemoryAnalyzer-1.9.1.20190826-win32.win32.x86_64_.zip

java内存分析工具(Memory Analyzer Tool,MAT),使用该工具可以对java的堆内存文件进行分析。 MAT 软件版本解压后目录内有个MemoryAnalyzer.ini文件,该文件里面有个Xmx参数,该参数表示最大内存占用量,默认为1024m,根据堆转储文件大小修改该参数即可。 1. MemoryAnalyzer.ini中的参数一般默认为-vmargs– Xmx1024m,这就够用了。假如你机器的内存不大,改大该参数的值,会导致MemoryAnalyzer启动时,报错:Failed to create the Java Virtual Machine。 2.当你导出的dump文件的大小大于你配置的1024m(说明1中,提到的配置:-vmargs– Xmx1024m),MAT输出分析报告的时候,会报错:An internal error occurred during: "Parsing heap dump from XXX”。适当调大说明1中的参数即可。

2019-12-10

ntp rpm 安装包.zip

有时linux服务器需要做时间同步,时间同步需要ntp安装包,安装又分为在线安装和离线安装,在线安装很简单,离线安装需要先下载对应的rpm安装包,这个安装包很不好找,我这里给出一个。

2019-10-09

高版本IK分词器

IK分词器到后面就不再更新了,所以做了一个基于Lucene6.4.0的分词器

2018-11-06

EasyUI入门视频教程

下载的为百度网盘的下载链接, 视频清晰,含有老师讲的课件等。 适合初学者以及对此似懂非懂的人。

2018-10-30

EasyUi清晰视频教程从入门到精通

下载的为百度网盘的下载链接, 视频清晰,含有老师讲的课件等。 适合初学者以及对此似懂非懂的人。

2018-10-30

angularjs+boorstrap视频教程

angularjs视频教程 boorstrap视频教程 这里放的是百度网盘的下载连接

2018-03-08

eclipse中反编译插件

eclipse中反编译插件,内附安装教程。解压后把相应的文件夹下面的东西拷贝到eclipse安装目录中同名文件夹下面。再看文档到eclipse中进行相应的设置即可。

2016-08-24

Elipse中的SVN插件

eclipse中的SVN插件,解压后直接把features和plugins文件夹里面的动拷贝到eclipse安装目录中同名文件夹下面

2016-08-24

nexus-2.8.1-01-bundle.zip

maven中搭建nexus私服

2016-08-24

java定时spring定时源码包含定时和spring必须包直接导入可运行无需连接数据库

java定时任务源码,spring定时任务源码,包含定时和spring必须包,直接导入可运行,无需连接数据库。

2014-11-06

使用flex显示pdf所需第三方控件(flexpaper2.2.4,swftools,FlexPaper_2.2.4_SDK_3.5_swc)

包含使用flex显示pdf所需的一套第三方控件,使用方式网上直接搜“使用flex显示pdf”就可以搜到。包含:flexpaper2.2.4,swftools,FlexPaper_2.2.4_SDK_3.5_swc

2014-05-14

居务公开系统,可做毕业项目,面试项目,新闻发布系统。

本系统为居务公开系统,室本人在公司做的一个项目,可做毕业项目,面试项目等,含新闻发布系统模块,登陆模块,后台管理模块等内容,含数据库,数据库是sqlserver的。直接把项目和数据库导入就能使用。

2014-03-09

JAVA多线程

本教程是针对于java多线程写的教程,包括PPT,代码,课程讲解。这是本人综合了网上的教程,所写的一份比较易懂的教程。

2013-05-23

struts2中的拦截器

其中包含两个项目,都是struts2中的拦截器的用法,还有配置文件。

2012-11-16

VBScript教程

本教程是vbs语言教程,其中包含电子书,doc文档教程,以及vbs的开发环境。

2012-11-16

mvcstruts2框架

对mvc,框架的详细讲解。包含配置文件,以及项目需要的架包。

2012-11-13

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

TA关注的人

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