- 博客(75)
- 收藏
- 关注
原创 SpringMVC中大量的带有url路径变量的@RequestMapping带来的性能问题
SpringMVC已经是广大Java程序员很熟悉的东西了,虽然现在已经大量使用SpringBoot和SpringCloud,但是其底层都是对SpringMVC的封装。
2020-08-25 14:37:51 1573
原创 模拟一个10G超大文件的排序
超大文件排序问题在面试中很常见,本人在面试中别卡了一次。所以经过一点时间的研究,终于写出了一种实现方式。因为10G的数字文件实在是不好搞,因此下面代码中我只是用了一个比较大点的文本文件来模拟整个排序。但是和10G文件的总体思路是一样的。基本实现思路1.创建子文件目录;2.源文件每10行文件内容拆分为一个子文件;3.构建一个小顶堆,将每个子文件的第一个数字放入小顶堆;4.合并子文件:(1)堆顶就是最小的元素,弹出堆
2020-08-25 13:13:29 1124
原创 Https-SSL证书安全协商及加密过程
什么是Https协议HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),简单来讲就是加了安全的HTTP,即HTTP+SSL;我们知道HTTP通讯时,如果客户端C请求服务器S,那么可以通过网络抓包的形式来获取信息,甚至可以模拟服务器S端,来骗取与C端的通讯信息;这对互联网应用在安全领域的推广非常不利;HTTPS解决了这个问题。...
2020-04-08 18:58:11 564
转载 通俗易懂解释IP段192.168.1.0/24和192.168.0.0/16
通过上述两例子的通俗解释,我们应该可以写出其他任何IP段的地址范围了吧,比如 192.0.0.0/8 就是一个A类IP段,其IP范围为 192.0.0.1 ~ 192.255.255.254。
2023-01-11 10:31:40 3397
原创 SpringBoot @Value获取yml中文自定义配置乱码问题
SpringBoot项目时,我们读取yam文件的属性时,有时候会出现中文乱码情况,如下所示:解决方案:
2021-07-18 16:49:48 1009 1
转载 配置中心@RefreshScope 导致@Scheduled失效问题
一、问题最近在运维项目的时候,出现了一个问题,在一个定时处理数据的类(TaskSchedule)里面,有用到配置文件(bootstrap.properties)中的信息,所以使用@Value()来获取配置信息,但使用@RefreshScope刷新配置信息后,发现定时任务不执行了,代码如下:@Component@RefreshScopepublic class TaskSchedule{ @Value("${distribute.source.sqlserver:false}") Bo
2021-07-18 13:19:31 1901
转载 Spring boot webflux 中实现 RequestContextHolder
原文链接:https://segmentfault.com/a/1190000018766412
2021-05-23 19:54:19 684
转载 MySQL报com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure 问题的解决方案
问题:今早,发现昨天部署的JAVA-WEB服务,不正常启动了,于是查看后台日志,发现`11:07:05.358 [Druid-ConnectionPool-Create-1102883776] ERROR com.alibaba.druid.pool.DruidDataSource - create connection holder errorcom.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failu
2021-05-16 13:05:46 7018
转载 Nginx 可视化配置监控
需求nginx 可视化管理,例如配置管理性能监控日志监控其他配置方案目前已实现前两条:配置管理,和性能监控。日志分析监控这块还需要配合借鉴 Go Access!目前方案直接套用 nginx-gui。这个东西真的要吹一波,太好用了。而且源码公开,解决了我这种 java 出身的 linux 菜鸟的一大难题!界面截图:说明先说明下,我也是刚才现学的,只是写下折腾的过程和碰到的问题 详细的用法之类的还是建议访问作者的github和作者的博客查看作者github:https://git
2021-03-30 12:59:14 365
原创 Spring根据泛型依赖注入
1.创建两个实体类/** * 用户实体 * @author *** 2021/3/22 */public class UserEntity {}/** * VIP实体 * @author *** 2021/3/22 */public class VipEntity {}2.创建Service/** * service基类 * * @author *** 2021/3/22 */public abstract class BaseService<T> {
2021-03-22 12:39:37 250
原创 Java项目开发.gitignore文件
.gitignore文件内容:####################################################################### Build Tools.gradle/build/!gradle/wrapper/gradle-wrapper.jartarget/!.mvn/wrapper/maven-wrapper.jar#############################################################
2021-03-17 07:48:56 160
原创 Jedis常用封装及Lua脚本实现setnx原子操作
代码如下:/** * redis相关的操作助手 */@SuppressWarnings("SpellCheckingInspection")public class RedisHelper { private static CommonLog log = CommonLog.getInstance(LoggerFactory.getLogger(RedisHelper.class)); /** * SetNx luava脚本原子命令,Redis分布式锁setnx后set
2021-03-16 15:13:34 479
原创 CentOS 7升级通过源码编译安装内核4.4.189
1. 安装依赖软件首先我们需要为编译linux内核安装依赖的软件。要完成这些,我们需要在一个终端或者shell中运行以下命令。yum groupinstall "Development Tools"yum install gcc ncurses ncurses-devel然后,我们再升级我们的整个系统:yum -y update2. 下载源代码现在我们通过wget命令从Linux内核的官方仓库中下载最新发布的linux内核4.0的源代码。你也可以使用你的浏览器直接从kernel.org网站
2021-02-27 21:11:37 616
原创 CentOS 7 yum源更改为阿里云镜像源
1.下载CentOS-Base.repo文件wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo2.更新软件包缓存:sudo yum makecache
2021-02-27 19:11:42 160
转载 CentOS 7 升级内核到最新版本
1、 查看当前内核版本,以及系统版本uname -r3.10.0-1127.el7.x86_64# cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core)2 升级系统yum update # 先进行系统的升级3 配置ELRepo仓库源rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgrpm -Uvh http://www.elrepo.org/elre
2021-02-27 16:56:56 596
转载 shell中设置文字输出的颜色及字体格式
1、Linux中设置文本颜色及背景色 Shell 使用 ANSI 转义码 (ANSI escape codes) 进行颜色输出。转义序列颜色输出表如下 颜色 前景色 背景色 黑色 (Black) 30 40 红色 (Red) 31 41 绿色 (Green) 32 42 ××× (Yellow) 33 43 蓝色 (Blue) 34 44 紫红色 (Mage
2021-02-05 16:34:21 1964
转载 Jenkins pipeline中bat或者shell命令执行结果,赋值给变量,变量不生效解决方法
例如:想利用bat脚本查询出Git_commit号,赋值给变量,下面的pipeline语句用到此变量,通过直接赋值的方式,下一条语句是无法获取到变量值的。此种写法://从项目readme中读取Git_Commit号 Git_Commit =bat label: '', script: 'compile_scripts\\git_commit.bat %svn_project% %svn_branch%' //编译源码,其中Git_commit 获取不到值 ba
2021-02-04 12:37:05 4550
转载 Jenkins pipeline之将命令的运行结果赋值给变量
Jenkins pipeline之将命令的运行结果赋值给变量在使用pipeline声明式语法编写自动化cicd时,难免会遇到需要将某一个命令的执行返回结果赋值给变量的情况。如下:def tag = sh(script: "git describe --tags --always", returnStdout:true).trim()...
2021-02-04 12:35:04 4952
转载 jenkins:在控制台实时打印服务启动日志
jenkins:你们是怎么在控制台实时打印服务启动日志的?最近,在做服务的自动化部署时遇到一个小需求,测试童鞋希望能够直接在jenkins的控制台上看到服务的启动日志,用户是上帝,你们想要那就给你们做出来好了。那么,问题来了,怎么才能在jenkins控制台上实时展示服务的启动日志呢?经常登录linux服务器查看日志的童鞋会说我平时都是使用tail -f命令来查看服务的日志,是的,这里也不例外,想要在jenkins控制台实时打印服务启动日志还是使用tail -f命令。不过,光用tail -f就足够了吗
2021-02-01 15:59:05 6981 8
转载 centos7开机自启动脚本
两种实现方式:方法一:(rc.local)1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权chmod +x /etc/rc.d/rc.local2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限chmod +x /usr/local/script/autostart.sh3、打开/etc/rc.d/rc.local文件,在末尾增加如下内容/usr/local/script/au
2021-01-24 19:32:49 80
转载 CentOS 7设置开机启动服务,添加自定义系统服务
由于版本的迭代,最近刚刚接触 CentOS 7,各种蛋疼 发现跟以前用的CentOS 6有着一些本质上的差别,连启动服务都不会启动了,一怒之下自己找资料,于是有了这篇文章...1.建立服务文件文件路径vim /usr/lib/systemd/system/nginx.service 服务文件内容[Unit]Description=nginx - high performance web serverAfter=network.target remote-fs.t...
2021-01-17 20:00:09 167
转载 ./startup.sh:行3: 未预期的符号 `elif‘ 附近有语法错误 ‘/startup.sh:行3: `elif [ “$1“ == “stop“ ] ; then
[root@bogon sonar]# ./startup.sh 1./startup.sh:行3: 未预期的符号 `elif' 附近有语法错误'/startup.sh:行3: `elif [ "$1" == "stop" ] ; then[root@bogon sonar]# 这个文本是window那边拷到linux中,可能是格式出现问题,建议将文本内容拷到记事本txt中,保存后再复制文本到Linux中或者像网上那样子 安装插件yum install dos2unixdos2unix
2021-01-17 18:15:29 1459
转载 Gitlab如何进行备份恢复与迁移
原文链接:https://ouyangpeng.blog.csdn.net/article/details/77070977?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control
2021-01-07 09:20:05 148
原创 Hibernate Validator 普通项目中的基本使用
官方文档地址:https://docs.jboss.org/hibernate/validator/4.2/reference/zh-CN/html/validator-usingvalidator.html#validator-usingvalidatormaven依赖<!--hibernate.validator 校验相关依赖--> <dependency> <groupId>org.hibernate.validator</groupId&
2020-12-31 12:05:16 147 4
原创 Java8 StreamApi 常用重要功能封装工具类
封装Java8 StreamApi常用的使用方法,工具类代码如下:import java.util.*;import java.util.function.BinaryOperator;import java.util.function.Function;import java.util.stream.Collectors;/** * Java8 StreamAPI 常用使用封装 * * @author *** 2020/12/18 */public class StreamApiUt
2020-12-20 19:14:11 557 1
转载 Fastjson开启安全模式
原文链接:https://github.com/alibaba/fastjson/wiki/fastjson_safemode
2020-12-16 18:52:59 1698
原创 Java使用正则表达式实现高级公式编辑规则校验
代码实现:import com.google.common.collect.Lists;import org.apache.commons.lang.StringUtils;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @author 2020/11/30 * 高级公式编辑规则: * 正确示例: * (1 and 2) or (3 and 4) *
2020-12-01 13:10:03 453
原创 Java判断括号()[]{}是否成对出现
思路:通过JDK自己封装的数据结构 栈 实现。代码如下:import org.apache.commons.lang.StringUtils;import java.util.*;/** * 括号表达式校验工具类 * @author 2020/10/24 */public class ParenUtil { /** * 映射右括号和左括号 */ private final static Map<Character, Character> P
2020-12-01 13:05:54 1229
转载 lombok 实现链式编程
一、什么是链式编程1、链式编程定义 链式编程的原理就是返回一个this对象,就是返回本身,达到链式效果。 我们经常用的 StringBuffer 就是 实现了链式的写法。StringBuffer builder = new StringBuffer();builder.append("blake").append("bob").append("alice").append("linese").append("eve");是不是很方便呢!怎么实现呢,其实就是在设置的 返回当前的对象 。
2020-11-23 10:47:37 1711
转载 Spring Cloud Gateway的全局异常处理
原文链接:https://www.cnblogs.com/yinjihuan/p/10474774.html
2020-11-18 22:26:52 439
原创 SpringCloud Gateway全局过滤器统一请求日志打印
1.相关maven依赖 <!--SpringBoot父级工程--><parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.0.RELEASE</version> <relativePat
2020-11-11 17:49:41 2228 1
转载 Docker部署nacos【单机】
介绍参考:https://yq.aliyun.com/articles/695281一、介绍Nacos是阿里巴巴最新开源的项目,核心定位是“一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台”,项目地址:https://nacos.io/zh-cn/Nacos核心提供两个功能:服务注册与发现,动态配置管理。服务注册与发现Nacos提供基于DNS和基于RPC的服务发现,即能被用来支持https/http的服务注册与发现,也支持RPC如dubbo的服务注册与发现。与Dubbo使用的zoo
2020-11-06 09:36:25 194
转载 MyBatis之分页插件(PageHelper)工作原理
原文链接:https://www.cnblogs.com/dengpengbo/p/10579631.html
2020-11-02 10:38:51 131
原创 基于Jackson封装的常用JSON操作API,特别适合于用习惯了Fastjson的coder
由于Fastjson近来频繁出现各种漏洞,好多公司逐渐开始减少或禁止Fastjson的使用。除了Fastjson,市面上比较优秀的JSON类库还有很多,比较有名的比如Jackson、Gson等。但是Jackson原生的API和Fastjson对比,使用起来稍微有些麻烦,因此本人参考Fastjson的基本使用API,封装了Jackson操作JSON的常用方法。废话不多说,直接上代码。1.maven依赖,引入jackson系列的所有依赖和Guava 工具类库<!--Jackson -->
2020-10-29 18:40:16 578 2
原创 Spring AOP统一日志处理
开启AOP切面配置@Configuration@ComponentScan(basePackages = "com.spring")@EnableAspectJAutoProxypublic class ApplicationContextConfig {}切面类/** * Service AOP切面类 * * @author liuzhiqiang 2020/10/26 */@Component@Aspectpublic class AopAspect { .
2020-10-27 15:46:56 307
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人