- 博客(95)
- 资源 (10)
- 问答 (18)
- 收藏
- 关注
原创 设计模式总结
它通过“包装”原有对象,实现功能的扩展或增强,比继承更灵活。- 功能动态扩展:比如给一个基础的“文本编辑器”对象,通过装饰器依次添加“拼写检查”“语法高亮”“自动保存”等功能,且这些功能可以按需组合,无需修改编辑器本身的代码。- 避免继承臃肿:如果用继承实现上述功能,可能需要创建“带拼写检查的编辑器”“带高亮和保存的编辑器”等多个子类,导致类结构复杂。简单说,装饰器模式就像给手机“套壳”——手机本身功能不变,通过不同的壳(装饰器)增加防摔、散热、美观等额外功能,且壳可以随时更换或组合。
2025-07-23 00:37:16
136
原创 k8s 基本架构
如需深入特定概念(如控制器或网络模型),可进一步探讨。- **定义**:K8s最小调度单元,封装一个或多个紧密关联的容器(如主应用容器+辅助sidecar容器)。- **容器运行时**(如Docker或Containerd):负责拉取镜像、启动容器。- **StatefulSet**:管理有状态应用(如数据库),保证Pod顺序和身份。- **声明式管理**:通过YAML文件定义应用期望状态(如副本数),K8s自动维持一致性。- **定义**:虚拟划分集群资源,用于多团队或环境隔离(如开发、测试)。
2025-07-19 19:42:19
375
原创 hadoop 集群问题处理
不过,这部分信息不是持久存储的,而是在 NameNode 启动时通过 DataNode 的心跳消息动态重建的。格式化 NameNode 是 Hadoop 集群配置中的一个重要步骤,它主要用于初始化 HDFS 的文件系统元数据存储。在 HDFS HA 配置中,为了实现两个 NameNode 之间的状态同步和故障自动切换,Hadoop 使用了一组 JournalNode 来管理共享的编辑日志。NameNode 在 HDFS 中扮演着至关重要的角色,它负责管理文件系统的命名空间,并控制客户端对文件的访问。
2025-07-16 09:07:34
823
原创 flink 和 spark 架构的对比
设计理念:Flink专注于流处理,而Spark则首先是一个强大的批处理引擎,随后扩展到了流处理领域。处理模型:Flink采用真正的流处理模型,而Spark Streaming采用的是微批处理模型。容错机制:Flink通过轻量级分布式快照实现状态的一致性和容错;Spark依靠RDD的血统信息来实现容错。编程接口:虽然两者都提供了高级别的抽象(如SQL支持),但在底层API的设计上有所不同,例如Flink的DataStream API vs Spark的RDD API。-d \
2025-07-14 09:59:26
721
原创 数据湖和数据库对比
**组件** | **类型** | **核心能力** || **Hudi** | **数据湖存储层** | 提供近实时数据摄入,支持行级更新/删除;| **维度** | **数据库** | **数据湖** |
2025-07-12 22:39:53
462
原创 ArrayList 源码解析
/ 初次添加这个elementData 为空 所以初始容量为10,只有add 的时候才创建数组 通过库容创建数组。list 的 add 方法是有坑的他是往前插入,不是替换这个位置的元素,这个和linkedList 是一致的。
2025-07-10 16:53:18
202
原创 springcloud 的服务注册与发现
特性NacosEureka一致性协议AP(Distro)或CP(Raft)AP(使用自己的复制协议)健康检查支持多种(TCP/HTTP/MySQL等)客户端心跳(HTTP)服务发现方式支持Pull和PushPull(定时拉取)+ 增量更新自我保护有(临时实例)有注销机制支持主动注销支持主动注销数据存储内存+持久化(可选)内存。
2025-07-10 08:41:20
675
原创 java 语法类新特性总结
1. jdk 的泛型擦除时机,jdk17的新特性,interface 的默认修饰符?:Java泛型主要在编译阶段进行处理。编译器会检查类型安全,并插入必要的类型转换代码。但是,在生成的字节码中,所有的泛型类型信息都会被移除或替换为其上限类型2.interface 的默认修饰符为protected3. jdk 的新特性。
2025-07-09 23:15:25
507
原创 vue总结2
技术选型新项目/现代浏览器环境 → 优先Vite(开发体验更佳)。复杂企业级系统 → Webpack(高度定制化)。工具组合推荐使用Yarn管理依赖(速度更快、依赖锁定更可靠),搭配Vite/Webpack完成构建。→yarn dev(启动Vite开发服务器)。注:2025年Vite生态已成熟,但Webpack在特定场景(如旧项目维护)仍不可替代。建议根据项目复杂度和技术栈综合选择。5. pina 没有mutation 的原因?Pinia 取消mutation。
2025-07-08 13:01:58
450
原创 Flume 学习
Sink3. 基础配置示例(日志 → HDFS)创建配置文件 :4. 启动命令三、Flume 高级功能配置1. 多路复用(复制流到多个 Sink)2. 数据拦截器(Interceptor)3. Kafka Sink 配置四、生产环境最佳实践1. 可靠性保障 Channel 选择: 高吞吐场景 → channel(风险:宕机丢数据) 零数据丢失 → channel(性能较低)
2025-07-08 11:08:57
832
原创 k8s 使用docker 安装教程
. 安装dockersudo vi /usr/lib/systemd/system/docker.serviceEnvironment="HTTPS_PROXY=www.ik8s.io:10070"Environment="NO_PROXY=127.0.0.1/8,172.18.0.0/16"Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbinsystemctl daemon-reloadsystemctl restart docke
2025-07-08 01:52:46
524
原创 2025年7月7日面试总结
1.spring 的依赖注入:这是推荐的方式,特别是对于强制性依赖。它使得对象在创建时即被赋予必要的依赖项,从而确保了不变性和线程安全性。此外,由于所有必需的依赖都在构造函数中声明,这有助于提高代码的可读性和清晰度。:这种方式允许在对象创建之后通过setter方法注入依赖。它更适合用于那些可选依赖或者需要重新配置或重置依赖的情况。然而,与构造器注入相比,它可能导致部分初始化的对象状态,降低了某些情况下代码的安全性。:虽然不是最推荐的方法,但它确实存在且被广泛使用。字段注入直接在类的成员变量上使用。
2025-07-08 00:34:47
803
原创 springcloud熔断限流降级
熔断的触发条件(慢请求、异常比例、异常数)是正确的,但可补充:这些条件通常由熔断框架(如Sentinel、Hystrix)通过滑动窗口统计,达到阈值后进入“熔断状态”(断开调用),并在一段时间后尝试“半熔断”(允许部分请求测试服务是否恢复)。- 流控(限流)的“基于线程数模式”更准确的说法是“基于并发数”(如限制同时处理的请求数),而“线程数”更多是舱壁模式的核心(如用线程池隔离不同服务的资源)。核心问题在于概念的层级和边界不够清晰,将“熔断”与其他容错机制并列,且未明确“熔断”本身是一种具体策略。
2025-07-07 23:47:11
352
原创 kafka总结
仅靠“至少发送一次”不能完全保证不丢失,需结合Broker端的持久化配置(如 log.flush.interval.messages 等),确保消息从内存刷盘,防止Broker宕机导致内存中未刷盘的消息丢失(不过Kafka默认机制已足够可靠,一般无需过度配置)。这些场景中,消息在Broker的分区里只存一份,但消费端因“状态未正确同步”导致重复拉取,因此重复消费和“消息仅存一个分区”并不矛盾,解决关键仍是消费端的幂等设计(如用消息唯一ID去重)。
2025-07-07 23:26:30
334
原创 hashmap总结
头插法在插入新节点时,会将新节点放在链表头部,原头部节点后移。若单线程环境下频繁插入哈希冲突的元素,可能导致旧节点在链表中深度嵌套,虽不会成环,但存在操作效率下降的问题(链表越长,查询效率越低)。3. 线程A继续扩容时,仍按原顺序处理节点,但由于头插法,会将节点插入新链表头部,最终导致链表成环(如 A -> B -> C -> A )。2. 优化单线程性能:当链表长度超过阈值(默认8)时,JDK 1.8会将链表转换为红黑树,尾插法更符合红黑树的插入逻辑,减少树结构调整的开销。
2025-07-05 01:00:35
271
原创 Java栈上为对象分配内存
Java中对象默认在堆上分配,但通过JIT的逃逸分析和栈上分配优化,不逃逸的对象可在栈上分配内存,这是一种提升性能的重要手段。在Java中,对象通常在堆上分配内存,但在特定条件下,也可以实现栈上分配(Stack Allocation),从而提升性能。- 若JIT分析发现对象仅在当前方法内使用,不会被其他方法或线程访问(即“不逃逸”),则可能将其栈上分配。- 逃逸分析的局限性:复杂代码中,对象可能因方法返回、作为参数传递等情况“逃逸”,导致无法栈上分配。- 内存效率高:对象随栈帧出栈自动释放,无需GC干预。
2025-07-05 00:48:24
314
原创 pythton 语言的独特语法
1. python 中的 && | 用 and 和or 表示。2. 判空 if root if not root。list[1:2] 包含1 不包含1。list[-1] 取最后一个元素。4.判空 if not list。3. 方法内部调用自己要用self。list[1:] 不包含1。list[:1] 包含1。
2025-06-15 11:17:44
208
原创 2025年6月3日面试总结
1. 面试官问一台机器内存或者磁盘占用99% 再点一下就挂了,个人刚开始反应内存不足加内存,磁盘不足加磁盘,还有啥办法,有些时候没干过的事一定要大胆,敲命令都敲不成,只能换磁盘了和加内存了,要么停机,kill -9 <PID> # 优先终止非核心进程(如异常Java进程、失控脚本):ml-cita。df -h | grep -E '9[0-9]%|100%' // 查看使用率超过90%的分区。top -o %MEM # 按内存排序进程,记录高占用PID。
2025-06-03 16:44:41
221
原创 zookeeper 操作总结
create -s 创建的是顺序节点不能有子节点。ls -w node 是对节点添加创建删除监听。get -w node 是对节点添加数据改变监听。zookeeper 中的节点类型。
2025-05-28 18:10:21
616
原创 vmvare 虚拟机内存不足
centos 扩展物理卷df -hT / Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 2.9G 0 2.9G 0% /dev tmpfs tmpfs 2.9G 0 2.9G 0% /dev/shm tmpfs tmpfs 2.9G 12M 2.9G 1% /run tmpfs tmpfs 2.9G 0 2.9G 0% /sys/fs/cgroup /dev/mapper/centos-root xfs 17G 17G
2025-05-27 19:32:04
601
原创 rabbitmq 使用过程中遇到的问题
2. elasticsearch 的访问端口是9200, 不是9300,9300 是后台通信端口号 ,这个页面访问的端口号是一样,1. 连接rabbitmq 地址写法,5672 是连接的端口号,15672是页面访问的端口号。
2025-05-26 14:23:57
390
原创 mysql 导入导出数据
通过以上方法,可灵活选择适合场景的数据导入方式。如果是生产环境,建议先在测试环境验证导。:将查询结果导出为文本文件(如 CSV),适合数据分析。:导入 CSV、TXT 等格式数据文件(需与导出的。通过以上方法,可灵活选择适合场景的数据导出方式。:快速导入 CSV/TXT 文件到指定表。DeepSeek-R1满血版 回答完成。:导出数据库结构和数据(生成。文件),适用于备份或迁移。:MySQL 用户需有。:MySQL 用户需有。深度思考完成 用时14秒。mysql 导入数据呢。
2025-05-25 21:06:51
2189
原创 Java 基础
3. 老炮问题== 和equals 的区别, 那个hashcode 方法实际返回的不是真实物理地址,两个hashocode 返回的hashcode 值相同 并且equals 也相同但是他两个照样不相等。自动拆箱-127-128 == 和equals相同 Integer a=2 和 Integer b = 2。常用String API 算法题必本,拆分字符串。5. jstack 如何查看线程栈。2. Cloneable 接口。1 swap 数据交换。4.BigDecimal类。mysql 死锁排查。
2025-05-25 17:50:34
214
jackson 常用jar包
2018-05-31
eclipse 开发web 项目需要的jar 包
2018-06-24
elasticsearch-analysis-ik-7.6.0.zip
2020-06-06
mybatis-generator-gui-0.8.4.jar
2019-11-13
skywalking 追踪页面为空其余页面都有数据,已经配置了采样和日志
2025-07-18
springboot 整合grpc报错
2025-07-07
python langchain rag 检索增强报错
2025-06-15
jenkins 出现以下问题, 使用 docker rpm 包都如此
2019-12-19
docker-maven-plugin build 出现的一些问题,欢迎各位大佬前来解决
2019-09-24
springboot 包扫描问题。
2019-09-05
weui 中js 初始化空间,对控件上的自定义组件操作不起作用如何处理
2019-08-28
SpringData JPA @Query 返回的结果中有实体类和结果如何处理
2019-08-03
spring data jpa 多表联合查询 , 查询结果 List 为空无法映射
2019-08-02
springcloud 路由网关 与负载均衡的相关的jar包引入了找不到类
2019-07-04
springcloud 断路器监控使用遇到的问题
2019-07-03
EWS 发送邮件中遇到的问题
2019-03-20
mybatis 执行带多行sql 查询语句
2019-02-28
ews 发送邮件如何去除when 和location
2019-01-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人