自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(161)
  • 资源 (7)
  • 收藏
  • 关注

原创 Hive SQL与SQL不同处

:官方文档:(Hive内建了不少函数使用show functions查看当下可用的所有函数;通过describe function extended funcname来查看函数的使用方式。

2026-01-01 19:12:22 304

原创 python虚拟环境

pip是Python的包管理器,就像手机的"应用商店"可以管理Python版本(venv只能用现有的Python)可以安装非Python包(如C++库)有conda-forge等丰富的软件源每个项目独立的venv​ - 项目隔离,避免包冲突pip下载包到venv​ - 包管理器,安装第三方库到当前环境conda创建和管理环境​ - 另一种环境管理工具,功能更强大(base)- Conda的基础环境(系统级环境)(.venv)- 当前激活的虚拟环境(您的项目环境)

2026-01-01 17:58:42 100

原创 MySQL面试题

并发事务会带来问题:脏读(读到另一个事务还没提交的数据),不可重复读(一个事务连读两次,数据不一样),幻读(查询没有,插入又说有。undo log:记录数据被修改前的信息,一致性,原子性,作用包括:回滚(插入),mvcc(更新,删除)慢查询的原因:聚合查询,多表查询,表数据量过大查询,深度分页查询。回表查询:先通过二级索引找到主键,再到聚集索引里找到整行的数据,使用了两次索引查询。覆盖索引:查询用了索引,在一个索引里就能找到想要的所有数据,就使用了一次索引。解决慢查询:1,在查询语句前加explain2,

2026-01-01 17:57:01 339

原创 java JUC并发编程详解

JUC包正是为了克服这些缺点而生,它提供了更灵活、性能更高、功能更丰富的并发控制工具。

2026-01-01 17:56:37 432

原创 大数据软件生态

Apache Hadoop框架内的组件HDFS是大数据体系中使用最为广泛的分布式存储技术。

2025-12-30 20:56:19 161

原创 Hive分桶表:大数据开发的性能优化利器

分桶表是Hive的高级优化技术,虽然学习成本稍高,但在处理大数据关联查询时能带来数量级的性能提升。对于影视飓风这样数据量大、分析需求复杂的场景,合理使用分桶表是必须掌握的技能。面试时可以说"分桶表是Hive的查询性能优化技术,通过哈希算法将数据均匀分布到固定数量的文件中。它能大幅提升JOIN性能,支持高效数据抽样。在实际工作中,我会根据数据特性和查询模式,合理选择分桶字段和分桶数,通常与分区、ORC格式结合使用,实现最佳查询性能。

2025-12-30 16:44:04 577

原创 Hive 3小时面试速成指南(大数据开发必备)

/ 1. 继承UDF类// 2. 实现evaluate方法if (title.contains("教程")) return "教学";if (title.contains("VLOG")) return "生活";if (title.contains("测评")) return "评测";return "其他";// 3. 在Hive中使用Hive是数据仓库工具,不是数据库,适合离线分析外部表+分区+ORC格式是企业标配SQL转MapReduce/Spark任务是核心原理。

2025-12-29 22:23:04 741

原创 软链接的作用和用途

在 Linux 中创建软链接(符号链接)就像 Windows 中的快捷方式。创建了一个指向实际 hadoop 目录的快捷方式。软链接的权限是 777(lrwxrwxrwx):升级 Hadoop 时只需改软链接。:脚本中引用固定路径,不受版本影响。:可安装多个版本,通过软链接切换。删除软链接不需要原文件的写权限。仍可访问(只要有硬链接)实际访问权限由原文件决定。这就是软链接的强大之处!快捷方式,存的是路径。同一个文件的多个入口。链接失效(悬空链接)

2025-12-28 23:25:18 232

原创 Hadoop和Hive的关系:一分钟彻底搞懂

│ 数据分析师/大数据开发 ││ 写SQL查询 │↓│ Hive ││ 把SQL翻译成分布式计算任务 ││ │ Metastore: 知道数据在哪、什么结构 │ ││ │ HiveQL: SQL方言 │ ││ │ 驱动层: 解析-优化-执行 │ │↓│ Hadoop ││ │ HDFS: 实际存储数据文件 │ ││ │ YARN: 分配CPU/内存资源 │ ││ │ MapReduce/Spark: 执行计算任务 │ │简单说Hadoop是地基和钢筋,Hive是精装修的房子。

2025-12-28 22:10:53 661

原创 Hadoop 4小时速成指南(大数据开发面试必备)

Hadoop是"存算分离"的鼻祖,HDFS存数据,YARN管资源,现在计算多用Spark替代MapReduce,但思想一脉相承。最后,针对影视飓风这类内容公司的大数据场景建议存储场景:HDFS存储海量视频文件、用户行为日志计算场景:用Spark分析用户观看偏好、视频热度趋势数据仓库:用Hive做离线报表(如每日播放量统计)实时分析:用Flink做实时推荐(视频流处理)面试时可以说:"虽然Hadoop MapReduce现在用得少了,但理解它的思想对掌握Spark等现代框架很有帮助。

2025-12-28 21:53:37 720

原创 怎么配置主机名映射?

格式:IP地址 主机名(如 127.0.0.1 example.com)2,内部 DNS 服务器:在路由器或局域网 DNS 中配置,对所有设备生效。

2025-12-28 13:10:53 422

原创 计算机网络核心概念解释(比喻版)

的规则。

2025-12-28 10:31:23 216

原创 服务超时排查指南(全链路实战)

超时排查 = 快速定位范围 + 分层排查 + 工具辅助 + 经验判断最可能的问题排序数据库慢查询(索引、SQL优化)外部依赖超时(第三方接口、中间件)资源不足(CPU、内存、连接数)网络问题(DNS、带宽、延迟)配置问题(超时时间、连接池)先看监控,再查日志,从外向里,从简单到复杂。

2025-12-25 22:33:37 328

原创 Redis分布式锁解决优惠券超卖

用户领取优惠券时,先生成一个锁的key,比如:`coupon:lock:1001`- 用`SET lock_key user_id NX EX 10`命令尝试获取锁。Redis 是一个开源的内存数据结构存储,它是一个独立的数据库/缓存服务。- 这个命令是原子的,保证设置值和过期时间一起完成。- NX:只有锁不存在时才能设置(互斥)- 用Lua脚本保证原子性,只删除自己的锁。- 启动一个看门狗线程,每隔几秒给锁续期。- 保证业务执行时间不会超过锁的过期时间。- 业务完成后,删除这个key释放锁。

2025-12-25 21:41:15 174

原创 死信队列(Dead Letter Queue)详解(从零开始)

死信队列 = 消息的"最后避难所"作用兜底:所有处理失败的消息最终归宿不丢:保证消息不丢失,有处可查可管:可以监控、处理、重新发送隔离:失败消息不阻塞正常消息记住死信队列不是垃圾桶,而是急救室。​ 需要认真监控和处理,否则就失去了意义。

2025-12-23 15:52:08 284

原创 RocketMQ刷盘机制 + 死信队列(深度解析)

场景:用户下单消息,消费失败第一次重试:1秒后第二次重试:5秒后...第十六次重试:2小时后如果16次都失败 → 进入死信队列死信队列 = 消息的"太平间"// 实现自定义重试@Service// 最大重试次数@Overridetry {// 处理消息if (!success) {// 业务逻辑失败// 超过最大重试,直接进入死信} else {// 需要重试// 异常处理// 超过最大重试} else {// 需要重试。

2025-12-23 15:26:42 153

原创 RabbitMQ详解(从入门到实战)

RabbitMQ = 邮局系统 + 灵活路由 + 企业级可靠核心是交换器模型Direct:精确送快递Topic:模式订阅Fanout:小区广播Headers:属性匹配适用场景:需要灵活路由、复杂消息模式、与企业系统集成、快速开发的场景。

2025-12-23 13:51:59 344

原创 Redis三大问题:穿透、击穿、雪崩(实战解析)

/ 场景:一个热点key在缓存过期瞬间// 大量并发请求同时来查这个key// 问题代码:// 缓存刚好过期// 大量请求同时到达这里!// 都会去查数据库// 重新缓存// 结果:瞬间大量请求打到数据库,可能压垮数据库// 场景:大量缓存key在同一时间过期// 导致所有请求都打到数据库// 问题代码:// 初始化缓存,设置相同过期时间i <= 10000;i++) {// 都1小时后过期// 1小时后,所有缓存同时过期。

2025-12-21 16:44:41 415

原创 Redis与MySQL双写一致性(实战解决方案)

Component@Autowired/*** 通用的Cache Aside读模板*/// 1. 读缓存if (value!= null) {// 2. 读数据库// 缓存空值,防止缓存穿透// 3. 写缓存/*** 通用的Cache Aside写模板*/// 1. 更新数据库// 2. 删除缓存// 使用模板@Service@Autowiredkey,5,});读多写少 → Cache Aside Pattern。

2025-12-21 15:58:50 370

原创 JUC并发编程锁机制(保姆级教程)

public class 可重入锁示例 {private ReentrantLock 锁 = new ReentrantLock();public void 方法A() {锁.lock();try {System.out.println("进入方法A");方法B();// 在锁内调用另一个需要锁的方法锁.unlock();public void 方法B() {锁.lock();// 同一个线程可以再次获取锁!try {System.out.println("进入方法B");

2025-12-21 15:44:58 393

原创 RocketMQ消息中间件详解

RocketMQ = 高可用消息总线 + 顺序存储 + 事务消息 + 延时队列适用场景系统解耦:订单→库存→物流流量削峰:秒杀、大促数据同步:DB→ES→缓存分布式事务:事务消息定时任务:延时消息。

2025-12-21 15:21:40 289

原创 Redis数据结构大全(从基础到实战)

数据结构底层实现特性常用场景StringSDS(简单动态字符串)二进制安全,可修改缓存、计数器、分布式锁List双向链表/压缩列表有序,可重复消息队列、最新列表Hash哈希表/压缩哈希表键值对集合对象存储、购物车Set哈希表/整数集合无序,不重复标签、共同好友ZSet跳表+哈希表有序,不重复排行榜、延迟队列BitmapString的位操作位操作用户签到、活跃统计特定算法基数估算UV统计GEOZSet封装地理位置附近的人、摇一摇。

2025-12-20 23:17:21 253

原创 MySQL InnoDB内存结构,增删改查时怎么运行的

增删改查在InnoDB内部SELECT = 找缓存 → 读磁盘 → MVCC判断INSERT = 写日志 → 加锁 → 写内存 → 更索引UPDATE = 找行 → 加锁 → 记旧版 → 写新版DELETE = 找行 → 加锁 → 标记删除 → 等清理COMMIT = 日志刷盘 → 释放锁记住核心先日志,后数据;先内存,后磁盘;有版本,有锁控。

2025-12-20 23:11:16 796

原创 布隆过滤器详解

用户插入数据时,经过布隆过滤器,布隆过滤器对其key进行三次哈希计算模与数组长度,得到三个数组下标,将数组中的三处0改为1。这样就标记了这个数据在数据库中存在当用户查询时,同样经过布隆过滤器对其key进行三次哈希计算模与数组长度,得到三个数组下标,检查这三处是否全为1,全1则说明该数据存在,否则不存在,则拒绝查询。

2025-12-19 20:31:45 147

原创 java泛型详解

泛型就是,让类、接口、方法能够处理多种数据类型,而不需要为每种类型都写一份代码。泛型就像是Java的"万能模板",一份代码,多种用途,既安全又高效。

2025-12-19 19:35:25 289

原创 threadlocal原理详解

作用:在Web应用中保存当前请求的用户上下文信息。

2025-12-18 16:32:14 257

原创 java web后端开发流程

查看产品经理做的产品原型,列出具体的功能模块,确定每个功能的接口。要做到什么功能,效果。

2025-12-17 22:40:05 316

原创 springboot项目包结构

Spring Boot项目的包结构有多种组织方式,主要取决于项目规模和团队规范。

2025-12-17 21:39:01 291

原创 rabbitmq如何保证消息不丢失

利用publisher confirm机制避免信息丢失。信息发送者-交换机-队列-消息消费者。

2025-09-09 17:03:59 214

原创 利用git进行版本控制

gitignore文件记录:管理时,要忽略哪些文件。

2025-09-09 12:57:21 388

原创 Redis是单线程,为什么其性能还是这么强?

CPU几乎不会因为等待磁盘io而空闲。

2025-09-08 16:49:52 136

原创 一个Java的main方法在JVM中的执行流程

​​​​:你执行。Java编译器将源代码编译成JVM能理解的字节码,存储在文件中。这个文件包含了一个​​,里面有各种符号引用,比如这个字符串的字面量、Systemoutprintln等类名、方法名和字段名。​​:你执行。操作系统会启动JVM进程。​​:JVM通过​​ 来加载HelloWorld类。​​:首先,启动类加载器会去加载JAVA_HOME/lib下的核心类库,如java.lang包(包括ObjectStringSystem等)。​​:然后,应用程序类加载器开始工作,它在你的CLASSPATH。

2025-09-07 18:22:08 894 1

原创 JVM内存结构

存放对象:String等自定义对象线程共有的。

2025-09-07 16:14:08 217

原创 HTTP协议​​和​​API设计规范​​

HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的​。以上就是我对HTTP协议和API设计规范的详细介绍。将API版本号嵌入URL或HTTP头信息,以便未来进行不兼容的更新时不影响旧客户端。基于HTTP协议的API设计,我们通常遵循REST架构风格,即 ​。方法定义了应对资源执行的操作类型,这是RESTful设计的核心。对同一资源的不同操作,使用不同的HTTP方法。),应提供这些参数来限制和整理结果。它是万维网数据通信的基础。

2025-09-07 15:31:57 743

原创 react基础样式控制

绑定必须用className,不能用class。

2025-08-31 22:26:40 93

原创 React useState基本使用

useState就是用来创建这种特殊的变量的count是状态变量,setCount是函数,用来修改count。

2025-08-30 21:16:07 218

原创 react组件

一个组件就是用户界面的一部分,它可以有自己的逻辑和外观,组件之间可以相互嵌套,也可以复用多次。定义组件(只要是个函数就可以,不管是什么形式,首字母大写就可以)App函数里使用组件(渲染组件),可以使用自闭和标签和成对标签。,内部存放了组件的逻辑和视图UI,渲染组件只需要把组件。在react中,一个组件就是。

2025-08-30 20:52:59 308

原创 浏览器检查使用方法

禁用缓存:没有勾选:会缓存一些页面资源,避免重复加载。如果有请求没获取到,那就设置保留日志、持续记录。UserAgent:表示客户端信息。Cookie:表示用户鉴权的信息。:服务器刚给我们回复的消息。对于抓到的报文如何搜索过滤。过滤表达式,指定过滤条件。一般post都带请求体。

2025-08-28 16:00:50 176

原创 mysql mvcc机制详解

当前读指的是读取数据的​底层都是通过加锁实现的。

2025-08-27 22:46:17 1270

原创 redis作为缓存,MySQL的数据怎么和Redis保持一致呢?(双写一致)

就说我最近做的这个项目,里面有xxxx(根据自己的简历上写)的功能,需要让数据库与redis高度保持一致,因为要求时效性比较高。它是读写、读读都互斥,这样就能保证在写数据的同时,是不会让其他线程读数据的,避免了脏数据。就说我最近做的这个项目,里面有xxxx(根据自己的简历上写)的功能。当mysql数据更新以后,Canal会读取binlog数据,然后再通过Canal的客户端获取到数据,并更新缓存即可。:延迟双删,如果是写操作,我们先把缓存中的数据删除,然后更新数据库,最后再延时删除缓存中的数据。

2025-08-22 08:28:29 277

软件设计师 考试笔记 仅供参考

软件设计师 考试笔记 仅供参考

2025-12-10

手机屏幕控制按键控制自动脚本

手机屏幕控制按键控制自动脚本

2024-11-19

软考软件设计师考试笔记改进版

软考软件设计师考试笔记改进版

2024-11-07

计算机技术职业资格考试,软件设计师考试笔记

计算机技术职业资格考试,软件设计师考试笔记

2024-11-06

STM32单片机引脚定义图

STM32单片机引脚定义图

2024-08-04

IDM.v6.38.2.zip

IDM.v6.38.2.zip

2024-07-26

实验,基于java语言写的2048游戏的实验及其代码

实验,基于java语言写的2048游戏的实验及其代码

2024-06-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除