- 博客(21)
- 收藏
- 关注
原创 windows 安装 Elasticsearch、MinIO、kafka、node.js、nvm
windows 安装 Elasticsearch直接解压,名字不变,双击bin下的elasticsearch.bat(关掉VPN),图片如下:报错原因:电脑里安装了多个JDK版本,所以当时在配置环境变量:系统变量的时候创建了:,里面添加了。就可以。
2025-08-17 13:02:59
271
原创 操作系统OS----------------------------------------------------------------------------------------------
1. Linux命令0. 常用命令cd xxx 进入某个目录、pwd 显示当前目录路径ll 或 ls 查看当前目录下内容mkdir 创建目录、rm 删除文件、cp 复制文件、mv 移动文件vim 或 vi 编辑文件find 查找文件、find 目录名 -name 文件名 根据文件名查找指定目录下的文件top用来查看系统资源kill PID 终止进程ps -ef | grep java 查看 Java 进程、ps aux显示所有进程netstat 查看网络连接。
2025-07-19 20:39:26
660
原创 hot100刷题
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!对于每个位置 i,接的水量为 min(left_height[i], right_height[i]) - height[i],然后累加所有位置的水量。③ 若k > 0且nums[k] == nums[k-1],说明当前 k 对应的组合已在 k-1 时处理过,跳过避免重复。nums[i] == nums[i++]:先比较 nums[i] 和 nums[i],然后自增 i。
2025-06-23 21:21:52
159
原创 消息中间件 + 设计模式 + 排序算法---------------------------------------------------------------------------------
KafkaKafkaKafka是如何保证消息不丢失?Kafka保证消息不丢失的措施包括:生产者使用异步回调发送消息,设置重试机制应对网络问题。在Broker中通过复制机制,设置acks参数为all,确保消息在所有副本中都得到确认。消费者手动提交消费成功的offset,避免自动提交可能导致的数据丢失或重复消费。Kafka中消息的重复消费问题如何解决?通过以下方法解决Kafka中的重复消费问题:禁用自动提交offset,手动控制offset提交时机。
2025-06-16 20:07:58
341
原创 计算机网络-----------------------------------------------------------------------------------------------
和为了解决各种不同设备在网络互联中的兼容性问题,国际标准化组织制定了开放式系统互联通信参考模型(Open System Interconnection Reference Model),也就是OSI 网络模型,该模型主要有7层,分别是应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层。事实上,我们比较常见,也比较实用的是四层模型,即 TCP/IP 网络模型,Linux 系统正是按照这套网络模型来实现网络协议栈的。数据链路层,负责数据的封帧和差错检测,以及 MAC 寻址;
2025-06-12 16:47:38
694
原创 JVM-Java虚拟机-----------------------------------------------------------------------------------------
开发者自定义类继承ClassLoader,实现自定义类加载规则。类加载器的体系并不是“继承”体系,而是。
2025-06-08 13:49:41
608
原创 SSM框架-----------------------------------------------------------------------------------------------
如果你的 Bean 有可变状态(比如用户请求时改变的数据),需要自己管理线程安全,可以使用加锁或者将单例bean的作用域由“singleton”变更为“prototype”,使每个请求都有一个新的实例。因为每个单例 Bean 在整个 Spring 容器中只有一个实例,如果多个线程同时访问并修改这个实例的状态(比如它的成员变量),就会出现并发问题,导致数据不一致。如果 Bean 中没有可变的状态,它可以是线程安全的(比如只处理不可变数据的 Service 或 DAO)。的技术,实现公共模块复用,降低耦合。
2025-06-03 16:37:09
405
原创 Kafka,RabbitMQ,Elasticsearch,Canal
关系生产者(Producer)↓发送消息↓Topic(主题) ← 多个 Topic 用来分类消息↓Partition(分区) ← 每个 Topic 可以有多个 Partition,增强并发↓Broker(Kafka服务器) ← 存储分区和消息↓Offset(编号) ← 用来标记消息在分区中的位置↓Consumer Group(消费者组) ← 多个消费者协作消费 Topic,每人消费部分 Partition↓每个消费者读消息 → 处理业务 → 存数据库或做其他事特性。
2025-05-11 14:10:18
1142
原创 Hutool、JDK、kafka、Zookeeper、Docker问题解决
本文系统介绍了Java开发中常用的工具和技术栈。主要内容包括:1.Hutool工具集的使用,涵盖Bean转换、JSON处理、字符串操作等工具类;2.RedisTemplate和StringRedisTemplate的使用区别;3.JDK多版本安装配置方法;4.Zookeeper和Kafka的安装部署;5.Docker的详细使用指南,包括基本命令、数据卷管理、镜像构建、网络配置等,并以MySQL和Nginx为例演示容器化部署;6.项目部署实践,包括前后端分离项目的Docker部署和Docker Co
2025-05-10 15:33:51
718
原创 数据库Redis--------------------------------------------------------------------------------------------
一开始都是0,当一个key来了之后,经过3次hash函数计算,模数组长度找到数据的下标,然后把数组中原来的0改为1。数据,由于存储层查不到数据因此不写入缓存,这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致 DB。其实这个误判是必然存在的,要不就得增加数组的长度。5%以内的误判率一般的项目也能接受,当然,布隆过滤器有可能会产生一定的误判,我们一般可以。这样,三个数组的位置就能标明一个key的存在。它的底层原理是,先初始化一个。,里面存放的是二进制0或1。查找的过程也是一样的。
2025-05-01 16:38:26
1041
原创 数据库MySQL--------------------------------------------------------------------------------------------
覆盖索引是指在SELECT查询中,返回的列全部能在索引中找到,避免了回表查询,提高了性能。① 由于数据可能分布在非叶子节点和叶子节点,所以在查询时,不同层次节点都可能存数据,找到目标可能提前结束,查询效率不稳定。② 范围查询时,B + 树只需遍历叶子节点的链表,叶子节点有双向链表,范围查询只需在链表上顺序遍历,效率高。(如数据库中的行数据),仅存储用于检索的 “键”(如主键、索引列值)。① 查询时必须从根节点一直遍历到叶子节点,查找路径长度固定,因此查询效率更稳定。Skywalking链路追踪工具。
2025-04-23 21:28:11
859
原创 并发编程JUC---------------------------------------------------------------------------------------------
程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。家庭主妇雇了个保姆,她们一起这些事,这时既有并发,也有并行(这时会产生竞争,例如锅只有一口,一个人用锅时,另一个人就得等待)线程更轻量,线程上下文切换成本一般上要比进程上下文切换低(上下文切换指的是从一个线程切换到另一个线程),需要调用FutureTask.get()得到,此方法会阻塞主进程的继续往下执行,如果不调用不会阻塞。雇了3个保姆,一个专做饭、一个专打扫卫生、一个专喂奶,互不干扰,这时是并行。
2025-04-17 21:51:24
710
原创 点评Spot
初始方案:在这个方案中,他确实可以使用对应路径的拦截,同时刷新登录token令牌的存活时间,但是现在这个拦截器他只是拦截需要被拦截的路径,假设当前用户访问了一些不需要拦截的路径,那么这个拦截器就不会生效,所以此时令牌刷新的动作实际上就不会执行,所以这个方案他是存在问题的。每个tomcat上都有不同的session,但是每当任意一台服务器的session修改时,都会同步给其他的Tomcat服务器的session,这样的话,就可以实现session的共享。每个tomcat中都有一份属于自己的session。
2025-04-14 12:40:12
747
原创 Java集合----------------------------------------------------------------------------------------------
Java 集合,也叫作容器,主要是由两大接口派生而来:一个是Collection接口,主要用于存放单一元素;另一个是Map接口,主要用于存放键值对。对于Collection接口ListSetQueue。
2025-04-08 11:22:44
1122
原创 JavaSE----------------------------------------------------------------------------------------------
面试官您好,字节码是 Java 等编程语言中一种中间形式的代码。当我们编写好 Java 源代码后,Java 编译器会把这些源代码编译成字节码字节码文件的扩展名通常是.class。字节码既不是我们编写的高级 Java 代码,也不是计算机能直接执行的机器语言,它是一种通用的中间表示形式,但能方便地被转换成不同计算机能懂的指令。采用字节码有以下几个好处:跨平台性。不同计算机的规则不一样,而字节码是一种与平台无关的中间表示,
2025-04-01 17:54:36
993
原创 字符串+哈希表
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须、使用 O(1) 的额外空间解决这一问题。输入:s = ["h","e","l","l","o"]输出:["o","l","l","e","h"]输入:s = ["H","a","n","n","a","h"]输出:["h","a","n","n","a","H"]都是码表中的可打印字符。
2025-03-26 19:29:44
109
原创 数据结构---非线性结构
哈希函数的作用: 哈希函数的作用是把范围很大的所有可能的键(key),映射到一个相对较小的范围,也就是数组的索引(所有桶的位置)。‧ 删除元素:需要先查询到元素,再从数组(链表)中删除,使用𝑂(𝑛) 时间。负载因子(load factor)是哈希表的一个重要概念,其定义为哈希表的元素数量除以桶数量,用于衡量哈希冲突的严重程度,也常作为哈希表扩容的触发条件。具体来说,数组中连续被占用的位置越长,这些连续位置发生哈希冲突的可能性越大,从而进一步促使该位置的聚堆生长,形成恶性循环,最终导致增删查改操作效率劣化
2025-03-20 20:26:22
931
原创 数据结构---线性结构
数组的砖块整齐排列,逐个紧贴。链表的砖块分散各处,连接的藤蔓自由地穿梭于砖缝之间。数组是一种结构,其将存储在中。我们将称为该。
2025-03-20 15:53:17
886
原创 栈Stack与队列Queue
请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(pushpoppeekempty):实现MyQueue将元素 x 推到队列的末尾int pop()从队列的开头移除并返回元素int peek()返回队列开头的元素如果队列为空,返回true;否则,返回false你使用标准的栈操作 —— 也就是只有size, 和is empty操作是合法的。你所使用的语言也许不支持栈。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。
2025-03-19 21:17:24
1078
原创 二分查找+数组与矩阵
给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1, -1]。你必须设计并实现时间复杂度为O(log n)的算法解决此问题。输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]输入:nums = [], target = 0输出:[-1,-1]
2025-03-19 20:27:53
805
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