自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker安装Grafana以及Grafana应用

运行:docker run -d -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" prom/node-exporter。浏览器访问:http://192.168.1.133:9100/metrics。打开浏览器:http://192.168.1.133:9090/targets。​ 打开浏览器:http://192.168.1.133:9090/graph。

2023-08-05 11:34:45 3954 1

原创 linux磁盘分区挂载

一个越走越偏的开发的打杂之路。。。查看磁盘空间df -h磁盘挂载情况 带* 已挂载Fdisk -l磁盘分区按提示输入格式化:mkfs.ext4挂载:mount /dev/vdb1 /data设置自动挂载:echo "/dev/vdb1 /data ext4 defaults 0 0" >> /etc/fstab成功验证:/dev/vdb1 对应根目录/data文件夹...

2022-02-15 16:07:51 500 3

原创 springboot+redis实现登录失败次数限制

需求:为了防止枚举攻击,完成安全性测试扫描。先是保证账号和密码其一错误但返回错误一致,添加Referer拦截器,现在需要限制登录失败次数限制,本文做的是登录失败五次账号锁定3小时。登录Controller添加如下代码 @Autowired private RedisTemplate<String, String> redisTemplate; //用户登录是否被锁定 三小时 redisKey 前缀 private String SHIRO_IS_.

2021-10-25 15:58:54 2628 2

原创 SpringBoot添加Referer拦截器最详细实例

背景:项目进行了安全漏洞扫描,扫描中风险提示需要验证“Referer”头的值。application-referer.yml配置可访问referer地址application-referer: refererDomain: - http://42.228.55.222 - https://42.228.55.222 - http://59.207.61.21加载application-referer.yml文件获取referer listpackage ..

2021-09-28 11:01:53 3613

原创 java jpa自定义sql语句

