自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

易水寒冰的博客

不积跬步无以至千里

  • 博客(79)
  • 收藏
  • 关注

原创 记录一次内存使用过高问题分析过程

背景现在记录这次内存使用已经记不得处于什么问题来排查的了,我是无意之中发现我们的测试环境内存使用率达到70%以上,监控软件已经开始标红,如下:之前排查过cpu过高的问题,今天看到有个内存标高的现象,心里很是开心,因为平时很少能遇到这种异常,于是开始着手进行分析如下先使用top命令查看是哪个进程占用内存过高 先top 后M(P表示按cpu进行排序)内存进行排序 top -H -p pid (在linux中查看指定进程的线程的-H参数用法) 观察看这一个进程有多个线程,每个线程.

2022-03-18 15:22:17 2854

原创 cookie、session、sessionId、token区别,以及shiro 生成token

为什么要使用cookie和session?cookie和session是一种追踪客户端与服务器端通信的一种方式。我们知道http链接是无状态链接,每次客户端访问服务端,服务端都不会知道访问者是谁,这样的好处就是http设计简单,缺点也显而易见:每次关闭浏览器后又要重新登录生成的记录如何返回给客户,客户下次访问又如何传递到服务器中?这就是利用了cookie。cookie是一段存储在浏览器中的文本,它可以保存用户的信息,服务端通过设置返回头的set-cookie字段就能返回给浏览器并保存cookie,

2022-03-15 11:18:28 1126

原创 Nginx根据路径的不同路由到不同服务器(支持集群)

nginx配置如下:#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}http { include mime.ty.

2022-03-10 15:33:51 3127

原创 自动填充用户名和密码小工具

