数据结构核心总结:线性表、链表、栈与队列
数据结构核心总结:线性表、链表、栈与队列 🚀 数据结构是计算机存储、组织数据的方式。好的数据结构能够显著提升程序的运行效率。本文将系统总结线性表、链表、栈和队列这四种最基础且应用最广泛的数据结构,帮助你建立完整的知识体系。 📖 目录 线性表基础 顺序表与链表 单向链表 双向链表与循环链表 栈 队列 总结对比 线性表基础什么是线性表?线性表(Linear List) 是由 n 个具有相同特性的数据元素组成的有序序列。它是数据结构中最简单、最基本的一种结构。 线性表的基本特征: 存在唯一的”第一个”元素 存在唯一的”最后一个”元素 除第一个元素外,每个元素都有且仅有一个前驱元素 除最后一个元素外,每个元素都有且仅有一个后继元素 graph LR A[元素1] --> B[元素2] B --> C[元素3] C --> D[元素4] E[元素n-1] --> F[元素n] style A fill:#90EE90 style F fill:#FFB6C1 线性表的抽象数据类型线性表的操作主要包括: 操作 说明 ...
Java 进阶核心知识点总结
Java 进阶核心知识点总结 🚀 本文将深入探讨 Java 进阶知识,包括 JVM 内存模型、垃圾回收机制、并发编程、集合源码、设计模式等核心内容。如果你已经掌握了 Java 基础,那么进阶之路从这里开始。 📖 目录 JVM 内存模型 垃圾回收机制 类加载机制 并发编程 集合源码解析 设计模式 常用工具类 JVM 内存模型为什么需要了解 JVM?很多初学者可能会问:我写 Java 代码又不需要直接操作内存,JVM 自动管理不就好了吗? 这个想法没错,但如果你想写出高性能、资源利用率高的代码,就必须了解 JVM。比如: 什么时候对象会被回收? 为什么代码没问题但内存一直涨? 如何调优 JVM 参数? 如何排查 OOM(OutOfMemoryError)问题? 这些问题都需要对 JVM 有深入了解。 JVM 内存划分 flowchart TD subgraph JVM 运行时数据区 A[JVM 内存模型] --> B[线程共享区] A --> C[线程私有区] B --> D[堆 Heap] B ...
你好,欢迎来到旅人小站
你好,欢迎来到旅人小站 👋你好!我是旅人,一名热爱技术的程序员。 这个博客从零开始搭建,记录我在编程道路上的学习心得、踩坑经历和成长轨迹。如果你恰好路过,希望能给你带来一点点帮助。 🏠 关于这个博客这是一个用 Hexo + Butterfly 主题搭建的个人技术博客,托管在 GitHub Pages 上。选择这个方案是因为: ✅ 纯静态站点,访问速度快 ✅ Markdown 写作,专注内容 ✅ 主题美观,配置灵活 ✅ 免费托管,省心省力 为什么建站? 沉淀知识:看过的东西容易忘,写下来才能真正变成自己的 锻炼写作:技术文档能力很重要,博客是个好练习场 分享交流:如果碰巧能帮到别人,那更是意外惊喜 个人品牌:慢慢积累,建立自己的技术影响力 建站目的 📝 记录学习过程,方便日后回顾 📚 整理知识体系,把零散的内容系统化 🤝 分享实用技术,帮助有需要的人 🌱 结交志同道合的朋友,一起进步 🛠️ 我的技术栈Java 后端 Java 核心基础:集合、多线程、I/O、反射、泛型 JVM 内存模型、类加载机制、性能调优 Spring Boot、Spring ...
Java 基础核心总结
Java 基础核心总结 📚 Java 是一门面向对象的编程语言,由 Sun 公司于 1995 年发布。它具有跨平台(一次编写,到处运行)、安全性高(没有指针,垃圾自动回收)、生态丰富(开源框架众多)等特点。本文将系统总结 Java 基础知识体系,帮助大家巩固核心概念,建立完整的知识框架。 📖 目录 Java 程序运行流程 数据类型 面向对象基础 集合框架 多线程基础 I/O 流 泛型 反射机制 Java 程序运行流程什么是字节码?Java 代码最终不会直接编译成机器码,而是编译成一种中间形式的字节码(.class 文件)。这种字节码不能被任何操作系统直接执行,但可以被 Java 虚拟机(JVM)解释执行或即时编译(JIT)成机器码。 这样做的好处是:同一个 .class 文件可以在任何安装了 JVM 的操作系统上运行,这正是 Java 跨平台的核心原理。 整体执行流程Java 程序的执行流程如下: flowchart TD A[.java 源文件] --> B[JavaC 编译] B --> C[.class 字节码文件] C --...