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