avatar
文章
75
标签
7
分类
3
首页
留言板
小玩意
  • 桐の待办
  • 相册
  • 藏宝阁
  • 工具箱
桐の小窝笔记 2025/2/27
搜索
首页
留言板
小玩意
  • 桐の待办
  • 相册
  • 藏宝阁
  • 工具箱

笔记 2025/2/27

发表于2025-02-27|更新于2025-03-02
|浏览量:
文章作者: Star
文章链接: http://tongtonglove.github.io/2025/02/27/笔记2025-2-27/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 桐の小窝!
上一篇
笔记2 2025/3/2
下一篇
今天看到的消息

评论
avatar
Star
我拥有的避风港 朋友在的地方
文章
75
标签
7
分类
3
欢迎来到我的主页
公告
你未必光芒万丈 但始终温暖有光
目录
  1. 1. 八股
    1. 1.1. String、StringBuffer、StringBuilder的区别?
      1. 1.1.1. 1. String
      2. 1.1.2. 2. StringBuffer
      3. 1.1.3. 3. StringBuilder
      4. 1.1.4. 总结
    2. 1.2. 同步与线程安全
    3. 1.3. HashMap
    4. 1.4. 数据结构:散列表
      1. 1.4.1. 哈希冲突
      2. 1.4.2. 拉链法
    5. 1.5. HashMap的put方法详解
    6. 1.6. HashMap扩容
    7. 1.7. hashMap的寻址方法
    8. 1.8. 为何HashMap的数组长度一定是2的次幂
    9. 1.9. hashmap在1.7情况下的多线程死循环问题
    10. 1.10. ArrayList和LinkedList的区别
    11. 1.11. 红黑树
    12. 1.12. 垃圾回收有哪些算法
      1. 1.12.1. 1. 标记-清除算法(Mark-Sweep)
        1. 1.12.1.1. 工作原理
        2. 1.12.1.2. 优点
        3. 1.12.1.3. 缺点
      2. 1.12.2. 2. 标记-整理算法(Mark-Compact)
        1. 1.12.2.1. 工作原理
        2. 1.12.2.2. 优点
        3. 1.12.2.3. 缺点
      3. 1.12.3. 3. 复制算法(Copying)
        1. 1.12.3.1. 工作原理
        2. 1.12.3.2. 优点
        3. 1.12.3.3. 缺点
      4. 1.12.4. 4. 分代收集算法(Generational Collection)
        1. 1.12.4.1. 工作原理
        2. 1.12.4.2. 优点
        3. 1.12.4.3. 缺点
      5. 1.12.5. 5. 增量收集算法(Incremental Collection)
        1. 1.12.5.1. 工作原理
        2. 1.12.5.2. 优点
        3. 1.12.5.3. 缺点
      6. 1.12.6. 6. 分区收集算法(Region-Based Collection)
        1. 1.12.6.1. 工作原理
        2. 1.12.6.2. 优点
        3. 1.12.6.3. 缺点
      7. 1.12.7. 7. 引用计数算法(Reference Counting)
        1. 1.12.7.1. 工作原理
        2. 1.12.7.2. 优点
        3. 1.12.7.3. 缺点
      8. 1.12.8. 8. G1 垃圾回收器(Garbage-First)
        1. 1.12.8.1. 工作原理
        2. 1.12.8.2. 优点
        3. 1.12.8.3. 缺点
      9. 1.12.9. 9. ZGC(Z Garbage Collector)
        1. 1.12.9.1. 工作原理
        2. 1.12.9.2. 优点
        3. 1.12.9.3. 缺点
      10. 1.12.10. 10. Shenandoah GC
        1. 1.12.10.1. 工作原理
        2. 1.12.10.2. 优点
        3. 1.12.10.3. 缺点
      11. 1.12.11. 总结
    13. 1.13. 线程池
      1. 1.13.1. 1. 线程池的核心概念
        1. 1.13.1.1. (1)线程池的作用
        2. 1.13.1.2. (2)线程池的组成部分
      2. 1.13.2. 2. 线程池的工作流程
      3. 1.13.3. 3. 线程池的优点
      4. 1.13.4. 4. 线程池的实现
        1. 1.13.4.1. (1)Java 中的线程池
          1. 1.13.4.1.1. 常见的线程池类型
          2. 1.13.4.1.2. 自定义线程池
        2. 1.13.4.2. (2)线程池的参数
        3. 1.13.4.3. (3)拒绝策略
      5. 1.13.5. 5. 线程池的使用场景
      6. 1.13.6. 6. 线程池的注意事项
      7. 1.13.7. 7. 示例代码
      8. 1.13.8. 总结
    14. 1.14. springboot和springmvc区别
      1. 1.14.1. 1. 定位与目标
        1. 1.14.1.1. Spring MVC
        2. 1.14.1.2. Spring Boot
      2. 1.14.2. 2. 配置方式
        1. 1.14.2.1. Spring MVC
        2. 1.14.2.2. Spring Boot
      3. 1.14.3. 3. 依赖管理
        1. 1.14.3.1. Spring MVC
        2. 1.14.3.2. Spring Boot
      4. 1.14.4. 4. 内嵌服务器
        1. 1.14.4.1. Spring MVC
        2. 1.14.4.2. Spring Boot
      5. 1.14.5. 5. 开发效率
        1. 1.14.5.1. Spring MVC
        2. 1.14.5.2. Spring Boot
      6. 1.14.6. 6. 项目结构
        1. 1.14.6.1. Spring MVC
        2. 1.14.6.2. Spring Boot
      7. 1.14.7. 7. 适用场景
        1. 1.14.7.1. Spring MVC
        2. 1.14.7.2. Spring Boot
      8. 1.14.8. 对比表格
      9. 1.14.9. 8. 关系
      10. 1.14.10. 总结
    15. 1.15. MVC框架?
      1. 1.15.1. 1. MVC 的组成部分
        1. 1.15.1.1. (1)Model(模型)
        2. 1.15.1.2. (2)View(视图)
        3. 1.15.1.3. (3)Controller(控制器)
      2. 1.15.2. 2. MVC 的工作流程
      3. 1.15.3. 3. MVC 的优点
      4. 1.15.4. 4. MVC 的缺点
      5. 1.15.5. 5. MVC 的应用场景
      6. 1.15.6. 6. MVC 的变体
      7. 1.15.7. 7. MVC 示例代码
        1. 1.15.7.1. (1)Model(模型)
        2. 1.15.7.2. (2)View(视图)
        3. 1.15.7.3. (3)Controller(控制器)
      8. 1.15.8. 总结
    16. 1.16. mybatis如何处理xml和mapper的映射
      1. 1.16.1. 1. 通过 XML 文件定义 SQL 映射
        1. 1.16.1.1. (1)创建 XML 映射文件
        2. 1.16.1.2. (2)创建 Mapper 接口
        3. 1.16.1.3. (3)配置 MyBatis
        4. 1.16.1.4. (4)使用 Mapper
      2. 1.16.2. 2. 通过注解定义 SQL 映射
        1. 1.16.2.1. (1)在 Mapper 接口中使用注解
        2. 1.16.2.2. (2)配置 MyBatis
        3. 1.16.2.3. (3)使用 Mapper
      3. 1.16.3. 3. XML 和注解的混合使用
        1. 1.16.3.1. 示例
      4. 1.16.4. 4. XML 和 Mapper 接口的映射规则
      5. 1.16.5. 5. 动态 SQL
        1. 1.16.5.1. 示例
      6. 1.16.6. 6. 总结
    17. 1.17. 项目中如果改了yml配置文件,再在命令行中改哪个参数会生效
      1. 1.17.1. 1. Spring Boot 配置加载顺序
      2. 1.17.2. 2. 命令行参数的使用
      3. 1.17.3. 3. 常见配置项
      4. 1.17.4. 4. 动态修改配置
      5. 1.17.5. 5. Spring Boot 配置优先级示例
      6. 1.17.6. 6. Spring Boot 2.4+ 的配置变化
      7. 1.17.7. 7. 总结
    18. 1.18. 多线程如何控制并发
      1. 1.18.1. 1. 使用同步(Synchronization)
        1. 1.18.1.1. (1)synchronized 关键字
          1. 1.18.1.1.1. 示例:同步方法
          2. 1.18.1.1.2. 示例:同步代码块
        2. 1.18.1.2. (2)Lock 接口
          1. 1.18.1.2.1. 示例:使用 ReentrantLock
      2. 1.18.2. 2. 使用原子类(Atomic Classes)
        1. 1.18.2.0.1. 示例:使用 AtomicInteger
    19. 1.18.3. 3. 使用线程安全的集合
      1. 1.18.3.0.1. 示例:使用 ConcurrentHashMap
  2. 1.18.4. 4. 使用信号量(Semaphore)
    1. 1.18.4.0.1. 示例:使用 Semaphore
  • 1.18.5. 5. 使用 CountDownLatch
    1. 1.18.5.0.1. 示例:使用 CountDownLatch
  • 1.18.6. 6. 使用 CyclicBarrier
    1. 1.18.6.0.1. 示例:使用 CyclicBarrier
  • 1.18.7. 7. 使用线程池
    1. 1.18.7.0.1. 示例:使用 ThreadPoolExecutor
  • 1.18.8. 8. 使用 volatile 关键字
    1. 1.18.8.0.1. 示例:使用 volatile
  • 1.18.9. 9. 使用 ThreadLocal
    1. 1.18.9.0.1. 示例:使用 ThreadLocal
  • 1.18.10. 10. 避免死锁
  • 1.18.11. 总结
  • 1.19. Synchronized和reentrantlock的区别
    1. 1.19.1. 1. 基本概念
      1. 1.19.1.1. (1)Synchronized
      2. 1.19.1.2. (2)ReentrantLock
    2. 1.19.2. 2. 锁的获取与释放
      1. 1.19.2.1. (1)Synchronized
        1. 1.19.2.1.1. 示例
      2. 1.19.2.2. (2)ReentrantLock
        1. 1.19.2.2.1. 示例
    3. 1.19.3. 3. 锁的灵活性
      1. 1.19.3.1. (1)Synchronized
      2. 1.19.3.2. (2)ReentrantLock
        1. 1.19.3.2.1. 示例:公平锁
        2. 1.19.3.2.2. 示例:尝试获取锁
    4. 1.19.4. 4. 性能
      1. 1.19.4.1. (1)Synchronized
      2. 1.19.4.2. (2)ReentrantLock
    5. 1.19.5. 5. 功能扩展
      1. 1.19.5.1. (1)Synchronized
      2. 1.19.5.2. (2)ReentrantLock
        1. 1.19.5.2.1. 示例:条件变量
    6. 1.19.6. 6. 锁的可重入性
      1. 1.19.6.1. (1)Synchronized
      2. 1.19.6.2. (2)ReentrantLock
    7. 1.19.7. 7. 锁的监控
      1. 1.19.7.1. (1)Synchronized
      2. 1.19.7.2. (2)ReentrantLock
    8. 1.19.8. 8. 总结对比
    9. 1.19.9. 9. 使用场景
    10. 1.19.10. 10. 示例代码
      1. 1.19.10.1. Synchronized 示例
      2. 1.19.10.2. ReentrantLock 示例
    11. 1.19.11. 总结
  • 1.20. 乐观锁和悲观锁的使用场景
    1. 1.20.1. 1. 悲观锁(Pessimistic Locking)
      1. 1.20.1.1. (1)核心思想
      2. 1.20.1.2. (2)实现方式
      3. 1.20.1.3. (3)优点
      4. 1.20.1.4. (4)缺点
      5. 1.20.1.5. (5)使用场景
        1. 1.20.1.5.1. 示例:数据库悲观锁
        2. 1.20.1.5.2. 示例:Java 悲观锁
    2. 1.20.2. 2. 乐观锁(Optimistic Locking)
      1. 1.20.2.1. (1)核心思想
      2. 1.20.2.2. (2)实现方式
      3. 1.20.2.3. (3)优点
      4. 1.20.2.4. (4)缺点
      5. 1.20.2.5. (5)使用场景
        1. 1.20.2.5.1. 示例:数据库乐观锁
        2. 1.20.2.5.2. 示例:Java 乐观锁
    3. 1.20.3. 3. 对比总结
    4. 1.20.4. 4. 选择建议
    5. 1.20.5. 5. 实际应用
  • 1.21. JVM内存区域
    1. 1.21.1. 1. 程序计数器(Program Counter Register)
      1. 1.21.1.1. (1)作用
      2. 1.21.1.2. (2)特点
    2. 1.21.2. 2. Java 虚拟机栈(Java Virtual Machine Stacks)
      1. 1.21.2.1. (1)作用
      2. 1.21.2.2. (2)特点
      3. 1.21.2.3. (3)栈帧的组成
    3. 1.21.3. 3. 本地方法栈(Native Method Stack)
      1. 1.21.3.1. (1)作用
      2. 1.21.3.2. (2)特点
    4. 1.21.4. 4. Java 堆(Java Heap)
      1. 1.21.4.1. (1)作用
      2. 1.21.4.2. (2)特点
      3. 1.21.4.3. (3)堆内存的划分
    5. 1.21.5. 5. 方法区(Method Area)
      1. 1.21.5.1. (1)作用
      2. 1.21.5.2. (2)特点
    6. 1.21.6. 6. 运行时常量池(Runtime Constant Pool)
      1. 1.21.6.1. (1)作用
      2. 1.21.6.2. (2)特点
    7. 1.21.7. 7. 直接内存(Direct Memory)
      1. 1.21.7.1. (1)作用
      2. 1.21.7.2. (2)特点
    8. 1.21.8. 8. JVM 内存区域总结
    9. 1.21.9. 9. JVM 内存区域的图示
    10. 1.21.10. 10. 常见问题
      1. 1.21.10.1. (1)堆和栈的区别
      2. 1.21.10.2. (2)方法区和元空间的区别
      3. 1.21.10.3. (3)直接内存的作用
  • 1.22. 堆内存泄露和栈内存泄露?如何避免
    1. 1.22.1. 1. 堆内存泄漏(Heap Memory Leak)
      1. 1.22.1.1. (1)定义
      2. 1.22.1.2. (2)常见原因
      3. 1.22.1.3. (3)示例
      4. 1.22.1.4. (4)如何避免
    2. 1.22.2. 2. 栈内存泄漏(Stack Memory Leak)
      1. 1.22.2.1. (1)定义
      2. 1.22.2.2. (2)常见原因
      3. 1.22.2.3. (3)示例
      4. 1.22.2.4. (4)如何避免
    3. 1.22.3. 3. 堆内存泄漏和栈内存泄漏的区别
    4. 1.22.4. 4. 如何检测内存泄漏
      1. 1.22.4.1. (1)堆内存泄漏检测
      2. 1.22.4.2. (2)栈内存泄漏检测
    5. 1.22.5. 5. 总结
      1. 1.22.5.1. 堆内存泄漏
      2. 1.22.5.2. 栈内存泄漏
  • 1.23. 如何进行垃圾回收
    1. 1.23.1. 1. 垃圾回收的基本概念
      1. 1.23.1.1. (1)什么是垃圾
      2. 1.23.1.2. (2)垃圾回收的作用
      3. 1.23.1.3. (3)垃圾回收的时机
    2. 1.23.2. 2. 垃圾回收算法
      1. 1.23.2.1. (1)标记-清除算法(Mark-Sweep)
      2. 1.23.2.2. (2)标记-整理算法(Mark-Compact)
      3. 1.23.2.3. (3)复制算法(Copying)
      4. 1.23.2.4. (4)分代收集算法(Generational Collection)
    3. 1.23.3. 3. 垃圾回收器
      1. 1.23.3.1. (1)Serial GC
      2. 1.23.3.2. (2)Parallel GC
      3. 1.23.3.3. (3)CMS GC(Concurrent Mark-Sweep)
      4. 1.23.3.4. (4)G1 GC(Garbage-First)
      5. 1.23.3.5. (5)ZGC(Z Garbage Collector)
      6. 1.23.3.6. (6)Shenandoah GC
    4. 1.23.4. 4. 如何触发垃圾回收
      1. 1.23.4.1. (1)自动触发
      2. 1.23.4.2. (2)手动触发
    5. 1.23.5. 5. 如何优化垃圾回收
      1. 1.23.5.1. (1)合理设置堆内存大小
      2. 1.23.5.2. (2)选择合适的垃圾回收器
      3. 1.23.5.3. (3)调整新生代和老年代的比例
      4. 1.23.5.4. (4)调整 Survivor 区的比例
      5. 1.23.5.5. (5)监控垃圾回收
    6. 1.23.6. 6. 垃圾回收的日志分析
      1. 1.23.6.1. (1)启用垃圾回收日志
      2. 1.23.6.2. (2)日志示例
    7. 1.23.7. 7. 总结
  • 1.24. Spring Ioc和AOP
    1. 1.24.1. 1. Spring IoC(控制反转)
      1. 1.24.1.1. (1)什么是 IoC
      2. 1.24.1.2. (2)IoC 的实现方式
      3. 1.24.1.3. (3)IoC 容器的核心接口
      4. 1.24.1.4. (4)IoC 的优点
    2. 1.24.2. 2. Spring AOP(面向切面编程)
      1. 1.24.2.1. (1)什么是 AOP
      2. 1.24.2.2. (2)AOP 的核心概念
      3. 1.24.2.3. (3)AOP 的实现方式
      4. 1.24.2.4. (4)AOP 的优点
    3. 1.24.3. 3. Spring IoC 和 AOP 的关系
    4. 1.24.4. 4. Spring IoC 和 AOP 的示例
      1. 1.24.4.1. (1)IoC 示例
      2. 1.24.4.2. (2)AOP 示例
    5. 1.24.5. 5. 总结
  • 1.25. @Autowired和@Resource的区别
    1. 1.25.1. 1. 来源
      1. 1.25.1.1. (1)**@Autowired**
      2. 1.25.1.2. (2)**@Resource**
    2. 1.25.2. 2. 默认注入方式
      1. 1.25.2.1. (1)**@Autowired**
        1. 1.25.2.1.1. 示例
      2. 1.25.2.2. (2)**@Resource**
        1. 1.25.2.2.1. 示例
    3. 1.25.3. 3. 注入方式
      1. 1.25.3.1. (1)**@Autowired**
        1. 1.25.3.1.1. 示例
      2. 1.25.3.2. (2)**@Resource**
        1. 1.25.3.2.1. 示例
    4. 1.25.4. 4. 处理多个匹配类型
      1. 1.25.4.1. (1)**@Autowired**
        1. 1.25.4.1.1. 示例
      2. 1.25.4.2. (2)**@Resource**
        1. 1.25.4.2.1. 示例
    5. 1.25.5. 5. 适用范围
      1. 1.25.5.1. (1)**@Autowired**
      2. 1.25.5.2. (2)**@Resource**
    6. 1.25.6. 6. 总结对比
    7. 1.25.7. 7. 使用建议
    8. 1.25.8. 8. 示例代码
      1. 1.25.8.1. (1)**@Autowired 示例**
      2. 1.25.8.2. (2)**@Resource 示例**
  • 1.26. Bean对象
    1. 1.26.1. 1. Bean 的定义
      1. 1.26.1.1. (1)通过 XML 配置文件定义 Bean
        1. 1.26.1.1.1. 示例
      2. 1.26.1.2. (2)通过注解定义 Bean
        1. 1.26.1.2.1. 示例
      3. 1.26.1.3. (3)通过 Java 配置类定义 Bean
        1. 1.26.1.3.1. 示例
    2. 1.26.2. 2. Bean 的创建过程
      1. 1.26.2.1. (1)Bean 的实例化
      2. 1.26.2.2. (2)Bean 的属性注入
      3. 1.26.2.3. (3)Bean 的初始化
        1. 1.26.2.3.1. 示例
      4. 1.26.2.4. (4)Bean 的使用
      5. 1.26.2.5. (5)Bean 的销毁
        1. 1.26.2.5.1. 示例
    3. 1.26.3. 3. Bean 的作用域
      1. 1.26.3.1. (1)Singleton(单例)
      2. 1.26.3.2. (2)Prototype(原型)
      3. 1.26.3.3. (3)Request、Session、Application
    4. 1.26.4. 4. Bean 的生命周期
    5. 1.26.5. 5. Bean 的来源
      1. 1.26.5.1. (1)Spring 容器管理的 Bean
      2. 1.26.5.2. (2)第三方库的 Bean
      3. 1.26.5.3. (3)条件化的 Bean
      4. 1.26.5.4. (4)动态注册的 Bean
    6. 1.26.6. 6. 总结
  • 1.27. Mysql的引擎?有什么区别
    1. 1.27.1. 1. InnoDB
      1. 1.27.1.1. (1)特点
      2. 1.27.1.2. (2)适用场景
      3. 1.27.1.3. (3)示例
    2. 1.27.2. 2. MyISAM
      1. 1.27.2.1. (1)特点
      2. 1.27.2.2. (2)适用场景
      3. 1.27.2.3. (3)示例
    3. 1.27.3. 3. MEMORY(HEAP)
      1. 1.27.3.1. (1)特点
      2. 1.27.3.2. (2)适用场景
      3. 1.27.3.3. (3)示例
    4. 1.27.4. 4. ARCHIVE
      1. 1.27.4.1. (1)特点
      2. 1.27.4.2. (2)适用场景
      3. 1.27.4.3. (3)示例
    5. 1.27.5. 5. CSV
      1. 1.27.5.1. (1)特点
      2. 1.27.5.2. (2)适用场景
      3. 1.27.5.3. (3)示例
    6. 1.27.6. 6. BLACKHOLE
      1. 1.27.6.1. (1)特点
      2. 1.27.6.2. (2)适用场景
      3. 1.27.6.3. (3)示例
    7. 1.27.7. 7. FEDERATED
      1. 1.27.7.1. (1)特点
      2. 1.27.7.2. (2)适用场景
      3. 1.27.7.3. (3)示例
    8. 1.27.8. 8. 总结对比
    9. 1.27.9. 9. 如何选择存储引擎
    10. 1.27.10. 10. 修改存储引擎
  • 1.28. 事务的特性?隔离性?
    1. 1.28.1. 1. 事务的四大特性(ACID)
      1. 1.28.1.1. (1)原子性(Atomicity)
      2. 1.28.1.2. (2)一致性(Consistency)
      3. 1.28.1.3. (3)隔离性(Isolation)
      4. 1.28.1.4. (4)持久性(Durability)
    2. 1.28.2. 2. 隔离性(Isolation)
      1. 1.28.2.1. (1)并发事务可能引发的问题
      2. 1.28.2.2. (2)隔离级别
      3. 1.28.2.3. (3)隔离级别对比
      4. 1.28.2.4. (4)设置隔离级别
    3. 1.28.3. 3. 事务的实现
      1. 1.28.3.1. (1)锁机制
      2. 1.28.3.2. (2)多版本并发控制(MVCC)
    4. 1.28.4. 4. 总结
  • 1.29. 索引失效的条件
    1. 1.29.1. 1. 使用 != 或 <> 操作符
    2. 1.29.2. 2. 使用 NOT IN 或 NOT EXISTS
    3. 1.29.3. 3. 使用 LIKE 以通配符开头
    4. 1.29.4. 4. 对索引列进行函数或表达式操作
    5. 1.29.5. 5. 使用 OR 连接条件
    6. 1.29.6. 6. 数据类型不匹配
    7. 1.29.7. 7. 复合索引未使用最左前缀
    8. 1.29.8. 8. 索引列参与计算
    9. 1.29.9. 9. 使用 IS NULL 或 IS NOT NULL
    10. 1.29.10. 10. 表数据量过小
    11. 1.29.11. 11. 索引选择性低
    12. 1.29.12. 12. 强制类型转换
    13. 1.29.13. 13. 使用 ORDER BY 或 GROUP BY 时索引失效
    14. 1.29.14. 14. 索引列包含 NULL 值
    15. 1.29.15. 15. 查询优化器选择不使用索引
    16. 1.29.16. 16. 如何避免索引失效
    17. 1.29.17. 17. 总结
  • 1.30. MySQL查询优化
  • 1.31. 数据库问题:讲一下一条SQL语句查询的全过程
  • 1.32. 为什么用B+树索引
  • 1.33. 事务的四大特性,如何保证
  • 1.34. 隔离级别?如何解决脏读,不可重读,幻读,能不加锁吗
  • 1.35. MVCC
  • 1.36. redo log和undo log有什么作用
  • 1.37. 联合索引下的走索引状况
  • 1.38. 什么时候创建索引,有哪几种,什么时候不需要
  • 1.39. 数据库:遇到慢查询SQL怎么去优化
  • 1.40. Redis常用数据结构+使用场景
  • 1.41. java常用集合和实现原理
  • 1.42. 计网:TCP的四次挥手
    1. 1.42.1. 四次挥手的过程
    2. 1.42.2. 四次挥手的示意图
    3. 1.42.3. 为什么需要四次挥手?
    4. 1.42.4. TIME_WAIT 状态的作用
    5. 1.42.5. 总结
  • 1.43. HTTPS为什么相对于HTTP更安全
  • 1.44. 三次握手四次挥手
    1. 1.44.1. 一、三次握手(Three-Way Handshake)
      1. 1.44.1.1. 三次握手的过程
      2. 1.44.1.2. 三次握手的示意图
      3. 1.44.1.3. 为什么需要三次握手?
    2. 1.44.2. 二、四次挥手(Four-Way Handshake)
      1. 1.44.2.1. 四次挥手的过程
      2. 1.44.2.2. 四次挥手的示意图
      3. 1.44.2.3. 为什么需要四次挥手?
    3. 1.44.3. 总结
  • 1.45. HTTPS和HTTP区别
    1. 1.45.1. 1. 安全性
      1. 1.45.1.1. HTTP
      2. 1.45.1.2. HTTPS
    2. 1.45.2. 2. 协议与端口
      1. 1.45.2.1. HTTP
      2. 1.45.2.2. HTTPS
    3. 1.45.3. 3. 加密方式
      1. 1.45.3.1. HTTP
      2. 1.45.3.2. HTTPS
    4. 1.45.4. 4. 性能
      1. 1.45.4.1. HTTP
      2. 1.45.4.2. HTTPS
    5. 1.45.5. 5. SEO 和浏览器支持
      1. 1.45.5.1. HTTP
      2. 1.45.5.2. HTTPS
    6. 1.45.6. 6. 使用场景
      1. 1.45.6.1. HTTP
      2. 1.45.6.2. HTTPS
    7. 1.45.7. 7. 证书
      1. 1.45.7.1. HTTP
      2. 1.45.7.2. HTTPS
    8. 1.45.8. 8. 工作原理
      1. 1.45.8.1. HTTP
      2. 1.45.8.2. HTTPS
    9. 1.45.9. 对比表格
    10. 1.45.10. 总结
  • 1.46. 开头状态码
  • 1.47. 为什么3握手4挥手,为什么是3和4
  • 1.48. udp和tcp区别
  • 1.49. 为什么tcp可靠
  • 1.50. 从浏览器输入一个url,按下回车到看到界面的详细全过程
  • 1.51. 为什么https是安全的?完整流程
  • 1.52. 7层,5层,4层协议?每层的常见协议(送分)
  • 1.53. cookie和session的区别
  • 1.54. http有几个版本?2和3的区别
  • 1.55. HTTP缓存机制
  • 1.56. tcp报文的序列号是随机的,为什么
  • 1.57. 如何让udp可靠
  • 1.58. Redis的内存淘汰机制
  • 1.59. java的并发控制机制
  • 1.60. threadlocal
  • 1.61. java引用会产生的问题
  • 1.62. 垃圾回收机制
  • 1.63. CMS
  • 1.64. AOP和反射的关系?AOP有哪些实现方式
  • 1.65. https握手的过程
  • 1.66. http3.0
  • 1.67. MySQL事务隔离的级别
  • 1.68. MySQL底层是用什么机制去实现这些级别的
  • 1.69. mvcc
  • 1.70. innoDB索引结构
  • 1.71. 为什么用B+树
  • 1.72. 缓存三兄弟
  • 1.73. Redisson的分布式锁的实现和传统意义上的lua+setnx有什么区别
  • 1.74. Redisson看门狗机制
  • 1.75. Redis的持久化方式有哪两种
  • 1.76. HTTPS的加密过程
  • 1.77. QUIC协议
  • 1.78. RPC协议,和HTTP有什么区别
  • 1.79. HashMap是线程安全的吗?如果想让他安全要怎么做
  • 1.80. ConcurrentHashMap
  • 1.81. 如果用HashMap,并发插入的话,会出现什么现象
  • 1.82. 操作系统:进程和线程的区别
  • 1.83. 进程间通信(方式)
  • 1.84. 虚拟内存
  • 1.85. 为什么要分段和分页
  • 1.86. 知道哪几种锁,什么时候用哪种
  • 1.87. 操作系统:调度算法
  • 1.88. 内核态和用户态
  • 1.89. 如何防止死锁,如何解决
  • 1.90. (都是操作系统的问题)异常和中断的区别
  • 1.91. 协程和进程
  • 1.92. jvm:java的内存模型
  • 1.93. 数据库:索引的原理、实现结构,为什么用B+树
  • 1.94. 如何创建索引、每一列都设置为索引为什么不行,从哪几个方面考虑
  • 1.95. 纯函数是什么
  • 1.96. java集合部分
    1. 1.96.1. 主要接口
    2. 1.96.2. 常用实现类
    3. 1.96.3. 集合的遍历
    4. 1.96.4. 集合的工具类:Collections
    5. 1.96.5. 总结
  • 1.97. ArrayList扩容
  • 1.98. ArrayList底层的实现原理
  • 1.99. 如何实现数组和List之间的转换
  • 1.100. ArrayList和LinkedList的区别
  • 1.101. HashMap相关面试题
  • 1.102. 二叉树
  • 1.103. Map和hashMap的区别,hashmap和table的区别
  • 1.104. 实现线程安全的方式和区别
  • 1.105. 设计模式,给出的场景是什么模式
  • 1.106. full gc怎么触发
  • 2. 算法
    1. 2.1. 最长字串(用滑动窗口)
    2. 2.2. 爬楼梯、斐波那契数列
    3. 2.3. 回溯
    4. 2.4. LRU缓存类实现
    5. 2.5. 链表
    6. 2.6. 最短路径优化的动态规划
  • 3. 项目
    1. 3.1. 一人一单&秒杀
    2. 3.2. 数据库和缓存一致性
    3. 3.3. 登录校验和权限刷新
  • 最新文章
    分布式笔记(一)2025-04-23
    Hello World2025-04-23
    hexo主题制作2025-03-06
    笔记5 2025/3/32025-03-03
    笔记4 2025/3/22025-03-02
    ©2019 - 2025 By Star
    框架 Hexo|主题 Butterfly
    青春有时会彷徨,和我想象不一样;属于青春的疯狂,才是最好的成长。
    搜索
    数据加载中