自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 问答 (1)
  • 收藏
  • 关注

原创 python批量修改centos账户密码

python批量修改服务器密码

2024-02-28 12:02:10 126 1

原创 windows环境搭建ELK

(由于elasticsearch开启了身份验证,所以连接时需要提供用户名、密码或者token,上面提到过elasticsearch默认用户是elastic,但是elastic是超级管理员,不允许直接连接,所以这里可以新建一个用户供kibana使用或者使用token的方式)执行成功后,可以在系统服务中查看到相应的服务,直接【启动】服务即可(可以根据需要设置自启)执行成功后,可以在系统服务中查看到相应的服务,直接【启动】服务即可(可以根据需要设置自启)跳转到bin目录,执行下面的代码将es注册为系统服务。

2023-08-30 17:11:22 1231

原创 数值与字符串转换算法

数值、字符串、转换、随机

2022-08-25 14:42:11 579 1

原创 spring-boot jar包瘦身(fat-jar到thin-jar)

目前我司采用内网自建GitLab平台托管代码,fat-jar方式打包,每个应用jar包达到百兆。为了规避云服务带宽不足导致上次jar包缓慢的问题,我们在云服务器上安装了GitLab Runner(:依赖jar可以分离出来,从而保证我们打包出来的应用jar包很小(可能只有几兆甚至更小),而依赖jar在大部分情况下是不会改变的,所以每次发布的时候只需要把应用jar包上传即可。:所有的依赖都打到一个jar里面,导致jar包非常大(一个jar包上百兆),不利用网络传输(特别是云服务器来说带宽资源比较贵);...

2022-08-05 09:14:21 836

原创 spring-session-data-redis session更新失效问题解决

本文目录结构:一、问题复现二、问题排查三、问题解决一、问题复现现在的项目都由原先的单体架构向分布式架构演变,在这个过程中就会存在session共享的问题。单体架构只有一个JVM,所以内存中的数据可以共享,session直接保存在内存中,重启服务会导致session丢失,用户登录失效。分布式架构下基本都存在多个微服务,或者微服务集群,且版本迭代速度快,这些服务有各自的JVM,因此无法实现内存共享,这时就需要借助第三方存储空间()来实现内存共享,并且重启服务不会丢失session,能够保持用户登录态。将s

2022-06-16 15:19:13 3127

原创 自定义HttpMessageConverter实现参数加解密

如果对于不理解,可以先看下【HttpMessageConverter逻辑梳理】这篇文章。本文要实现以下三种格式解密:以下一种格式解密:下面对以上四种情况分别展开本文目录结构:一、自定义注解二、封装类型接收参数三、自定义实体类接收参数四、json转实体类五、响应报文转json六、配置自定义converter七、使用一、自定义注解在理解的前提下,实现参数加解密应该是相对容易的事情。有两种加密解密方式:1.针对请求报文进行加密解密;2.针对请求报文中的属性字段进行加密解密。这里我们选择第2中实现方案。下

2022-06-15 17:30:27 1239

原创 HttpMessageConverter逻辑梳理

本文目录结构:一、快速了解的机制二、结合解读解析请求报文机制三、结合解读解析响应报文机制四、创建自定义HttpMessageConverter实现参数加解密一、快速了解的机制快速过一遍相关代码(这里只摘取核心的代码,并注释方法作用,其余代码使用【…】省略,感兴趣的话可以自行查看源码)其实核心流程就是根据parameter去匹配resolver,然后将具体的参数解析工作交给匹配到的resolver,resolver再将解析工作委托给converter二、结合解读解析请求报文机制根据paramet

2022-06-15 17:27:54 1031

原创 centos7 配置java服务开机自启

1.创建jar包启动、停止、重启脚本(例如:mall-uc.sh)name="服务标识"Xmx=xxxmXms=xxxmXmn=xxxmPermSize=xxxmMaxPermSize=xxxmpid="进程文件存放位置"jarName="jar包路径"start(){ if [ -f "$pid" ] then echo "$jarName is running !" exit 0; else echo -n "start ${jarName} ..." noh

2022-01-23 11:25:19 1331

原创 windows下tomcat启动时生成进程文件

环境:windows tomcat6由于tomcat默认的shutdown.bat存在无法及时关闭进程的问题,进而可能导致tomcat同时存在两个进程在执行,导致schedule任务被重复执行。因此需要一种保证tomcat在同一时间点只能存在一个进程机制。解决方案:在tomcat启动时判断当前目录下tomcat.pid文件是否存在,如果存在则提示"tomcat is running",否则就在当前目录下创建tomcat.pid文件;在tomcat停止时,为了保险起见可以通过taskkill命令强.

2021-10-12 13:45:41 755 2

原创 springboot max-http-header-size配置导致内存溢出

9.15日,线上的一个微服务接口错误率突然提升的情况。于是连接上了远程服务器使用jps -l命令查看发现进程还在,但是无法稳定的对外提供服务。下面记录下问题定位、解决的过程一、问题排查既然进程还在,那就说明还没有死掉,于是我就开始着手排查使用top命令查看cpu占用情况,找到占用cpu最高的进程pid使用jps -l命令去打印出服务器内所有的java进程信息,然后查看是否有第1步中拿到的pid经过上述两步可以确定是问题出在某个java进程上根据以往经验,既然占用这么高的cpu,而系统此刻访问

2021-09-25 16:04:52 858

原创 线上服务导致cpu飙升问题排查

一、故障说明        昨晚突然收到线上服务器cpu报警,登录监控平台看了下发现cpu瞬间飙升到60%。第一反应就是使用top命令去查看,发现是一个java进程。于是立刻使用jps -l命令定位到该java进程,发现是一个后台服务,按理说晚上没什么人去使用后台服务,而且它也没有定时任务,查看了服务的日志都没有发现异常情况。二、故障排查       &

2020-12-29 14:10:53 1001

原创 updlock实例分析

先给出一个场景,然后围绕这个场景展开讨论。场景:商品限购,商家在发布活动时,要求活动内的每个商品每位用户限购一个。假设现在有一张表活动订单表,记录了用户参与活动的情况。活动订单表(主键,活动主键,用户主键,商品主键)-- sql server 2008CREATE TABLE [dbo].[tbl_activity_order] ( [id] bigint NOT NULL, [activity_id] bigint NOT NULL, [user_id] bigint NOT NUL

2020-12-19 16:43:58 551 3

原创 net.sf.json踩坑( net.sf.json.JSONNull cannot be cast to java.lang.String)

最近运营反馈偶尔有一两笔订单出现卡单,无法充值的问题。正好今天不是很忙就和同事一起定位问题。因为是一个比较老的项目,可能当时开发人员没有开发规范,所以对于异常日志仅仅是在控制台打印并没有记录到异常日志,因此现在去定位问题只能通过业务日志和代码入手,这种方法最好的就是采用排查法了,通过排查最终将问题锁定在一段json解析的代码上。由于隐私的问题我这里就自己写段代码复现吧。import net.sf.json.JSONObject;public class JsonTest { public s

2020-12-11 14:13:37 4556 2

原创 class类文件结构解析

加密防止反编译

2020-12-09 19:14:21 179 1

原创 map空指针排查

前几天线上异常监控检测到一个NullPointerException,于是根据异常栈提示定位到具体发生异常的代码,这里记录下出现异常的原因。先来一段简单的代码来复习问题。public class TestObject{ private Integer status; public TestObject(Integer status){ this.status = status; } public static void main(String[] args){ Map<Tes

2020-12-08 14:56:20 1297

原创 设计模式在开发中的应用-装饰者

zsz

2020-12-08 11:39:35 116

原创 设计模式在开发中的应用-状态模式

zt

2020-12-07 18:53:41 149

原创 JAVA模拟淘宝、天猫登录

有时候需要对淘宝、天猫平台进行频繁操作,会触发平台风控,需要我们登陆之后才能进行操作,或者有些功能淘宝开放平台并没有提供api接口,只能通过人工登录进行操作,但是频繁的人工操作比较浪费时间。因此对于模拟登陆的需求也就随之而来。网上很多关于淘宝、天猫模拟登陆的教程都是python写的,但是我对python语言了解不多,而且我们需要定制化的功能,因此最好是使用自己熟悉的语言去开发,因此本文的模拟是使用JAVA实现的,网上对于使用JAVA来实现淘宝、天猫的模拟并不多,而且没有详细的实现步骤,因此这里对我的实现步

2020-08-19 14:58:49 2722 2

原创 ELK环境搭建指南

elk环境搭建

2020-07-28 10:53:58 184

原创 spring cloud集成sentinel实现服务限流

Hystrix/sentinel是什么?为什么从Hystrix迁移到sentinel?

2020-05-09 18:18:13 453

原创 GitLab私服及CI环境搭建

CI

2020-03-27 16:46:00 609

原创 前后端灰度发布解决方案

灰度发布

2020-03-17 17:12:09 1903

原创 数据交互加密

没有绝对的安全!        这段时间发现有人在恶意攻击我们的接口,通过篡改接口数据,绕过前端校验直接请求后台接口。所以我们想要对重要接口的数据交互进行加密处理。这里只能使用可逆的加密方式,其中大体可分对称加密,非对称加密。但是不管是对称加密还是非对称加密都存在秘钥的问题,秘钥如何生成、如何存储。 &n...

2020-03-13 18:12:50 714

原创 connection reset by peer问题解决

        前段时间接手一个老项目,在观察项目日志时发现经常会出现connection reset by peer的错误,字面上理解就是网络连接重置,从而导致请求中断。要想解决问题首先要明白出现问题的原因,reset产生的原因这里就不在叙述,网上有很多这方面的文章,大家可以自行阅读。  &nb...

2020-03-09 09:54:21 6971

原创 推荐最优优惠券组合

前段时间在开发商城项目,其中有一个需求就是如果为用户推荐最优优惠券组合

2020-03-09 08:58:23 4645 3

空空如也

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

TA关注的人

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