背景:最近接手的项目是spring boot + jpa,有点懵,突然回忆到刚工作实习的时候学习过这个搭配的,如今是忘得一干二净啊。2019-02-25 我曾经写过这么一篇博客:jpa通过解析方法名创建查询和使用@Query创建自定义查询,回头一看已经两年有余。本篇只是为了再次记录自己又学习了jpa的使用,通过解析方法名多适用用单表操作,自定义的sql查询则可以解决所有问题,做些自定义sql语法的记录,以便后续参照。1.多表关联查询,含条件。 @Query(value ...

2021-08-12 17:36:28 1464

原创 JAVA代码实现RocketMQ消息发送和接收

背景:系统需要对接接收阿里云RocketMQ的消息。在内网没有打通的情况下,暂做模拟。引入rocketmq的依赖: <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version..

2021-08-11 17:12:03 2913 1

原创 全网最全JVM知识点导图

朋友分享的,全网最全JVM知识点导图,存着以后虐自己看!https://www.processon.com/view/link/606d5985e0b34d28299a3bca#outline

2021-07-07 11:18:50 379

原创 nfs挂载配置使用步骤

nfs软件,运行systemctl startrpcbind 和systemctl startnfs检测服务状态,服务正常后可进行配置阶段。使用背景:在CA系统上配置的内网http目录地址如下:/home/pki/httpfiles/cert。配置的外网http访问地址为http://11.12.110.84:18080/httpfiles。现在需要将11.12.110.86上的/home/pki/httpfiles/cert 文件夹内容,通过NFS挂载到11.12.110.84上...

2021-06-09 16:16:04 577

原创 java使用BigDecimal实现加减乘除法四四舍五入

import java.math.BigDecimal;/** * 提供精确的浮点数运算(包括加 、 减 、 乘 、 除 、 四舍五入)工具类 * * @author yangmenghao * @date 2020/07/02 */public class BigDecimalUtil { /** * 除法运算默认精度 */ private static final int DEF_DIV_SCALE = 5; /** * 精确加法 */ public st..

2021-06-09 13:59:34 1292

原创 java压缩多层目录文件zip格式

package com.xdja.utils;import java.io.*;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;/** * @description: TODO * @author: wly * @date: 2021/3/10 16:10 */public class ZipUtils { public static void doZip(File inFile, Zi.

2021-06-07 11:05:11 760

原创 redis+springboot集群定时任务锁解决方案

集群项目问题之一:定时任务的执行。页面配置/项目启动等产生的定时任务如何在集群下维护?1.触发第一次启动线程时刻,计算下次执行时间放入redis;2.执行中加锁并更新下次执行时间,到时间自动释放锁;3.项目重新启动先取消已有线程,获取下次执行时间进行计算等待时间开启新的线程。4.运行过程中修改定时任务相关配置,使用redis发布订阅重新开启定时任务。...

2021-06-07 10:33:24 632 1

原创 java操作Tomcat配置文件

Tomcat配置文件操作package com.xdja.pki.backup.util;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import javax.xml.XMLConstants;import javax.xml.parsers.DocumentBuilder;import javax....

2021-06-04 15:46:51 250

原创 Sersync+rsync+xinetd文件同步脚本部署配置实操

经过查询资料和试验验证,该方案频繁操作下具有不稳定性,可能导致文件丢失,对于网上的双向同步更是缺少架构理论依据。个人评估可应用于以下场景:

2021-06-04 14:48:33 205

原创 windows添加临时和永久路由命令

背景:一台电脑想要同时使用内外网,可以采取同时连接内网网卡和外接无线网卡连接外网wifi,这时需要通过不同的路由转发到不同的网段以保证网络畅通。0.先以管理员方式打开命令提示符:1.添加临时路由:route add 0.0.0.0 mask 255.0.0.0 192.168.62.1临时路由电脑重启就会消失。2.添加永久路由 -proute -p add 11.0.0.0 mask 255.0.0.0 11.12.86.13.删除路由route delet.

2021-05-07 19:08:33 15873 1

原创 Mysql双主配置

1.my.cnf配置分别修改主机和备机的配置文件,文件位置/etc/my.cnf[mysqld]#两台机器这个id值要配置成不一样的,可以一个是1,一个是2server-id=1#两台机器需要相互同步的数据库名,分配配置db1、db2的数据库名字replicate-do-db = db1replicate-do-db =db2#不会因为一个错误影响所有语句 slave_skip_errors=all #其他添加下面两项。 sync_binlog=1lo..

2021-04-19 18:59:11 459

原创 项目防火墙配置安全策略Centos7 linux命令(含sshd端口修改、添加防火墙白名单、指定端口访问源等)

背景: 一般为提升项目部署服务的安全性,避免客户对产品漏扫造成不必要的麻烦,对外项目部署时必须开启防火墙。服务器SSHD默认22端口修改为其他自定义端口(自定义端口设置时尽量向后定义);a) 执行 vim /etc/ssh/sshd_configb) 修改#Prot 22 为 Prot xxxx;:wq保存并退出。c) 执行 /etc/init.d/sshd restart 重启sshd服务d) 测试:使用ssh工具连接该端口2. 开启防火墙并设置开机自...

2021-01-04 17:29:17 3064 3

原创 字符串分割StringUtils.split()和string.split()的区别

代码评审:StringUtils.split()和string.split()的区别1.分隔符匹配:StringUtils.split()是把分隔符拆成一个个单独的字符,再用这些字符去把字符串进行分割的。只要匹配到了分隔符中的任意一个字符,就会进行分割。string.split()是把分隔符作为一个整体来对字符串进行分割。比如分隔符是#!,在用StringUtils.split()时,只要被分割的字符串里遇到 ! 或 # ,就会被分割;在用string.split()时,必须被分割的字符串.

2020-12-25 15:47:50 5592 4

原创 springboot shiro框架整合多模式redis实现session共享以及注意事项(报错记录)

session共享

2020-11-24 20:27:21 1257 3

原创 session共享的几种实现方案对比

背景:系统需要通过集群实现高可用,session如何共享?根据查阅资料,了解到有如下几种session共享方案,简单列出了其优缺点。分析得知最常用的高可用的session共享方案为基于tomcat配置和缓存机制,针对我正在用的springboot+shiro框架,又进行了深一步研究。在学习过程中参照了几篇关于很优秀的文章。redis介绍:https://zhuanlan.zhihu.com/p/250102489?utm_source=wechat_session&utm.

2020-10-17 14:48:54 584 1

原创 java zip打包工具类和使用

经常用到的生成可下载的zip压缩包的工具类和调用示例import com.xdja.pki.core.exception.ServiceException;import org.apache.commons.compress.archivers.ArchiveEntry;import org.apache.commons.compress.archivers.zip.Zip64Mode;import org.apache.commons.compress.archivers.zip.ZipA.

2020-09-20 16:34:41 889

原创 java使用正则表达式和常用正则表达式

/** * 身份证 */ private static final String ID_CARD_PATTERN = "\\d{17}[0-9xX]"; /** * 军官证 军+7位数字 */ private static final String MILITARY_OFFICER_PATTERN = "^(?:军)\\d{7}"; /** * 护照 字母加数字9位 */ public static...

2020-09-19 14:19:19 314

原创 一个java小白的性能压测、性能优化思路

性能指标 常见的有响应时间,并发,tps等1 代码优化:1)sql优化,梳理业务,查找是否有多余业务、慢查询、可简化的sql查询等,正确使用索引;2)缓存优化:正确的使用缓存,常用的数据类似配置项参数可放到缓存中便于获取;3)日志优化:正确使用日志级别打印日志,压测过程中调整日志级别为ERROR运行。2 通过服务器资源如cpu、内存、磁盘、的使用情况等排查性能瓶颈点,一般都在高性能的机器上做压测;3 数据库服务配置优化,针对数据库服务可调整数据库配置参数innodb_flush_lo.

