- 博客(32)
- 资源 (42)
- 问答 (2)
- 收藏
- 关注
原创 windows通过cygwin自己编译生成redis可运行文件
windows环境安装cygwin,并且使用cygwin编译redis源码为windows环境可使用的redis
2022-06-08 20:26:37
603
原创 redis分布式锁实现的两种方式 lua脚本与redisson,解决自定义超时后锁自动续期失效问题
redis分布式锁的实现,两种实现方式:lua脚本、redisson,以及解决使用redisson时自定义锁超时时间后,锁无法自动续期问题
2022-06-06 15:35:36
731
原创 springboot+redis+lua脚本进行接口限流,解决高并发计数不准确问题
springboot接口限流 redis + lettuce+lua脚本+自定义注解实现,配置redis集群高可用,
2022-06-06 15:11:16
1658
原创 fastjson1.2.24反序列化漏洞复现,验证JdbcRowSetImpl
fastjson反序列化漏洞复现、实验、验证,远程命令调用、漏洞攻击
2022-05-30 18:57:12
1529
原创 springboot2定时任务的两种方式:自带Schedule、集成quartz的详细步骤,quartz数据库初始化
springboot quartz schedule定时任务实现
2022-05-24 19:01:58
5519
原创 springboot+redis集群接入集成,多集群多连接池多数据源,redis工具类
目录1.添加maven依赖,pom文件中添加2.添加yml中redis配置项3.配置luttuce连接池template4.编写redis工具类5.使用redis不写一大篇废话了,redis介绍啊等等东西百度吧。直接上集成步骤1.添加maven依赖,pom文件中添加<!-- redis --><dependency> <groupId>org.springframework.boot</groupId> &
2021-08-19 10:01:03
1772
1
原创 springboot中直接创建topic,及其他相关方法
KafkaClientAdmin实现原理:其内部原理是使用Kafka自定义的一套二进制协议来实现,详细可以参见Kafka协议。主要实现步骤: 客户端根据方法的调用创建相应的协议请求,比如创建Topic的createTopics方法,其内部就是发送CreateTopicRequest请求。 客户端发送请求至Kafka Broker。 Kafka Broker处理相应的请求并回执,比如与CreateTopicRequest对应的是CreateTopicResp...
2021-08-10 16:39:39
1554
原创 bat批处理在java启动jar的时候配置外部yml,并替换设置yml中数据库信息,检测IP是否正确,80端口是否被使用
这没啥好说的,直接贴脚本吧@echo offtitle 启动系统setlocal enabledelayedexpansionecho 可选数据库有:echo.echo 1.oracle数据库echo.echo 2.mysql数据库echo.:selectDBset database=set /p database= 请选择您的数据库[1/2]:echo.if /i %database%=1 ( set dbtype=oracle)else if /i %data...
2021-08-09 15:47:25
739
原创 springboot如何集成kafka集群
springboot中集成kafka,主要目的干啥呢,当然消息推送啦。不同系统之间,自身系统不同组件之间消息通信的一种方式,也可以是使用MQ。为什么要使用咱们的消息系统呢:个人看来,目的主要就是为了解耦,异步通信,消峰处理。消息系统三大优点解耦:怎么理解呢,比如我是A系统,我要现在要给B、C两个系统发送消息,如果不用消息系统,直接调用,就相当于A系统跟B、C系统强耦合到一起了,如果后面还有D、E......等系统怎么办呢,我总不能挨着挨着一个一个写吧,这样代码耦合太高了,而且我还得考虑别人收
2021-08-06 17:12:11
4830
10
原创 zookeeper集群+kafka集群本地单机环境搭建(windows)
一.JDK安装:多的不说了,直接上连接去下载:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html下载好了,傻瓜式安装,双击,然后下一步。安装好了后,打开命令行运行命令 java -version表示安装成功,如果说找不到java命令,则需要配置环境变量:JAVA_HOME: C:\Program Files\Java\jdk1.8.0_171 (jdk的安装路径)Path: 在现有..
2021-08-05 17:19:22
704
2
原创 Vue3.x与Vue2.x的部分不同点
一.main.js中app注册方式2.x:importVuefrom"vue";importAppfrom"./App";//路由引入importrouterfrom"./router";newVue({el:"#app",router,template:"<App/>",components:{App},});3.x:import{createApp}from"vue";importAppfro...
2021-07-27 11:45:31
235
原创 java 实现各种进制之间相互转换
一、概述java进行进制转换,学习到的一个转换方法;0b开头默认是二进制0开头默认是八进制整数默认是10进制0x开头默认是16进制1. x进制转10进制方法为 每一位的 数值 * x的(总长度-1-i次方) 的和:如 二进制的 10101 转10进制,则结果为 1*2的4次方+ 0 + 1*2的2次方 + 0 + 1*2的0次方 = 21如 8进制的 72 转10进制,则结果为 7*8的1次方+2*8的0次方 = 582. 10进制转x进制方法为 直接......
2021-05-11 17:50:35
1148
1
原创 java 位运算和关于二进制的一些理解
目录一、概述二、位移运算 >> << >>>①. >>:将一个数右移 最高位是0,则左边补齐0;如果最高位为1,则左边补齐1②. <<:将一个数左移 左边最高位直接丢弃,右侧补齐0③. >>>:无符号右移,直接左侧补齐0,不管最高位是0或者1三、位运算 & | ^ ~①. &:按位 于 运算,将相同位置的二进制进行 与 运算:如果有0则结果为0,如果都为1...
2021-05-11 15:56:35
170
原创 springboot+shiro+jwt实现登录+权限验证
一、简介:JWT优点:1.基于Token的身份认证是无状态的,服务器或者Session中不会存储任何用户信息-应用程序可以根据需要扩展和添加更多的机器,而不必担心用户登录的位置。2.支持跨域访问: Cookie是不允许垮域访问的,token支持。3.解耦: 不需要绑定到一个特定的身份验证方案。Token可以在任何地方生成,只要在 你的API被调用的时候, 你可以进行Token生成调用即可。4.更适用于移动应用: Cookie不支持手机端访问,token支持。5.性能: token生成
2021-03-06 16:37:37
1502
1
原创 java读取zip中的txt文件内容(解决乱码)
目录一、简介二、代码一、简介很多时候我们需要使用java读取zip的内容,读取zip中的txt(其他文件类似),本文使用java编写了简单的读取zip中txt内容的代码。可以支持GBK或者UTF8编码格式的zip文件,支持zip中的txt文件内容编码格式内容为GBK或者UTF8格式,原生java读取不需要依赖三方包。二、代码由于没啥太多好描述的,废话不多说,直接上代码:import org.apache.commons.lang.StringUtils;import jav
2021-02-26 20:54:01
1557
原创 mybatis-plus代码自动生成generator配置实现
简介mybatis-plus是mybatis的升级版,在 mybatis 的基础上只做增强不做改变,主要目的是简化开发、提高开发效率。它内置通用的 Mapper与Service,仅仅通过少量配置即可实现单表大部分 简单的CRUD 操作,还有强大的条件构造器,满足各类使用需求。即使涉及到咱们最头疼的表结构调整,只要没调整业务逻辑,也可以不用手动改变代码,只需从新使用generator生成一次即可。且其可以直接丢掉xml编写sql,直接在java代码中通过wrapper编写(个人不太支持非简单CRUD的s.
2021-02-22 11:02:21
10693
原创 java中使用JSON工具处理数字null空
目录前言1. net.sf.json.JSONObject2. com.alibaba.fastjson.JSONObject3.差异区别:4. 处理对象中的空null:5. 分别解决对象中的空null:net.sf.json工具包:fastjson 工具包:前言作者常用的有两个:1. json-libmaven引入方式:<dependency> <groupId>com.alibaba</groupId> ...
2021-02-07 18:35:56
1212
1
原创 java常用设计模式学习分享
简单的编写常用的几个设计模式的理解以及java示例。如 单例模式、工厂模式、观察者模式、代理模式、建造者模式、生产者-消费者模式。计模式六大原则1.单一职责原则2.里氏替换原则3.依赖倒置原则4.接口隔离5.迪米特法则6.开闭原则
2021-02-01 17:41:39
323
2
原创 springboot后端实现断点续传(分片下载)
简介: 大家应该都听说过分片上传(断点上传),那么断点下载又是什么呢?其实完全可以按照上传的理解来理解断点续传、分片下载。下载文件的时候将一个大文件分成N个部分进行下载,然后前端再进行组合。最终得到一个完整的文件。 但是呢,下载跟上传,后端的实现方式还是有区别的,上传需要把接口分成4个接口;但是下载不需要,一个接口搞定;主要依赖http的Range头来进行处理(其实个人还考虑过另外一种方式,未验证不知道是否可行;方式就是后端将文件进行切割,然后提供一个接口告诉...
2021-01-27 17:10:43
9441
6
原创 springboot 后端大文件分片上传(断点上传)
简介: 什么是分片上传?分片上传就是把一个大的文件分成N个部分,然后一部分一部分的进行上传。 分片上传有什么好处?分片上传可以实现断网、关浏览器、传输错误等情况发生后,再次进行此文件的上传的时候,已上传的部分无需继续上传,减少上传文件的流量消耗与用户的等待时间。 后端如何实现分片上传?后端传统上传,直接开发一个接口,接受文件即可;但是分片上传如何实现呢,按照分片的解读理解,咱们可以将上传接口进行拆分: ①. 首先咱们需要一个接口,来记录...
2021-01-27 16:28:40
5147
2
原创 java工厂模式实例(设计模式)
java工厂模式开篇声明,此理解为作者自身理解,不一定正确,如有错误请大佬们指正。工厂模式,在作者看来,从现实生活来说,就是一个工厂,里面有N个车间,每个车间会生产不同的产品,而租户只需要告诉这个工厂的老板我需要一个什么产品,老板会去找到对应的车间返回给租户使用。画个图理解:如果使用java语言来描述则是,对具有相同动作,不同动作执行过程的一类方法抽象出一个接口类,然后不同的实现类对接口类中的接口进行不同的实现,并且编写一个工厂类,根据传入获取不同的实现类实例返回给调用者
2021-01-26 19:20:35
9520
4
原创 springboot项目配置添加swagger
在前后端分离的项目中,前后端是分开开发的,很多时候后端已经开发完成,但是前段仍然没有完成;这个时候,后端需要对自己开发的接口进行测试,目前可以通过postman来进行。但是这及其不方便,还需要下载一个postman软件。 又或者当前端找后端开发人员了解后端的接口有哪些,接口中的入参出参是什么,这个时候,后端人员就需要编写一份接口文档,里面整理各个接口以及其入参与出参;或者在开发的过程中就编写接口文档或者在编写完成后一个一个的补充编写接口文档。 那...
2021-01-26 15:30:39
2866
1
原创 springboot + 全局统一拦截处理异常、统一返回
编写一个Advice继承自ResponseBodyAdvice,加上注解@ControllerAdvice(basePackages={"xxxx"})具体的拦截以及返回统一处理,直接上代码——百度+自己编写:处理了各种异常,以及统一返回的处理实现,排除了下载的流返回处理。import com.alibaba.fastjson.JSON;import com.cetccloud.base.ResponseVo;import com.cetccloud.base.exceptions.C
2021-01-25 18:30:30
1649
原创 springboot_druid实现配置文件application数据库密码加密配置
记录下来,以防后自己忘记第一步:在pom文件中增加druid的引入依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.13</version></dependency>第二步:新增一个加密密码生成类:
2021-01-25 18:22:59
830
原创 java,让线程按照顺序执行
自己写了一段main方法代码,试验过N次,暂时未发现问题。自己的理解(如果错误,请大佬们指导一下):使用线程的join方法,让线程进行等待,join()方法实际跟调用join(0)效果一致,参数代表的是等待线程执行的时间,单位是毫秒。设置为0并不代表不等待,而是一直等待,直到调用isAlive方法返回true,表示当前线程执行完成;否则继续等待(串发执行)。如果设置的等待时间为负数,直接报错,如果为正数,前一个线程会等待xx.join的xx这个线程正数的时间后继续执行(并发执行)。joi
2021-01-25 17:49:41
218
原创 postgresql 双机热备实现
说明: /var/opt/rh/rh/rh-postgresql10/lib/pgsql/data/ 此地址为数据库安装地址。 /opt/rh/rh-postgresql10/root/usr/bin/ 此地址为数据库命令sh文件地址1.准备两个主机 250 主库 251 从库 (主从切换后则主从关系调换)2.分别安装pgsql数据库 安装完成后,分别配置两个数据库可被哪些网段访问(从库需要在4.①步骤完成后执行此操作) vi /var/opt/rh/rh-post...
2021-01-25 17:36:54
3551
4
SQL Server数据库的连接方法(struts项目)
2011-04-18
springbooot+shiro+jwt+swagger+mysql+vue.zip
2019-06-05
ssm项目spring+springmvc+mybatis+mysql
2018-06-01
springMVC的action配置+ckeditor
2018-05-07
highcharts后台数据交互及各种常用设置配置
2016-03-04
highcharts的draggable-legend.js
2016-03-04
springmvc+maven+mybatis+mysql实现登陆根据ip获取天气
2016-03-04
为什么ckeditor在ie下不能直接粘贴截图
2017-10-16
highcharts 下钻生成堆叠图?
2016-03-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人