- 博客(36)
- 收藏
- 关注

原创 【Ftp客户端】FTPBox starter
FTPBox 是一个基于 FTP协议的 SpringBoot Starter,主要包含了:文件上传、下载、校验、查看等功能,为用户提供了一种安全的方式来发送和接收文件和文件夹。用于执行自定义没有返回值的FTP操作,比如查看默认的 FTP目录(ftpClient 的其他用途,请参考 edtFTPj 的 API)用于执行自定义 FTP 操作,比如查看 FTP 默认目录(ftpClient 的其他用途,请参考 edtFTPj 的 API)下载文件,该方法只会创建下载的本地文件,不会创建本地文件的父目录。
2024-02-06 15:42:42
1019

原创 Kafka SASL_SSL双重认证
kafka提供了多种安全认证机制,主要分为SASL和SSL两大类。在 Kafka 中启用 SASL_SSL 安全协议时,SASL 用于客户端和服务器之间的身份验证,SSL 则用于加密和保护数据的传输。不仅提供身份验证,还提供加密和数据保护的功能。因工作需要,需要在测试环境搭建一套基于SASL_SSL协议的kafka环境。坑比较多,经过两天的研究终于搞定了,特在此记录下。
2024-02-05 14:18:00
4426
4

原创 Linux高级命令find,grep,sed,awk
Linux高级命令[find,grep,sed,wak]1.findfind 命令用来在指定目录下查找文件语法:find path -option [ -print ] [ -exec -ok command ] {} ;1.1 常用查询选项option**-name:**根据名称匹配**-iname:**忽略大小写 例如:查找根目录下以log为结尾的文件:*find / -name 'log’**-user:**根据所属与的组进行查询 例如:查当前路
2022-05-20 17:33:14
6959
2
原创 idea生成WebServices接口
选中创建的接口xxxManage,在idea中点击 Tools - WebServices - Generate Wsdl From Java Code…补充:我的idea2021没有此选项,双击shift,输入webServices也可以找到此选项。将生成的接口与实体文件拷贝到工程对应的路径下(覆盖原始创建的接口,并将wsdl文件删除)注意:(请求响应的实体中添加基本属性及get/set方法、满参构造、空参构造)新建一个webServices工程,按照接口规范生成接口、请求类、响应类。
2024-02-27 19:05:20
1831
转载 【并行编程框架】AsyncTool
自定义线程任务A、B、C,实现IWorker,ICallback函数式接口,并重写下面的4个方法。begin():Worker开始执行前,先回调begin()action():Worker中执行耗时操作的地方,比如RPC接口调用。result():action()执行完毕后,回调result方法,可以在此处处理action中的返回值。defaultValue():整个Worker执行异常,或者超时,会回调defaultValue(),Worker返回默认值。
2024-02-06 15:35:47
1599
原创 Kafka 生产调优
100 万日活,每人每天 100 条日志,每天总共的日志条数是 100 万 * 100 条 = 1 亿条。1 亿 / 24 小时 / 60 分 / 60 秒 = 1150 条/每秒钟。每条日志大小:0.5k ~ 2k(约1k)。1150 条/每秒钟 * 1k ≈ 1m/s。高峰期每秒钟:1150 条 * 20 倍 = 23000 条。所以高峰每秒数据量:20MB/s。
2024-02-06 11:00:21
2518
原创 【键值对象池】GenericKeyedObjectPool
的类型,然后就是照葫芦画瓢。方法并不是必需的,如果池化的对象除了内存以外不需要额外的资源释放,就不用重写这个方法了。还有一种情况就是对象信息需要清除,比如。 通用池化框架commons-pool2实践,其中提到了可以池化一个对象和一组对象,一个对象用到了。顾名思义,键值对象池。就是通过一个key对应一个对象类型来组合对象池,其本质上就是一个。,需要把请求地址和请求头等信息清除,这个需要跟业务需求保持一致。然后就是池化工厂类,这个类需要定义。例如:配置多sftp主机连接。这个类,一组对象用到了。
2024-02-05 14:55:49
767
1
原创 咆哮的BitMaps
Roaring Bitmaps(Roaring Bitmaps)是一种高效的数据结构,用于压缩表示大规模数据集合的位图,它主要用于存储和检索键值对,并提供对键的导航和范围查询的功能。使用 Roaring Bitmaps,你可以高效地存储和操作大规模的稀疏位集合,Roaring Bitmaps 提供了多个实现版本,包括RoaringBitmap(32位整数)、Roaring64Bitmap(64位整数),本文介绍Roaring64Bitmap的快速入门。
2024-02-05 14:38:56
529
原创 JSch - 配置SFTP服务器SSH免密登录
SFTP是一个安全文件传送协议,可以为传输文件提供一种安全的加密方法。SFTP 为 SSH的一部份,是一种传输文件到服务器的安全方式。SFTP是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。Jsch是一个纯粹的用java实现SSH功能的java library。如果要知道Jsch的功能需先了解一下SSH。
2024-02-05 14:37:40
2126
原创 ELFK日志采 - QuickStart
Filebeat是一个轻量型日志采集器,负责采集数据,并通过网路传输给 Logstash。Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到喜欢的“存储库”中。通过定义了一个 Logstash 管道(Logstash Pipeline),来读取、过滤、输出数据。
2024-02-05 14:35:57
1149
原创 【异步神器】CompletableFuture
某个任务执行完成后执行的动作(即回调方法),将该任务的执行结果即方法返回值作为入参传递到回调方法中,无返回值。某个任务执行完成后执行的动作,即回调方法,会将该任务的执行结果即方法返回值作为入参传递到回调方法中,带有返回值。 whenComplete是当某个任务执行完成后执行的回调方法,会将执行结果或者执行期间抛出的异常传递给回调方法,如果是正常执行则异常为null,务执行完成后执行的回调方法,正常执行则异常为null,get方法返回执行结果,如果是执行异常,则get方法抛出异常。
2024-02-05 14:33:10
646
原创 Redis + Lua 实现分布式限流器
*** @explain: 限流类型/*** 自定义key* 请求者IP*/ IP;period表示请求限制时间段count表示在period这个时间段内允许放行请求的次数。limitType代表限流的类型,可以根据请求的IP自定义key,如果不传limitType属性则默认用方法名作为默认key。import com/*** @explain: 自定义限流注解。
2024-02-05 14:31:31
1612
原创 生成SSL证书
SSL 是一种加密协议,用于在网络通信中提供数据的保密性和完整性。它使用公钥和私钥来建立安全的连接,并对传输的数据进行加密和解密,以防止未经授权的访问和篡改。根据文章操作,生成以下四个文件用于存储与 SSL 相关的密钥、证书和信任的根证书。
2024-02-05 14:15:43
5647
原创 java中常见的数据结构(list,stack,queue,linked,hashTable,tree)
6种常见数据结构数组、链表、队列、堆栈、哈希表、树
2022-04-21 17:36:07
5808
原创 MySQL窗口函数(排序函数)
MySQL窗口函数(排序函数)1.快速入门:排序函数row_number()去重排序,在每个分组内,为查询出来的每一行记录生成一个序号,依次排序且不会重复使用row_number() over() 函数时,over()里的排序晚于where group by order by的执行partiton by 用于给果集分组,如果未指定则将整个结果集作为一个分组与聚合函数区别:可以返回一个分组中多条记录,而集合函数一般只有一个反应统计值的记录使用row_number()实现分页时需注
2022-04-08 19:20:10
2420
原创 HikariCP连接池-springboot1.0x~2.0x
HikariCP连接池springboot1.0xSpringBoot2默认的数据库连接池已经是HikariCP,所以不需要再配置,SpringBoot2版本之前的则需要配置1.添加maven依赖<!-- JDBC连接数据库,因为要用HikariCP,所以需要将SpringBoot中的tomcat-jdbc排除 --><dependency> <groupId>org.springframework.boot</groupId> &l
2022-03-15 21:40:29
664
1
原创 ElasticJob 3.0 带你快速入门
ElasticJobElasticJob 简介当当网开源的分布式定时任务框架,后被apache基金会支持;官方文档:https://shardingsphere.apache.org/elasticjob/current/cn/overview/问:ElasticJob是什么?答:定时任务框架;优势:支持分布式部署;不同节点上执行的是不一样的任务(代码是同一套);对于一个大任务,可以用分片策略,让他在多节点上执行;能够保证高可用;利用zk实现分布式环境管理;水平扩展(
2021-12-30 16:01:46
5148
1
原创 SpringBoot-yaml(在配置文件中设置多个对象)
SpringBoot 配置文件SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的application.properties语法结构 :key=valueapplication.yml语法结构 :key:空格 value**配置文件的作用 :**修改SpringBoot自动配置的默认值,因为SpringBoot在底层都给我们自动配置好了;比如我们可以在配置文件中修改Tomcat 默认启动的端口号!测试一下!server.port=8081ya
2021-08-26 14:31:11
6187
原创 Git 版本控制工具(你想要的这里都有)
Git 学习笔记1.Git与SVN区别集中版本控制 SVN 所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改。分布式版本控制Git 所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。区别 SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需
2021-04-23 12:48:19
300
原创 MyBatis(快速入门)
Mybatis环境:JDK1.8Mysql 5.7maven 3.6.1IDEA1. 简介1.1 什么是MybatisMyBatis 是一款优秀的持久层框架它支持定制化 SQL、存储过程以及高级映射。Github : https://github.com/mybatis/mybatis-3/releases中文文档:https://mybatis.org/mybatis-3/zh/index.html2. 第一个Mybatis程序思路:搭建环
2021-04-22 16:12:18
764
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人