摘要: HashMap 的底层原理,这是 Java 集合框架中最核心、最常用的知识点,理解它能帮你解决实际开发中的哈希冲突、扩容、线程安全等问题。我会从数据结构、核心流程、扩容机制、JDK 版本差异四个维度,由浅入深拆解 HashMap 的底层逻辑。 一、HashMap 核心定位与基础结构 1. 核心定位 阅读全文
posted @ 2026-03-06 10:23 七星6609 阅读(107) 评论(0) 推荐(0)
摘要: 今天天气不错,但是赶上恶意加班心情就不爽,怀着不爽的心情干活,总能创造出更多的问题,这不,今天就自己挖了一个坑,自己跳进去了,好在上来了 经过是这样的,开始调试canal采集binlog时,由于添加了一个上报数量大小,随手打印了一个日志 logger.info("batchData:{}", bat 阅读全文
posted @ 2021-03-13 17:01 七星6609 阅读(815) 评论(0) 推荐(0)
摘要: 今天产品问了一个问题,问懵了 产品:canal在开通mysql权限时需要哪些权限 我:SELECT, REPLICATION SLAVE, REPLICATION CLIENT 产品:那SELECT权限要开通到表级还是库级(我们使用canal同步数据时最终选择到表) 我:en..... 晚会给你答案 阅读全文
posted @ 2021-03-06 16:59 七星6609 阅读(947) 评论(0) 推荐(0)
摘要: spring是在开发中使用比较广泛的开发套件,开箱即用,很是方便,比如在开发定时任务时,只需要使用@Schedule就可以轻松配置,简直不要很方便,但是如果开发了很多定时任务,而且有的定时任务执行时间比较长,如果没有设置线程池,可能会出现定时任务执行时间和实际指定的时间不一致的问题,下面是我们遇到的 阅读全文
posted @ 2021-01-29 15:41 七星6609 阅读(1476) 评论(1) 推荐(1)
摘要: DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 具体介绍这里不再赘述,官网和其他博客都很多:https://www.jianshu.com/p/f5f0d 阅读全文
posted @ 2021-01-24 22:54 七星6609 阅读(10186) 评论(0) 推荐(0)
摘要: 一、简述 Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。有如下特性: 高可靠性 去中心化的多Master和多Worker, 自身支持HA功能, 采用任务队列来 阅读全文
posted @ 2021-01-24 21:41 七星6609 阅读(2353) 评论(0) 推荐(0)
摘要: 使用VMware虚拟机由于电脑关机时,虚拟机没关闭,导致虚拟机被挂起,再打开电脑继续运行虚拟机时,时间就变为上次关闭电脑的时间,导致虚拟机时间不对,下面使用ntp来处理时间同步问题 1.安装ntp yum -y install ntp 2.设置开机自启并启动ntp服务 systemctl enabl 阅读全文
posted @ 2021-01-18 22:45 七星6609 阅读(5839) 评论(0) 推荐(1)
摘要: 1.错误描述 我在Windows 10 系统下打包dolphinscheduler,上传到centos7解压之后,执行脚本报如下错误: -bash: ./dolphinscheduler-daemon.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录 ^M是什么东东,为什么会有^M 通 阅读全文
posted @ 2021-01-16 21:54 七星6609 阅读(1311) 评论(0) 推荐(0)
摘要: 通过配置VIP,在进行主备切换时,出现的报错信息: 1.当主备节点当前binlog文件名称相同时,原主节点的position小于主备切换后的position,出现如下报错: 2020-07-02 15:08:09,332 INFO [destination = 1-236 , address = / 阅读全文
posted @ 2020-11-22 20:24 七星6609 阅读(2398) 评论(0) 推荐(0)
摘要: 对于spark前来围观的小伙伴应该都有所了解,也是现在比较流行的计算框架,基本上是有点规模的公司标配,所以如果有时间也可以补一下短板。 简单来说Spark作为准实时大数据计算引擎,Spark的运行需要依赖资源调度和任务管理,Spark自带了standalone模式资源调度和任务管理工具,运行在其他资 阅读全文
posted @ 2020-11-21 23:29 七星6609 阅读(4910) 评论(0) 推荐(0)
摘要: 无论是传统行业,还是互联网行业,数据可用性都是至关重要的,虽然现在已经步入大数据时代,nosql比较流行,但是作为数据持久化及事务性的关系型数据库依然是项目首选,比如mysql。 现在几乎所有的公司项目,不说可用性必须达到5个9,至少也要要求,数据库出现问题,不能丢失数据,能够快速响应异常处理,下面 阅读全文
posted @ 2020-07-05 22:49 七星6609 阅读(3040) 评论(3) 推荐(4)
摘要: 当我们在线上运行项目时,依赖很多jar包,有时候某个类的全限定名,在多个包中出现,而某个包中的类的方法没有,而且在类加载时,刚好加载了这个类,可能会报找不到方法,或者找不到类的异常,这种情况就可能是类冲突: 如: java.lang.NoSuchMethodError: com.google.com 阅读全文
posted @ 2020-03-20 23:35 七星6609 阅读(1184) 评论(0) 推荐(0)
摘要: 平时在处理一个或几个机器运行环境时,一个机器一个机器处理也能接受,但是如果是一批机器,几十或几百台,要是一台一台去安装环境,光是输入同一的命令,估计你自己都想吐,所有聪明的人会想一些偷懒的办法,确实可以找到一些省时省力的方法,比如写一个批量处理shell脚本,这几天在处理一批(八九十台)机器环境,找 阅读全文
posted @ 2020-03-01 23:07 七星6609 阅读(4474) 评论(0) 推荐(2)
摘要: 在进行数据交换时,如果主键不是整型,需要对字符串,或联合主键拼接为字符串,进行hash,再进行取模分片,使用的是String自带的hashCode()方法,本来是件很方便的事,但是有些字符串取hashCode竟然是负数,使得分片为负数,找不到对应的分片,我们先看一下String 生成hashCode 阅读全文
posted @ 2020-02-23 21:23 七星6609 阅读(5369) 评论(0) 推荐(0)
摘要: 在安装完hive之后(hadoop-2.10.0安装hive-2.3.6),已经迫不及待的想尝试一下hive的一些用法,我们最常用的就是直接输入hive回车,使用的是cli(Command Line Interface )模式,下面介绍一下hive的使用以及一些常用的命令 1.首先查看hive帮助, 阅读全文
posted @ 2020-02-09 22:47 七星6609 阅读(1274) 评论(0) 推荐(0)
摘要: 公司建立数仓,hive是必不可少的,hive是建立在hadoop基础上的数据库,前面已经搭建起了hadoop高可用,要学习hive,先从搭建开始,下面梳理一下hive搭建过程 1.下载hive安装包 ,下载地址:https://hive.apache.org/downloads.html 找到自己h 阅读全文
posted @ 2020-02-07 23:40 七星6609 阅读(2571) 评论(0) 推荐(0)
摘要: mysql是我们最常用的开源的关系型数据库,mysql不同版本有时候安装的方式也不尽相同,下面以mysql5.7.28版本为例梳理一下安装细节: 1.下载mysql-5.7.28,URL:https://downloads.mysql.com/archives/community/ 我这里下载的是6 阅读全文
posted @ 2020-02-06 23:20 七星6609 阅读(17911) 评论(1) 推荐(2)
摘要: mysql是我们最常用的开源的关系型数据库,mysql不同版本有时候安装的方式也不尽相同,mysql-5.5和mysql-5.6安装大致相同,下面以mysql5.5.62版本为例梳理一下安装细节: 1.下载mysql5.5.62,URL:https://downloads.mysql.com/arc 阅读全文
posted @ 2020-02-05 23:20 七星6609 阅读(2574) 评论(0) 推荐(0)
摘要: 本篇介绍在centos7中搭建hadoop2.10高可用集群,首先准备6台机器:2台nn(namenode);4台dn(datanode);3台jn(journalnode);3台zk(zookeeper) IP hostname 进程 192.168.30.141 s141 nn1(namenod 阅读全文
posted @ 2020-02-02 23:31 七星6609 阅读(2157) 评论(0) 推荐(3)
摘要: 本篇介绍在centos7中大家hadoop2.10完全分布式,首先准备4台机器:1台nn(namenode);3台dn(datanode) IP hostname 进程 192.168.30.141 s141 nn(namenode) 192.168.30.142 s142 dn(datanode) 阅读全文
posted @ 2020-01-29 22:56 七星6609 阅读(1808) 评论(0) 推荐(0)
摘要: 我带你手写一个迷你版 Dubbo SPI,只保留核心底层原理: 注解 @SPI 配置文件加载 缓存机制 根据 name 获取实现 IOC 注入(简化版) AOP 包装(Wrapper) 代码量不到 300 行,运行即懂底层! 一、先定义核心注解(模拟 Dubbo) 1. @SPI 注解(标识扩展接口 阅读全文
posted @ 2026-03-19 21:26 七星6609 阅读(2) 评论(0) 推荐(0)
摘要: 我会用最通俗、最底层、最清晰的方式,把 Dubbo SPI 从是什么 → 为什么要用 → 底层源码流程 → 核心机制讲透,让你一次彻底吃透。 一、先搞懂:什么是 SPI? SPI(Service Provider Interface):服务发现机制,接口+配置文件+实现类,程序运行时动态加载接口的实 阅读全文
posted @ 2026-03-19 21:23 七星6609 阅读(1) 评论(0) 推荐(0)
摘要: 秒杀系统的核心本质:超高并发(瞬间几万、几十万请求) + 超少库存(几件/几十件商品) + 超短时间(几秒内售罄),目标是不超卖、不卡顿、用户公平、服务器不崩。 我会从核心原理 → 架构分层设计 → 关键技术细节 → 防超卖/防作弊 完整讲透,直接能用于面试/实战。 一、秒杀系统的核心矛盾(先懂原理 阅读全文
posted @ 2026-03-16 20:53 七星6609 阅读(6) 评论(0) 推荐(0)
摘要: 这是 Kafka 面试必问 + 生产必踩的核心问题,我用最清晰、最落地的方式讲透:为什么会丢消息/重复?怎么彻底解决? 一、先明确核心结论 Kafka 本身不保证绝对不丢、绝对不重复,它只保证 At-Least-Once(至少投递一次)。 至少投递一次 = 可能重复,不会丢失 想要不重复 = 业务自 阅读全文
posted @ 2026-03-15 20:41 七星6609 阅读(7) 评论(0) 推荐(0)
摘要: Kafka之所以能实现百万级TPS、低延迟、高吞吐,核心是一套自底向上、协同优化的架构设计:顺序写+PageCache+零拷贝+批量+压缩+分区+无锁IO多路复用,把磁盘、内存、网络、CPU的性能都榨到极致。下面一文讲透所有关键原理。 一、存储层:把磁盘用成“准内存”(最核心) 1. 日志式顺序写( 阅读全文
posted @ 2026-03-15 19:40 七星6609 阅读(3) 评论(0) 推荐(0)
摘要: ZooKeeper 是分布式系统的协调基石,核心是提供强一致、高可用的命名服务、配置管理、分布式锁与集群协调,底层靠 ZAB 协议、树形数据模型、Leader 选举与 Watch 机制实现。 一、核心定位与设计目标 定位:分布式协调服务,解决分布式场景下的一致性、配置同步、服务发现、锁与集群管理问题 阅读全文
posted @ 2026-03-12 16:55 七星6609 阅读(8) 评论(0) 推荐(0)
摘要: 分布式锁是控制分布式系统中不同进程/节点对共享资源进行互斥访问的核心手段,其核心目标是保证在分布式环境下,同一时刻只有一个节点能获取到锁并执行临界区代码,避免数据不一致、并发冲突等问题。 本文将从分布式锁的核心要求出发,逐一拆解Redis、ZooKeeper、Etcd、数据库等主流分布式锁的实现原理 阅读全文
posted @ 2026-03-12 16:37 七星6609 阅读(4) 评论(0) 推荐(0)
摘要: 分布式 ID 是解决「分库分表 ID 冲突」「自增 ID 上限」「跨节点 ID 唯一」的核心方案,本质是生成全局唯一、有序(可选)、高性能 的 ID。下面从「主流方案对比」「落地实现」「选型建议」三个维度,给出可直接落地的解决方案。 一、主流分布式 ID 方案对比(核心) 先通过表格快速掌握各方案的 阅读全文
posted @ 2026-03-12 16:34 七星6609 阅读(4) 评论(0) 推荐(0)
摘要: 设计模式是设计原则的“落地形态”,是前人总结的、解决特定场景问题的通用代码结构。掌握常用设计模式,能让你用成熟的方案解决开发中的高频问题,写出更优雅、易维护的代码。 本文聚焦23种设计模式中最常用的10种,按“创建型、结构型、行为型”三大类划分,每类讲解核心原理、适用场景、Java实现代码,全程贴合 阅读全文
posted @ 2026-03-12 15:56 七星6609 阅读(10) 评论(0) 推荐(0)
摘要: 设计原则面试高频题+Java代码实践(吃透面试+落地开发) 结合面试高频场景,我会先整理核心面试题+标准答案(覆盖90%面试考点),再用Java代码逐一演示七大设计原则的落地用法,兼顾“面试答题”和“实际开发”双重需求。 一、设计原则高频面试题+标准答案 基础必问(80%面试官会问) 1. 请说说S 阅读全文
posted @ 2026-03-12 15:52 七星6609 阅读(1) 评论(0) 推荐(0)
摘要: 一文搞懂设计原则:从基础到实践,吃透软件设计核心逻辑 设计原则是软件设计的“底层逻辑”,是指导我们写出高内聚、低耦合、易维护、易扩展、易复用代码的核心准则。掌握它们,能让你从“能写代码”进阶到“会设计代码”,无论是日常开发、面试还是架构思考,都能游刃有余。 本文将从核心设计原则总览、七大设计原则详解 阅读全文
posted @ 2026-03-12 15:49 七星6609 阅读(9) 评论(0) 推荐(0)
摘要: 索引是 MySQL 中提升查询效率的核心工具,就像书籍的目录——通过索引可以快速定位到目标数据,而无需逐行扫描整张表。下面从基础概念、类型、使用原则到最佳实践,由浅入深讲解。 一、索引的核心概念 1. 索引的作用 加速查询:这是最核心的作用,避免全表扫描(Full Table Scan)。 优化排序 阅读全文
posted @ 2026-03-12 15:37 七星6609 阅读(4) 评论(0) 推荐(0)
摘要: 数据库抽象设计:从关系型到NoSQL的无缝切换 数据库抽象的核心目标是解耦业务逻辑与底层存储实现,让上层代码不感知具体数据库类型(MySQL/PostgreSQL/MongoDB/Redis等),既能适配当前的关系型DB,也能低成本切换到NoSQL,同时保证代码的可维护性和扩展性。 一、数据库抽象的 阅读全文
posted @ 2026-03-12 14:43 七星6609 阅读(4) 评论(0) 推荐(0)
摘要: 分库分表是数据库水平扩展(Scale-Out) 的核心技术,通过“分而治之”将单库/单表的压力分散到多个库/表,解决海量数据存储、高并发写入/查询的瓶颈,是中大型系统架构演进的关键环节。 一、核心痛点:为什么必须分库分表? 单库单表在数据量和并发量达到阈值后,会出现明显性能瓶颈,主要体现在4个方面: 阅读全文
posted @ 2026-03-12 11:10 七星6609 阅读(12) 评论(0) 推荐(0)
摘要: Spring 事务传播机制是 Spring 事务中最核心也最易混淆的概念,它定义了一个带有事务的方法被另一个方法调用时,事务如何传递和生效(比如是否新建事务、是否加入已有事务、是否挂起事务等)。 核心前提:传播机制仅适用于Spring 管理的 Bean 之间的方法调用(即通过代理对象调用),内部调用 阅读全文
posted @ 2026-03-12 10:33 七星6609 阅读(7) 评论(0) 推荐(0)