2020-09-16 21:04:03 626

原创 Xshell修改选中即为复制粘贴

如图,点击 工具-->选项下拉或勾选红框中值即可之后再选中部分字符后,xshell右下角即可会显示 已复制xx字符。

2020-09-10 20:51:33 742

原创 java 将数据写入excel工具类

日常开发中常有数据统计功能,要求统计某一时段或某条件下的系统数据并导出excel,以下为获取数据后的写出工具类。package com.xdja.pki.ra.core.util.file;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.a..

2020-09-07 16:22:27 1068

原创 java将对象保存为文件

/** * 将对象保存为文件 * * @param obj * @param path */ public static void writeObjToFile(Object obj, String path) { new File(path).getParentFile().mkdirs(); CharArrayWriter out = new CharArrayWriter(); PEMW...

2020-09-04 17:48:15 1446

原创 一个例子看懂java回调函数

回调:类A的a()方法调用类B的b()方法类B的b()方法执行完毕主动调用类A的callback()方法假定领导安排给员工张三某工作,员工张三完成工作完成后通过约定好的方法告知领导,就是一个回调过程。package com.xdja.callback;/** * 回调接口 * @date 20200710 * @author wly */public interface Callback { /** * 当员工做完领导让他做的事后就通过该方法通知领导 ..

2020-07-10 14:37:26 320

原创 详细使用git打tag,删除tag,切换到某个tag时期,删除/查看分支

使用git打tag标签 :#Git Bash here 执行命令#查看tagadmin@DESKTOP-OJDN2HN MINGW64 /d/Users/admin/work/PKI-RA-SERVER-TAG (dev)$ git tag -lRA-V1.0.2.9#在本地打tagadmin@DESKTOP-OJDN2HN MINGW64 /d/Users/admin/work/PKI-RA-SERVER-TAG (dev)$ git tag RA-V1.0.6.5#再次查看tag

2020-05-23 16:50:35 1788

原创 Maven项目模块通过设置pom文件打可执行jar

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/ma.

2020-05-22 17:46:06 1174

原创 mysql中的timestamp类型时间范围

背景:服务数据入库的时候报错 com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '2050-04-14 13:43:55' for column 'failure_time' at row 1鉴于部分入库时间报错,首先排除了代码问题,想到了是不是timestamp时间有范围限制,于...

2020-04-29 16:10:35 5053

原创 使用开源软件7ZIP在Windows压缩.tar.gz格式包

背景:项目要搞自动化部署,需要将自动化部署的包打成 .tar.gz格式上传到linux。在Linux上压缩包.tar.gz命令:tar -zcf fileName.tar.gz fileName在Windows上可以借助开源软件7ZIP。1.7ZIP官网:https://www.7-zip.org/下载后直接默认安装即可。2.使用:选择文件右键--> 7...

2020-04-21 11:48:30 5367

原创 Java判断数组中是否存在某字符串以及一个数组的值是否都在另一个数组

背景:如有字符串:String certDn = "CN=00,GIVENNAME=44,STREET=55,DNQUALIFIER=66,TITLE=77,UID=88,C=CN";判断等号左边的字符串是否为规定值。package com.xdja.pki.test.util;import java.util.Arrays;import java.util.List;...

2020-04-16 14:43:21 4752 2

原创 Jmeter安装使用

安装1. 下载 官网地址:http://jmeter.apache.org/download_jmeter.cgi,Binaries下即为最新版本,Windows选择zip格式。2. 安装 解压压缩包到合适的位置即可,注意要求对应的jdk1.8以上。3. 配置环境变量电脑桌面---->计算机---->右键属性---->高级系统设置---->高级--...

2020-04-13 10:23:54 344

原创 java获取Linux服务器上tomcat下classes相对路径,将文件打包到war后获取

背景:原来模板文件读取方式:/** * 配置文件常量 * * @author */@Componentpublic class PathConstants { /** * 系统配置根目录 */ public static String GLOBAL_CONF_ROOT; @Value("${ra.global.conf.pa...

2020-03-31 09:20:30 2148 2

原创 人生转折2019,充满希望2020!

20岁开始的每个选择好像就决定了我接下来的人生去向。—————————2019大事记:2019.07.01 本科毕业,结束十七年读书生活; 2019.04.04 登泰山玉皇顶; 2019.08.17-2019.08.18 老君山两日游; 工作一年,从实习到转正; 完成年度攒钱目标。2020 未来可望:保持学习,工作进步; 锻炼身体,心态平和。写给自己:你好啊...

2020-01-10 13:51:57 302

原创 IDEA打可执行jar包详细教程(包含依赖的所有jar包)

时常感觉自己笨到家了,完全不适合做一个码农,搜罗网上各种教程,打个jar包竟然搞了一个多小时,一直在迷惑我没有什么主类啊,到底存哪了啊。。。好记性不如烂笔头,咱终于搞清楚了赶紧再记一下!IDEA版本:IntelliJ IDEA 2018.3.3 x641. 选中项目,右键-->Open Module Settings :2. 弹框菜单选择-->Artifacts...

2019-12-30 15:07:08 7937 9

原创 SQLite 可视化工具下载

分享一款好用的SQLite 可视化工具。百度网盘链接: https://pan.baidu.com/s/16SEeZYYa_PFZHpVos1rnyg提取码: qj2u使用如图:File --> Open Database / newDatabase打开后:...

2019-12-19 19:14:28 486

原创 java简单无遍历将一个List赋值给另一个List

背景:工作bugList<X509Certificate> caTrustCert = CommonVariable.getTrustCaCerts();caTrustCert.add(signCert);本意通过缓存类CommonVariable获取TrustCaCerts,将CommonVariable.getTrustCaCerts()的值赋给caTrustCert ...

2019-12-17 09:48:52 1369

原创 java开发中异常的定义,跨系统接收错误码,以及通过code返回枚举

本人目前在做的系统,尤其依赖另外一个系统,在调用另外一个系统时,可能会返回多种报错,如下结构的错误: /** * 返回异常结果对象 * * @return */ public ErrorBean resp(HttpServletResponse resp) { if (null != resp) { resp.setStatus(this.status); ...

2019-12-05 11:20:03 2120 1

原创 SQL分类查询并统计,使用 coalesce()函数等

纪念一下最近写的“庞大” sql !这个sql是关于数量分类统计的,总结一下所用到函数。 /** * 第三方系统拥有证书统计 查询 * * @param customerSysName * @param startTime * @param endTime * @return */ public List&l...

2019-11-19 18:07:04 1319 1

原创 Linux Centos7新装tomcat 启动./startup.sh报Permission denied详解

项目压测,弄来了几个新服务器部署,从SVN拉了一个最新的tomcat,部署好所有之后 ./startup.sh之后报Permission denied,也就是权限拒绝。咨询了一下同事,同事表示公司SVN上放的 .tar.gz 结尾的tomcat是用于linux系统的, .zip结尾用于windows系统,我拉错了......但是加个权限就ok了。先搞清楚权限拒绝原因:- rw -...

2019-11-13 15:43:34 1408 2

空空如也

空空如也

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

TA关注的人

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