- 博客(65)
- 收藏
- 关注
原创 二叉树遍历测试(前序、中序、后序)
感觉java中比较侧重最左原则,二叉树 不管是什么序 都要从左开始 前 中 后 指的是根节点位置 前序=根左右 (根在最前面) 中序=左根右 (根在中间) 后序=左右根 (根在最后)
2025-11-20 10:31:06
515
原创 记录一次Mybatis控制事务的踩坑过程
目前项目中有些业务需要手动提交,有些业务需要自动提交,原本我以为只需要将openSession(true)设置为True,就可以自动提交了,但结果不尽然,还是没有落库,因为我的ds.setDefaultAutoCommit(false);背景:项目摒弃了Springboot框架,使用纯原生servlet+Mybatis-plus搭建,对于控制器、业务层、数据持久层如何做的在这不详细说,只说事务管理的问题。虽然设置为了自动提交,但它属于Mybatis层面的,所以执行sql的时候 流程是。
2025-08-26 10:40:33
969
原创 Doris中BE、FE服务自动拉起解决方案
Doris数据库可以很好的替代Elasticsearch,做过测试发现1亿数据存储在Doris中只占用6.5G磁盘空间,同样的数据,8000万在Elasticsearch中占到了68G的磁盘空间,并且查询性能Doris也比Elasticsearch强很多。但是Doris有一个缺点就是BE存储数据节点一旦写入数据量很大会挂掉,只能手动重启,这种情况效率很低下。而我的docker容器中python是2.7版本。supervisor进行进程监控,自动拉起挂掉的进程。
2025-07-31 08:50:19
953
原创 使用pgloader迁移mysql数据至postgre数据库说明书
项目需要将mysql数据库所有表及数据迁移至postgres中,可使用多种方式,推荐使用pgloader1.通过xxx.sql导入的方式,会出现各种UTF-8编码问题、bigInt问题、字段注释问题、特殊字符转义问题、索引引擎问题、单斜引号问题、主键自增问题,逐一改变浪费时间。点击【数据传输】一路点击【下一步】,600万数据,124张表竟然花费40多分钟,不可思议,而且有600个报错!
2025-06-17 15:44:26
693
原创 docker容器中读取springboot工程中resources下文件问题
【代码】docker容器中读取springboot工程中resources下文件问题。
2025-03-27 09:04:34
345
原创 ES传输带宽优化方案
原理:通过gzip压缩,将50万条数据转为字节流,然后再转为字节数组,放入entity实体中,然后告诉ES服务器,是通过gzip的方式压缩的,ES接收到数据后会通过gzip的方式解压落库。对于5万数据来说 压缩与不压缩相差了30倍,但是目前5万条数据大部分字段都是相同的,所以在压缩的时候 压缩比很高。:目前日志从kafka中消费后转存ES,是通过批量发送的方式打入ES,但是如果数据量很大那么就会占用很多的带宽,而目前正在降本增效,无法增加带宽或者服务节点。源码贴出来了,兄弟们自取。
2025-02-10 17:20:09
1088
原创 ES数据压缩、解压调研测试
针对压缩来说,压缩触发的因素不单纯是数据落到ES就开始压缩,比如系统负载情况、持久化磁盘后 都会进行压缩,所以才出现了 ecs_http20250208 开始161M 几分钟后变为了149M 但是就目前情况看 best_compression压缩比肯定是比LZ4要高的,如果磁盘空间比较敏感可以考虑使用best_compression。但是在互联网调研来说,LZ4解压与压缩速度都比best_compression快,具体快多少目前无从测试,但是压缩比LZ4与best_compression差太多。
2025-02-10 09:45:19
520
原创 ES冷热数据分离配置
冷热数据是根据索引创建时间来进行迁移的。一旦迁移到冷数据节点,则无法再恢复成热数据,因为热数据节点中该索引已经没有分片存在了。
2025-02-06 10:31:58
706
1
原创 基于Docker搭建ES集群,并设置冷热数据节点
浏览器输入https://192.168.2.91:19200/_cluster/health 说明有一个集群产生了 包含3个节点。(1)重复91节点所有工作,只不过在修改elasticsearch.yml 配置文件中修改为如下信息。(1)获取到elasticsearch.tar包,使用。(5)修改elasticsearch.yml 配置文件。(7)重启当前服务器中的ES容器。(2)重启当前服务器中的ES容器。(2)重启当前服务器中的ES容器。(3)进入当前生成的容器内部。5.测试是否搭建成功。
2025-02-06 10:17:39
836
原创 KAFKA-UI升级教程,因旧版本不支持(KAFKA-3.8.0 开启SASL认证)
env SPRING_SECURITY_USER_PASSWORD=admin-2024 KAFKA开启SASL认证后的密码。–env SPRING_SECURITY_USER_NAME=admin --en KAFKA开启SASL认证后的用户名。–env KAFKA_CLUSTERS_0_NAME 环境变量 名称设置为local。密码: admin-2024。配置完毕后,刷新页面,重新登录。用户名: admin。4、登录UI可视化界面。5、配置KAFKA信息。
2025-02-06 09:57:38
835
原创 基于docker搭建Kafka集群,使用内部自带的Zookeeper方式搭建
进入kafka_2.13-3.8.0_1/bin,启动消费者 接收29092端口消息,可以看到不管是19092 还时29092 发送的消息 该消费者均可接收到。(2)修改server.properties监听端口与对外暴露端口为19092。(2)修改server.properties监听端口与对外暴露端口为29092。(4)修改server.properties的brokerId。(1)进入kafka_2.13-3.8.0_1/config/(1)进入kafka_2.13-3.8.0/config/
2025-02-06 09:47:40
684
原创 基于docker部署kafka-3.8.0版本,并开启SASL认证模式
(2)修改 kafka-console-producer.sh 脚本 在脚本最上方增加如下代码。(2)修改 kafka-console-consumer.sh 脚本 在脚本最上方增加如下代码。(1)https://kafka.apache.org/downloads 下载如下图版本。(1)修改 kafka-server-start.sh 脚本 在脚本最上方增加如下代码。(3)修改server.properties 文件,增加下面信息,内容如下图。为topic增加SASL认证信息,指定认证机制为SASL。
2025-02-06 09:35:36
1565
原创 基于docker搭建Kafka集群,使用KRaft方式搭建,摒弃Zookeeper
环境:已成功搭建kafka服务 192.168.2.91 192.168.2.92 192.168.2.93。
2025-02-06 09:22:14
1367
1
转载 redis实现分布式锁
这个命令尝试设置一个名为lock_key的锁,锁的值是lock_value,过期时间是30000毫秒(30秒),只有当lock_key不存在时(即没有其他进程持有锁),才会设置成功。如果在这两个操作之间,进程崩溃,那么可能会出现永久的锁,也就是说,锁被设置了,但是没有设置超时时间,所以这个锁会一直存在,导致其他进程无法获取到锁。使用SETNX命令创建一个锁。其中,<lua_script>是上述Lua脚本,1是键的数量,lock_key是锁的键,lock_value是锁的值,lock_ttl是锁的过期时间。
2023-10-11 18:41:31
258
原创 掩码是个啥?
在了解ip地址的网段之前,我们先来了解子网掩码,很多对网络了解不深的朋友都对子网掩码有些迷惑, 不了解它是用来干什么的?子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。说的通俗的话,就是用来分割子网和区分那些ip是同一个网段的,那些不是同一网段的。例如,两个人都叫张三,但一个张三是张家村的,另一个张三是张村的,那么如何区分这两个张三分别是属于那个村的呢?
2023-04-10 16:08:48
2119
转载 亲测好用的 Liunx对tomcat加内存、并优化jvm
对于BIO,默认值是maxThreads的值,除非使用Executor,在这种情况下,默认值将是执行者的maxThreads的值。shown端口是写在Server参数里的,直接去掉是不管用,也是会默认启动的,一般在安全设置时候建议把端口修改为其他端口,shutdown修改为其他复杂字串。(5)acceptCount:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,默认设置。4,则年轻代与终身代所占比值为 1:4,年轻代占整个堆栈的 1/5。
2022-09-23 15:19:47
381
原创 反射基础知识
文章目录1:反射概述2:Class对象特点3:反射的使用1:获取类对象2 利用反射机制创建对象3: 获取成员变量并使用4: 获取成员方法并使用5: 获取main方法并使用4 : 关于反射的用法举例1:通过反射运行配置文件内容2:通过反射越过泛型检查1:反射概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。实际上,我们创建
2022-07-08 15:18:20
292
原创 Spring 通过注解方式注入
验证注入方式@Componentpublic class TestBean { //属性注入 /*@Autowired private User user;*/ //set注入 /*private User user; @Autowired public void setUser(User user) { this.user = user; }*/ //构造方法注入 private User user;
2021-12-29 16:54:34
180
转载 做接口测试前必备的网络基础知识,你get了吗?
在面试时,不管是面试功能测试、自动化测试、测试开发乃至性能测试,都会问到计算机网络基础相关知识。今天主要介绍一些高频的网络基础面试题目,网络情缘一线牵,珍惜这段缘Cookie和Session的区别?Cookie 是访问某些网站以后在本地存储的一些网站相关的信息,下次再访问的时候减少一些步骤。另外一个更准确的说法是:Cookie 是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器,是一种在客户端保持状态的方案。由于 HTTP 协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用
2021-12-20 11:32:00
269
原创 编译Java文件以及启动 并导入第三方jar包
javac SnmpReceive.javaSnmpReceive.java:4: 错误: 编码GBK的不可映射字符 * snmp trap鍜宨nform鎺ユ敹绫?解决办法为:javac -encoding UTF-8 SnmpReceive.javaD:\snmp-1>javac -encoding UTF-8 SnmpReceive.javaSnmpReceive.java:6: 错误: 找不到符号public class SnmpReceive implements Com.
2021-11-16 11:14:44
533
原创 百度网盘提速正规办法 无需破解!!!!!
超简单百度网盘提速方法——无需破解很多萌新日常使用电脑,一定常用“百度网盘”这款软件,相信你一定被它几十一百kb的下载网速折磨到炸:(提速前,抓狂ing)而今天为大家介绍一个官方、简单且高效的提速方法。不需下载、破解等繁杂操作,只需点几个按钮,效果如下:(提速后,便秘结束)下面我们具体聊聊怎么做:具体做法一、下载:百度网盘去官网下载即可:二、已安装(新下载的用户可跳过本步):已安装百度网盘的老用户,需要将百度网盘更新至最新版本:1.打开百度网盘:2.点击界面右上角的“设置”按钮
2021-10-15 16:08:59
23279
44
转载 redis加锁、解锁
在Java中,关于锁我想大家都很熟悉。在并发编程中,我们通过锁,来避免由于竞争而造成的数据不一致问题。通常,我们以synchronized 、Lock来使用它。但是Java中的锁,只能保证在同一个JVM进程内中执行。如果在分布式集群环境下呢?一、分布式锁分布式锁,是一种思想,它的实现方式有很多。比如,我们将沙滩当做分布式锁的组件,那么它看起来应该是这样的:加锁在沙滩上踩一脚,留下自己的脚印,就对应了加锁操作。其他进程或者线程,看到沙滩上已经有脚印,证明锁已被别人持有,则等待。解锁把脚印从沙滩上
2021-08-23 16:34:18
6681
2
原创 记录笔记<java调用shell脚本,shell脚本调用python> 传参
package com.hansight.atom.custom.abilityPower.util;import org.apache.commons.lang.ArrayUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.InputStreamReader;import java.io.LineNumberReader;public class JaveShellUtil { pr
2021-08-06 16:15:46
417
2
原创 java调用shell脚本实例
准备: tip_alarm.sh 脚本 放在 /opt/shi/路径下 (路径自定义)import java.io.InputStreamReader;import java.io.LineNumberReader;public class JaveShellUtil { public static int ExecCommand(String command) { int retCode = 0; try { ProcessBui
2021-07-14 16:40:59
185
原创 ES使用QueryBuilders进行查询
package com.wenbronk.javaes;import java.net.InetSocketAddress;import java.util.ArrayList;import java.util.Iterator;import java.util.Map.Entry;import org.elasticsearch.action.ListenableActionFuture;import org.elasticsearch.action.get.GetRequestBuild
2021-07-08 11:08:36
2433
2
转载 【转载】TCP 三次握手以及四次挥手
文章目录 一.TCP简介二.TCP数据报结构三.TCP的三次握手四.TCP的四次挥手 一.TCP简介 1、TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接。 2、客户端在收发数据前要使用 connect() 函数和服务器建立连接。建立连接的目的是保证IP地址、端口、物理链路等正确无误,为数据的传输开辟通道。 3、TCP建立连接时...
2021-06-03 17:25:18
139
原创 TCP三次握手以及四次挥手 白话文
tcp三次握手:基本思想就是“让我知道你已经知道”了。服务器监听请求,客户端发起连接请求(第一次连接),请求在路上可能存在丢失的风险,所以当请求到了服务器后如果服务器同意建立连接会给客户端一个回信(第二次连接),告诉它:我已经收到请求,可以连接。但是回信也存在一个问题,那就是回信能不能到客户端?它需要客户端给他一个回信说我已经收到批准通知了,如果客户端一直不回复的话意味着客户端没有收到批准通知。因此客户端一收到批准通知就立马回复(第三次握手):OK老铁我收到你的批准通知了。至此,三次握手结束。 一个很类似.
2021-06-03 17:03:04
1237
转载 详解跨域(最全的解决方案)
1. 什么是跨域跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。同源策略限制了一下行为:Cookie、LocalStorage 和 IndexDB 无法读取DOM 和 JS 对象无法获取Ajax请求发送不出去2. 常见的跨域场景所谓的同源是指,域名、协议、端口均为相同。http://www.nealyang.cn/index.html 调用 http://www.nealyang.cn/server.php 非跨域h
2021-06-03 16:03:27
1630
原创 Lock锁与Synchronized 区别
(转)Lock和synchronized比较详解今天看了并发实践这本书的ReentantLock这章,感觉对ReentantLock还是不够熟悉,有许多疑问,所有在网上找了很多文章看了一下,总体说的不够详细,重点和焦点问题没有谈到,但这篇文章相当不错,说的很全面,主要的重点都说到了,所有在这里转载了这篇文章,注意红色字体。在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下
2021-04-29 17:37:46
220
原创 线程池与单线程效率对比
直接上代码首先单线程》》》》》》创建一个1000的循环,里面第一次用单线程跑,一共用时(开始时间:::1619514363141 结束时间1619514364419 共用时:1278毫秒)package com.hansight.atom.custom.webMonitor;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.Executors;import...
2021-04-27 17:13:37
398
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