自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 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 19

原创 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 9

原创 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 15

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

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

2021-06-07 10:33:24 18 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 7

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

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

2021-06-04 14:48:33 8

原创 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 133

原创 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 25

原创 项目防火墙配置安全策略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 2451 3

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

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

2020-12-25 15:47:50 438 3

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

session共享

2020-11-24 20:27:21 128 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 245 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 338

原创 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 35

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

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

2020-09-16 21:04:03 127

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

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

2020-09-10 20:51:33 266

原创 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 355

原创 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 359

原创 一个例子看懂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 132

原创 详细使用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 665

原创 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 328

原创 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 637

原创 使用开源软件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 356

原创 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 1517

原创 Jmeter安装使用

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

2020-04-13 10:23:54 107

原创 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 1162 2

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

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

2020-01-10 13:51:57 191

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

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

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

原创 SQLite 可视化工具下载

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

2019-12-19 19:14:28 275

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

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

2019-12-17 09:48:52 412

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

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

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

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

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

2019-11-19 18:07:04 349 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 602 2

原创 常用linux命令

一定会用到的linux命令:(新手必记)0. 切换目录pwd (显示当前目录)cd ../ (上一级目录)cd /file/file1 (切换到指定目录)1. 新建目录mkdir file2. 删除目录rm -rf file* (递归强制删除)rm -r file3. 复制目录cp file1 file2...

2019-11-13 11:38:23 91

原创 json字符串转换JSONObject的两种方式(无对应实体类)

1. 使用google依赖<dependency> <groupId>com.vaadin.external.google</groupId> <artifactId>android-json</artifactId> <version>0.0.20131108.vaadin1</vers...

2019-11-11 10:46:11 1709

原创 String、Date类型时间互相转换,计算时间差

1. String类型时间转换Date,计算时间差 /** * Method: String 类型时间转 Date */ @Test public void testStringToDate() throws Exception { String ss = "{\"notbefore\":\"2019.11.09 15:09:00\"...

2019-11-10 18:13:45 595

原创 报错java.security.NoSuchProviderException: no such provider: BC

报错 java.security.NoSuchProviderException: no such provider: BC,困扰了一天,搞得周末加班啥也没干,从自己之前写的经过测试的代码粘贴过来怎么就不能用了!!!气的我班也不加了,和同事去看了电影少年的你哈哈哈,大周一来又在搞这个问题,虽然不明白为什么,但是搞好了。之后搞清楚了还会再记录。报错地方如图:如遇类似情况可在该方法所在的...

2019-10-28 13:50:56 895 7

原创 Navicat导出数据结构脚本不含脏数据,中英文版对照

上次项目提交测试的时候,需要提交没有脏数据脚本,也就是只需要结构。我师傅刚好不在,又比较着急,一气之下我把表都清了了然后转储了sql文件,害的我开发环境也重新初始化掉了,测试竟然说不要这样的!!!没有什么什么语句???赶紧百度学习一波,记录一下应该如何操作!1. 选中当前数据库,右键——>Data Transfer (数据传输)2. 选择 Advanced (高级),取消I...

2019-10-27 14:30:41 157

原创 X509证书结构

package java.security.cert 包下的X509Certificate.java 是X.509证书的抽象类。这提供了一个标准访问X.509证书所有属性的方法。使用ASN.1语言描述,我们可以将X509Certificate抽象为以下结构: Certificate ::= SEQUENCE { tbsCertificate TBSCe...

2019-10-08 14:36:49 551

原创 StringUtils类isEmpty()、isBlank()、isAnyEmpty() 等判空方法总结,以及trim()字符串去空格

突然想起来最近在开发过程中,经常会遇到字符串不同的判空和去空格情况,最开始总是使用==和equals来结合判空,遇到了StringUtils感觉真是太方便啦!于是想通过源码来区分一下StringUtils类常用的几个方法的使用,以便记忆。1.StringUtils.isEmpty() /** * <p>Checks if a CharSequence is ...

2019-09-29 16:07:38 3965

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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