1:js脚本javascript:(function(){document.getElementsByTagName('input')[0].value="root";document.getElementsByTagName('input')[0].dispatchEvent(new Event('input'));document.getElementsByTagName('input')[1].value="Pd";document.getElementsByTagName('in

2022-03-04 11:30:52 2787

原创 记录一次cpu 过高分析过程

cpu 过高的问题1:cd /tmp2: 看目录下是否有进程Id命名的文件名在进入后是有对应服务的进程id的文件,但是没有我想要的线程的id,那为啥没有生成线程的文件了?(如果读者你知道,烦请你告诉我下,在这我会非常感谢你。。。)3:ps -mp pid -o THREAD,tid,time |sort -rn将查出来的线程转换成16进制,然后用下面的命令查看对应的堆栈信息3:使用命令 jstack pid | grep 5760(22368 对应的tid转换成16进制的数据

2022-01-17 10:50:33 1066

原创 Visio 安装后提示 Dos 共享冲突

简述在加入新的公司后,因为之前的习惯,还是继续使用visio来梳理业务和源码,在联系了公司的IT运维部门同事,公司平台共享的版本低,用起来不方便,找运维同事发了个2013的版本 ,在安装后打开之前编辑的visio文件,保存的时候提示Dos 共享冲突版本提示语不同低版本的提示 有错误码2013 版本 只是提示了错误信息Dos 共享冲突解决方案快要放弃的时候 ,看到一个和这个问题没有关系的一个解决方法,于是拿过来试试 ,就是将原文件另存为一分,再打开 ,编辑后 还是提示这个错误...

2021-12-23 11:31:40 7032 1

原创 自定义异常

自定义异常

2021-11-26 16:43:26 112

原创 JAVA-多线程-线程异常捕获

问题上周五同事问我一个问题 ,在下发给下游数据的时候 ,其中的一条数据处理异常了,不影响其他数据继续处理他处理的方式AsynThreadExecutorSingleton.INSTANCE.execute(()-> { //TODO 业务处理 } catch(Exception e) { LOGGER.error("Exception e={}", e); }

2021-08-02 19:44:03 605

原创 大批量的刷生成sql脚本工具

读取Excel 表格中的数据 List<List<Object>> inList = new ArrayList<>(); try{ // 读取Excel文档 File finalXlsxFile = new File(finalXlsxPath); Workbook workBook = getWorkbok(finalXlsxFile);

2021-07-14 16:34:25 578

原创 Redis哨兵机制-保证redis的高可用

哨兵监听多个master-slaver

2021-06-16 09:27:34 111

原创 lombok使用爬坑记录

问题:给其他系统提供RPC jar包不影响其他系统的开发,一般先定义好接口,我是先把接口提供给了对方,正好赶上晚上发布,没事就谢谢代码,把逻辑写完,大概一点多了,我就自己先自测了下,中台的RPC接口,自己写了个controller来自测接口,自测的时候 ,其他字段都能接到值,为啥我新增的两个接受不到值(为啥lombok在编译阶段没有生成get set 方法 ,也不一定啊),还让同事帮忙看了,自己代码写的哪里出问题了,因为是半夜了,同事说脑子已经不转了,就没有看了,自己也想着,要不等后天来了再看吧(我们通宵

2021-04-20 19:45:08 146

原创 jar包冲突定位和解决冲突

解决jar冲突第一行 是我自己想使用的jar包版本从这个图可以看出来 0.8.2.2 这个版本 ,覆盖了我的,想用自己的,把别的排除掉左边是右边两个jar包中都含有的 ,所以要去掉一个 ,右边的是下面的把上面的覆盖掉了点击对应的kafka_2.10 依赖 进入看点击 我加入的 依赖进入后看到 有kafka-clients这个版本解决冲突 org.apache.kafka kafka_2.10

2021-04-08 15:16:16 388 1

原创 软考-基本知识记录

流水线的建立时间:第一条指令执行完毕 就是找个流水线建立建立时间流水线周期 :取指 分析指令 执行指令 三个中那个耗时最长 ,在周期就是这个最长的时间计算100条指令执行完毕 需要多长时间理论公式:(t1 + t2 +t3 )+(n-1)* 那个耗时最长的时间实践公式:(k+n-1)* 那个耗时最长的时间t1 + t2 +t3 k表示那几个操作,一般就三个 取值 分指 执行指三部分,根据实际考试情况来定流水线的吞吐率和最大吞吐率TP = 就是单位时间内执行多少条指令 指令

2021-03-17 21:27:40 194

原创 CRC校验码循环冗余码

CRC校验码G(x) = x^4 + x +1x = 2 ,2^42^3 +2^2 +2^1+2^0则转换后的 信息为 10011异或运算 相同为0 不同为1够除商为 1 不够除就为 0 ,但是商不是我们需要的,我们要的是余数 这个就是CRC的校验码后面的四个零 看X的最高次是多少 就补几个0...

2021-03-16 20:19:03 592

原创 Spring-boot之手写starter

组件自动装配组件:带有@Component的注解的装配:自动:一:Starter的作用1:管理jar包2:starter完成bean的配置,解决怎么装配到spring中3:怎么拿到外部xml的配置,即外部化配置二:手写Start1:snf-redis.jar 写好后,这个是具体的业务逻辑 2:snf-redis-spring-boot-start.jar 这个是管理snf-redis.jar,在pom中加入nsf-redis.jar包 3: snf-redis-s

2021-03-01 16:59:49 690 1

原创 设计模式-模板模式-场景

设计模式-模板模式之前做的项目中,自己使用的模式,做个记录,在后面看spring源码的时候 ,也看到了 模板模式的使用,便于扩展公司使用消息中间件组件消息中间件也使用了 模板模式public Abstract windqListernerHander两个主要方法:1:parse()抽象的方法子类实现 2:hadlerBizz()业务继承 xml和json来实现解析xml和json格式的信息AbstractXmlWindqListernerHander extends windqListe

2021-02-19 20:11:49 161

原创 设计模式--工厂模式-场景

设计模式-工厂模式简单工厂工厂方法工厂方法不便于扩展,所以出现抽象工厂spring源码分析中使用的工厂注简单工厂spring 的beanFactory 就是一个简单工厂,getBean(String name)工厂方法这个就比较单一,一个工厂只能造一样东西,从而有个弊端,不便于扩展,先看下工厂方法定义个接口 ,interfaceFactory;然后具体的工厂要干什么就实现这个interfaceFactory;用的是就调用工厂方法创建对象;工厂方法不便于扩展,所以出现抽象工厂定义个抽象

2021-02-19 19:42:20 148

原创 记一次让我多加班半个小时的xml解析问题

目录一:记一次让我多加半个小时的xml解析问题1:接受的报文2:合理的报文格式3:处理方式一:记一次让我多加半个小时的xml解析问题1:接受的报文最近在做消息中间件接受数据的需求 ,对方发xml文件发我,还没到编码就没注意看报文了,当我开始敲代码的时候需要解析这个xml文件的时候 ,心里一万个草泥马在奔腾,下面先看看数据结构,如下图2:合理的报文格式大家看到出来有什么蹩脚的地方没有,再看看我希望的数据结构是啥样3:处理方式对比下 这两个报文 ...

2021-02-02 11:58:09 269

原创 如何抗大量请求数据,处理方式之一(思想)

今天参加一个系统的代码评审,这个系统我没有参与开发,领导让我也参加下,原本以为就是一场简单的代码走读,看看有没有明显的问题,但是结束时,受益匪浅,想记录下来,作为自己的一个记录或者经验的积累,进入正题。这个系统提供数据的,问了下同事,为啥不用RSF的方式提供服务,领导问我,那数据怎么缓存到本地(调用方),我说我提供rsf给你,你调我拿到数据后存在本地啊,领导说如果后面接入的系统很多,是不是tps很高,A系统3W,B系统29W,那自己的系统是不是就会成为中心的瓶颈。是的,一定会的。同事的方法是提供sdk的

2021-01-13 11:06:18 288

原创 lua脚本开发(不是讲lua语法)

lua在葡萄牙语中表示月亮的意思,是一个小巧型的解释性的语言。用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。最近支援一个项目,做的事lua的开发,自己本身对于新技术很有好奇,开始接手的时候,同事说很简单,但是自己心里还是有些担忧,领导让我也参与到其中开发,熟悉lua的开发,技术总监跟我说只要熟悉js就行,我点点头,是可以的,毕竟自己对JavaScript有一定的基础,我首先问的是,这个能本地调试吗?同事跟我说,这个就本地开发一个lua文件,

2020-10-27 10:33:10 1261

原创 Mysql数据库只有一条数据,但是界面查询出来有多个数据

简单的功能自己也没有注意测,提交给测试,第二天就发生产了,已经一周过去了,测试今天回归才发现,在点击页签是发现两条数据相同,通过条件帅选,只选择一条数据,问我是不是点击查询的时候 是否做过处理,我不确定重新看下代码,在sit环境也亲自测了下,没有做处理。发现问题一:拿着查询条件到数据库去查,数据库是一条数据,但是界面查询出来两条数据二:跟测试说大概是前端分页插件的问题,sql不会有问题 (自信还是有的)分析问题: 1:先排查服务端给前端数据是否就有重复 2:服务...

2020-10-10 16:18:55 5410

原创 Redis面试汇总---后期不定期会添加

今天看到一篇关于redis的文章,写的挺好,赋值过来,用于自己温故而知新。1、如何保证Redis高可用和高并发?Redis主从架构,一主多从,可以满足高可用和高并发。出现实例宕机自动进行主备切换,配置读写分离缓解Master读写压力。2、Redis高可用方案具体怎么实施?使用官方推荐的哨兵(sentinel)机制就能实现,当主节点出现故障时,由Sentinel自动完成故障发现和转移,并通知应用方,实现高可用性。它有四个主要功能: 集群监控,负责监控redis master和slav

2020-09-29 15:08:48 143

原创 Restful 方式导入Excel--基础功能

对于基础功能的支持,在很多项目中都需要用Excel将初始化数据库,其实mysql的工具也是支持用工具的方式导入Excel数据,对于开发人员来说,如果遇到一个后台系统,则通常都需要支持界面操作导入excel数据。一:前端通过ajax方式data: new FormData($("#batchImportProductForm")[0]) 二:服务端接受@RequestMapping(value = "batchImport.do")@ResponseBodypublic Obj.

2020-09-24 11:59:01 929

原创 spring 事务整理的思维导图

2020-09-23 17:34:11 354

原创 事务的问题-解决思路

一:遇到的问题导入excel表格中两条相同的数据,在保存数据库的时候是先查一次再保存的,数据库中有,则不保存,没有则保存,但是实际操作的效果是两条数据都保存到数据库。二:解决的思路看了下代码,看到方法上有个事务注解,估计跟这个事务有关系,在方法上加了@Transactional ,想着这个应该是一个事务里,100行在保存到数据库的时候 ,第二次循环过来98行去查的时候没有查到,说明第一次的数据还没有保存到库中。三:修改验证3.1:在100行的方法上重新加个新的事务,即每次调用这.

2020-09-23 17:27:25 483

原创 CountDownLatch 的使用,以及BufferedAction的批量处理

梳理消息中间件

2020-05-11 16:30:47 394

原创 高一视角看JDK动态代理

一:前序这个是在cglig动态代理之后,补充再写JDK动态代理,和cglib动态代理一样都是解决不改变原有功能的基础增加新的功能,比较典型的案例就是事务,事务会单独写一篇文章介绍,spring源码中对事务的支持有两种支持方式(有且只有),下面是JDK动态代理的实现二:代码实现新建一个接口package dynamic.service;/** * Created by Adm...

2020-02-10 17:43:04 165

原创 CGLIB动态代理简介

一:前序一开始对动态代理都不懂,一直心里还是很惧怕这个概念,之前也学过,学过就忘了,现在想想之所以忘了,是因为平时在开发中也不会使用到动态代理,那回过头再想想,自己已经做了六年多的开发了,那为什么还要学习这个了,今天想想也许就是技多不压身,其实只有知道的多了,才会在用到的时候,用起来,我想也有种说法是用到的时候再学也可以,但是在平时的开发中,我们很少会用到,可能是我们不知道动态代理,如果知道也...

2020-02-10 17:03:21 218

原创 HashMap简单介绍

数组 + 链表 + 红黑二叉树hasMap类中key value int类型的hash(用于告诉我的这个节点Node 应该放在什么地方)Class Node{ final int hash key name Node nextNode}长度大于8的话,会将链表转换成红黑二叉树当长度小于6的话,就会转换成list受限与数组的大...

2020-02-01 22:17:04 225

原创 RabitMq的原理

今天看资料觉的这个图,一看很明了,借用tony老师得这张图,做笔记记录对RabitMq的理解5个重要概念:生产者:发布消息到rabbitmq中消费者:处理队列中的消息Exchange: 消息交换机制(邮局)Bind:配置队列和交换机的路由关系Queue:消息存放的地方 – 队列  ...

2019-01-26 21:28:22 547

原创 Docker理解这些就可以了

 Docker是什么 Docker能做什么 Docker的几个概念          3.1:Docker容器 镜像 仓库之间的关系Docker的优点        Docker容器启动只占内存几十M,占内存比较少...

2018-12-15 16:02:54 139

原创 查看centos 的版本

先执行命令:lsb_release -a ,如果能看到,就不用看下面的文章了今天看视频资料,看如何安装docker,但是到现在已经是晚上六点四十三了,才开始看,是因为一直在弄centos,本地安装了两个虚拟机,有个密码忘了,想重置下密码的,没有搞定,然后就睡着了,一觉睡到快五点半了,醒了后发了会呆。本来想这做饭的,看冰箱里面还有昨天姐带回来的米饭和今天爸妈出门还剩的菜,就晚点再做吧,所以现在才...

2018-10-02 19:46:40 8453

原创 tomcat启动找不到javax.lang.http

第一:工程中引入tomcat下的jsp-api.jar和servlet-api.jar 第二:然后再 点击菜单上project---&gt;clean ,clean下你的工程 第三:然后重启项目即可

2018-09-24 17:41:18 487

原创 同步和异步 阻塞和非阻塞 集群和分布式的区别

同步是:每次自己主动的去问要结果异步是:不用管,等好了会通知我的集群:是不同的机器做相同的事分布式是:每个模块都单独的独立处理,相互之间协调才能完成一件事阻塞:是不能干别的事,只能在这等他的结果非阻塞:是可以干别的事,有结果会通知的ex:     普通水壶 等在旁边 ------&gt;同步阻塞的     普通水壶不在旁边看 ------&gt;同步非阻塞的  ...

2018-09-24 17:40:18 769

原创 集群和分布式的区别

集群:相同的功能,分布在不同服务器上,分布式:是不同的功能分布在不同机器上,各个系统之间相互协作完成一个动作目前项目中的集群和分布式都存在,集群是我们的支付系统会分布在不同的服务器上,分布式是我们是支付系统,还有订单系统,门店基础服务系统,云平台销售系统,店面促销系统,各个系统之间通过RPC(dubbo)的方式进行通讯...

2018-09-04 15:21:21 234

原创 java数据库层面大数据量处理方式(面试)

数据库数据量大的处理方式

2018-08-30 20:30:15 2692

原创 接口安全性问题(面试)

接口安全性知识面很广,我只是写下冰上一角,只是从java开发层面去写一点自己的理解 写这篇文档的缘由还要从我上家公司说起,离职后接到第一家公司的面试电话,简单的电话沟通后留下了面试的地点和时间,觉得这家公司还可以就去了,跑了很远的路程到了自己很想进的这家公司,面试的细节我记的不是很清楚了,已经大概有一年多了,现在能记得的就是跟标题有关系的这个面...

2018-08-30 20:02:27 3156 3

原创 redis分布式锁(理解的不全面)

   因为自己做的项目是支付系统,调用第三方支付的,公司用的是redis分布式锁,从开始知道项目中用的是redis锁到现在想写这篇关于redis锁的文章,差不多半年了,这个过程也是有时间才看看,断断续续的,现在写下来,也没有完全的理解项目中的锁是怎么实现的,但是这个过程中对redis锁有个大概的了解了,这边文章没有太多的参考价值,只是自己在项目中遇到的问题,我的boss也没有给我答复,我间接的想知...

2018-08-30 15:01:27 563

原创 自定义注解的理解和使用

自定义注解

2018-08-29 15:30:10 1137 1

mysql-脚本安装d

mysql5.6 数据库脚本安装

2024-05-17

空空如也

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

TA关注的人

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