摘要: 12306售票系统分析与实战 1. 内容介绍 MVP:Minimum Viable Product 最简化实行产品 核心功能: 实体管理 生成座位 放票 查询余额 抢票 生成订单 ... 核心内容: 需求设计 数据库设计 项目搭建 流行的设计思想 后台管理实现 前台查余票及购买 组件使用及实践 主要技术栈: springboot 阅读全文
posted @ 2025-11-16 19:02 飞↑ 阅读(3) 评论(0) 推荐(0)
摘要: 4.1 基础算法 4.1.1 冒泡排序 for(int i = 0; i < arr.length - 1; i++){ for(int j = 0; j < arr.length - 1 - i; j++){ if(arr[j] > arr[j + 1]){ int temp = arr[j]; 阅读全文
posted @ 2025-10-18 13:30 飞↑ 阅读(11) 评论(0) 推荐(0)
摘要: 2. 专业技能 2.1 Java基础 2.1.1 IO流 IO,即in和out,也就是输入和输出,指应用程序和外部设备之间的数据传递,常见的外部设备包括文件、管道、网络连接。 流(Stream),是一个抽象的概念,是指一连串的数据(字符或字节),是以先进先出的方式发送信息的通道。 字节流: 字节流主 阅读全文
posted @ 2025-10-10 13:56 飞↑ 阅读(14) 评论(0) 推荐(0)
摘要: 基础篇 1. 初识MQ 1.1 同步调用 同步调用是一种线性执行模式。当你调用一个函数后,程序会暂停在当前位置,直到这个函数执行完毕并返回结果后,才会继续执行下一行代码。这就像你在餐厅点餐后,站在柜台前一直等到厨师做好餐品拿到手后才离开. 缺点: 拓展性差: 拓展服务需要更改通知代码 性能下降: 串 阅读全文
posted @ 2025-10-03 06:51 飞↑ 阅读(141) 评论(1) 推荐(0)
摘要: 无锁 => 独占锁 => 读写锁 => 邮戳锁 ReentrantLock, ReentrantReadWriteLock, StampedLock 4.12.1 面试题 Java有哪些锁? 对于读写锁,锁饥饿问题是什么? 有没有比读写锁更快的锁?邮戳锁 StampedLock知道码?(邮戳锁/票据 阅读全文
posted @ 2025-10-01 18:52 飞↑ 阅读(15) 评论(0) 推荐(0)
摘要: AbstractQueuedSynchronizer AQS重要性: Java => JVM JUC => AQS 4.11.1 前置知识 公平锁和非公平锁 可重入锁 自旋思想 LockSupport 双向链表数据结构 模板设计模式 4.11.2 AQS入门级理论知识 AQS定义 抽象的队列同步器 阅读全文
posted @ 2025-09-30 12:32 飞↑ 阅读(15) 评论(0) 推荐(0)
摘要: 4.10.1 面试题 谈谈你对synchronized的理解 synchronized的锁升级机制是什么? 偏向锁和轻量锁有什么区别? 高并发时,同步调用应该去考量锁的性能损耗。能用无锁的数据结构,就不要用锁。能用锁块,就不要锁整个方法体;能用对象锁,就不要用类锁。 说明:尽可能使加锁的代码块工作量 阅读全文
posted @ 2025-09-30 12:29 飞↑ 阅读(10) 评论(0) 推荐(0)
摘要: 4.9.1 面试题 12、你觉得目前面试,你还有那些方面理解的比较好,我没问到的,我说了juc和 jvm以及 同步锁机制 那先说juc吧,说下aqs的大致流程3、 14、cas自旋锁,是获取不到锁就一直自旋吗? cas和synchronized区别在哪里,为什么cas好,具体优势在哪里,我说cas避 阅读全文
posted @ 2025-09-30 12:28 飞↑ 阅读(9) 评论(0) 推荐(0)
摘要: 4.8 ThreadLocal 线程局部变量。 4.8.1 常见面试题 ThreadLocal中ThreadLocalMap的数据结构和关系? ThreadLocal的key是弱引用,为什么? ThreadLocal内存泄漏问题是什么? ThreadLocal中最后为什么要加remove方法? 4. 阅读全文
posted @ 2025-09-30 12:27 飞↑ 阅读(5) 评论(0) 推荐(0)
摘要: 4.7 原子操作类 4.7.1 基本类型原子类 AtomicInteger AtomicBoolean AtomicLong 常用API: get() getAndSet(int newValue) getAndIncrement(); getAndDecrement(); getAndAdd(in 阅读全文
posted @ 2025-09-30 12:25 飞↑ 阅读(3) 评论(0) 推荐(0)
摘要: Compare And Swap, 比较并交换,实现并发算法时常用的一种技术。 它包含三个操作数: 内存位置 预期原值 更新值 执行CAS操作的时候,将内存位置的值与预期原值进行比较 如果相等,那么处理器会自动将该位置的值更新 如果不匹配,处理器不做任何操作,多线程同时执行CAS只会有一个成功 CA 阅读全文
posted @ 2025-09-29 08:43 飞↑ 阅读(13) 评论(0) 推荐(0)
摘要: 1 Volatile两大特性 可见性 有序性: 排序要求 -- 有时需要禁止指令重排 volatile内存语义: 当写一个volatile变量时,JMM会把该线程对应的本地内存中的共享变量值立即刷新回主内存中。 当读一个volatile变量时,JMM会把该线程对应的本地内存设置为无效,重新回到主内存 阅读全文
posted @ 2025-09-29 08:42 飞↑ 阅读(9) 评论(0) 推荐(0)
摘要: 1 常见面试题 什么是JMM? JMM和volatile两个之间的关系是什么? JMM有哪些特性? 为什么要有JMM?为什么出现?作用和功能是什么? happens-before先行发生原则你有了解吗? 2 Java内存模型-JMM CPU运行并不是直接操作物理内存而是先将内存中的数据读到CPU缓存 阅读全文
posted @ 2025-09-29 08:41 飞↑ 阅读(16) 评论(0) 推荐(0)
摘要: 1 内容介绍 一个线程不应该由其他线程来强制中断或停止,而是应该山线程自己自行停止,自己来决定自己的命运。 在Java中没有办法立即停止一条线程,然而停止线程却显得尤为重要,如取消一个耗时操作。 因此,Java提供了一种用于停止线程的协商机制--中断,也即中断标识协商机制。 中断只是一种协作协商机制 阅读全文
posted @ 2025-09-28 14:48 飞↑ 阅读(12) 评论(0) 推荐(0)
摘要: 1 面试题复盘 如何理解多线程,如何处理并发,线程池有哪些核心参数? Java加锁有哪几种锁? synchronized原理是什么?为什么可重入?如何获取对象的锁? JVM对原生锁做了哪些优化? 什么是锁清除和锁粗化? 乐观锁是什么?synchronized与乐观锁什么区别? volatile有什么 阅读全文
posted @ 2025-09-27 12:37 飞↑ 阅读(81) 评论(0) 推荐(0)
摘要: 用于处理异步任务编排的一个类。是Future的功能增强版,减少阻塞和轮询,可以传入 1 Future接口理论知识 Future接口(FutureTask实现类)定义操作异步任务执行的一些方法. 如获取异步任务的执行结果、取消任务的执行、判断任务是否被取消、判断任务执行是否完毕等。简单讲:Future 阅读全文
posted @ 2025-09-26 12:31 飞↑ 阅读(19) 评论(0) 推荐(0)
摘要: 1. Redis 数据结构 # String set `key` `value` setnx `key` `value` # 不存在才set setex `key` `value` `ttl` incrby `key` `increment` # 自增 # Hash 哈希表 hset `key` ` 阅读全文
posted @ 2025-09-22 13:38 飞↑ 阅读(16) 评论(0) 推荐(0)
摘要: 6.1 基本概念 当前读 读取的是记录的最新版本。读取时还要保证其他的并发事务不能修改当前记录。会对读取的记录进行加锁。对于我们日常的操作,比如: select ... lock in share mode; # 共享锁 - 当前读 select ... for update,delete,inse 阅读全文
posted @ 2025-09-21 20:17 飞↑ 阅读(9) 评论(0) 推荐(0)
摘要: 7. Innodb底层原理与Mysql日志机制深入剖析 7.1 Mysql的内部结构 大体来说,MySQL可以分为Server层和存储引擎层两部分。 7.1.1 Server层 主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内 置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层 阅读全文
posted @ 2025-09-20 12:53 飞↑ 阅读(8) 评论(0) 推荐(0)
摘要: 事务是由一组SQL语句组成的逻辑处理单元, 事务具有ACID 属性。 原子性(Atomicity) :事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。 一致性(Consistent) :在事务开始和完成时,数据都必须保持一致状态。这意味着所有相关的数据规 则都必须应用于事务的修 阅读全文
posted @ 2025-09-18 20:24 飞↑ 阅读(17) 评论(0) 推荐(0)