存储

首页 标签 存储
# 存储 #
关注
193299内容
数组(顺序存储)基本原理
本章讲解数组的核心原理,区分静态数组与动态数组。静态数组是连续内存空间,支持O(1)随机访问,但增删效率低;动态数组基于静态数组封装,自动扩容并提供便捷API。我们将手动实现动态数组的增删查改,深入理解其底层机制,为学习栈、队列、哈希表打下基础。
前端工程化
Webpack是前端模块化打包工具,支持代码分割、模块化与静态分析。相比Grunt/Gulp,更注重模块处理。核心概念包括bundle、chunk、module。Loader用于解析非JS文件,Plugin扩展构建功能。构建流程含初始化、编译、依赖解析、输出等阶段。可通过SplitChunks提取公共代码、Tree-shaking去除无用JS(需ES6模块)、压缩资源、合理配置缓存(如chunkhash)优化性能。支持热更新提升开发效率,配合webpack-cli可自动生成配置。
二叉树基础及常见类型
二叉树是最基础且最重要的数据结构之一,不仅是红黑树、堆、字典树等的构建基础,更体现了递归的核心思想。掌握二叉树,等于掌握算法与数据结构的钥匙。本文详解其类型、性质与实现,助你彻底理解并驾驭各类高级结构与算法。
二叉树基础及常见类型
二叉树是数据结构的核心,不仅是红黑树、堆、图等复杂结构的基础,更蕴含递归思维,贯穿回溯、动态规划等算法。掌握二叉树,等于掌握算法之魂。本站将带你深入理解各类二叉树及其应用。
队列/栈基本原理
本文介绍栈和队列的基本原理。二者均为操作受限的数据结构:队列只允许在队尾入、队头出,符合“先进先出”(FIFO);栈则仅在栈顶进行插入和删除,遵循“先进后出”(FILO)。底层多用数组或链表实现,核心API包括push、pop、peek和size,时间复杂度均为O(1)。
One Trick Per Day
初始化Map建议用Guava指定预期大小,避免扩容;禁用Executors创建线程池,防止OOM,推荐自定义ThreadPoolExecutor或使用Guava;Arrays.asList返回不可变列表,禁止修改操作;遍历Map优先使用entrySet或forEach;SimpleDateFormat非线程安全,勿定义为static,推荐ThreadLocal或Java8新时间API;并发更新记录需加锁,优先乐观锁,冲突低时重试不少于3次。
|
1小时前
|
盲注和二阶 SQL 注入
SQL盲注通过延迟等间接方式判断语句执行,获取敏感信息或篡改数据库。攻击者利用sleep()或耗时操作引发响应延迟,分析执行结果。二阶SQL注入则利用存储后二次执行的数据,隐蔽性强,需结合参数化查询与严格验证防范。
|
1小时前
|
成功的 SQL 注入攻击的后果
SQL注入攻击可绕过身份验证、窃取敏感信息、篡改或删除数据,甚至执行远程命令。通过构造恶意输入,攻击者能操纵数据库查询逻辑,如利用“admin')--”绕过登录验证,实现未授权访问,危害系统安全。
|
1小时前
|
Zookeeper持久化
本文深入分析ZooKeeper持久化核心源码,聚焦`TxnLog`与`FileTxnLog`实现。详解事务日志结构、append追加、CRC校验、文件预分配、日志滚动与截断机制,揭示数据持久化与恢复的关键流程。
|
1小时前
| |
Nacos注册中心
本文介绍Nacos的安装部署、服务注册与发现、分级模型、负载均衡策略、权重控制、环境隔离及实例类型等内容,涵盖从入门到实战的核心知识点,帮助开发者快速掌握Nacos在微服务架构中的应用。
免费试用