caicaiJava

2023年10月19日

MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%?

摘要: MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%? 前言 上篇文章MySQL字段的时间类型该如何选择?千万数据下性能提升10%~30%🚀我们讨论过时间类型的选择 本篇文章来讨论MySQL中字符类型的选择并来深入实践char与varchar类型的最佳使用场景 阅读全文

posted @ 2023-10-19 22:30 菜菜的后端私房菜 阅读(273) 评论(0) 推荐(1) 编辑

2023年10月16日

MySQL字段的时间类型该如何选择?千万数据下性能提升10%~30%🚀

摘要: MySQL字段的时间类型该如何选择?千万数据下性能提升10%~30%🚀 前言 在MySQL中时间类型的选择有很多,比如:date、time、year、datetime、timestamp... 在某些情况下还会使用整形int、bigint来存储时间戳 根据节省空间的原则,当只需要存储年份、日期、时 阅读全文

posted @ 2023-10-16 21:38 菜菜的后端私房菜 阅读(328) 评论(0) 推荐(0) 编辑

2023年10月5日

9张图深入剖析ConcurrentHashMap

摘要: 前言 在日常的开发中,我们经常使用key-value键值对的HashMap,其使用哈希表实现,用空间换取时间,提升查询性能 但在多线程的并发场景中,HashMap并不是线程安全的 如果想使用线程安全的,可以使用ConcurrentHashMap、HashTable、Collections.synch 阅读全文

posted @ 2023-10-05 22:50 菜菜的后端私房菜 阅读(148) 评论(0) 推荐(0) 编辑

2023年9月28日

深入剖析ThreadLocal使用场景、实现原理、设计思想

摘要: 前言 ThreadLocal可以用来存储线程的本地数据,做到线程数据的隔离 ThreadLocal的使用不当可能会导致内存泄漏,排查内存泄漏的问题,不仅需要熟悉JVM、利用好各种分析工具还耗费人工 如果能明白其原理并正确使用,就不会导致各种意外发生 本文将从使用场景、实现原理、内存泄漏、设计思想等层 阅读全文

posted @ 2023-09-28 20:46 菜菜的后端私房菜 阅读(216) 评论(0) 推荐(0) 编辑

10分钟巩固多线程基础

摘要: 10分钟巩固多线程基础 前言 多线程是并发编程的基础,本篇文章就来聊聊多线程 我们先聊聊概念,比如进程与线程,串行、并行与并发 再去聊聊线程的状态、优先级、同步、通信、终止等知识 进程与线程 什么是进程? 操作系统将资源分配给进程,使用进程进行调度,但进程遇到阻塞任务时,为了提升CPU利用率,会进行 阅读全文

posted @ 2023-09-28 20:45 菜菜的后端私房菜 阅读(23) 评论(0) 推荐(0) 编辑

2023年9月9日

10分钟从实现和使用场景聊聊并发包下的阻塞队列

摘要: 上篇文章12分钟从Executor自顶向下彻底搞懂线程池中我们聊到线程池,而线程池中包含阻塞队列 这篇文章我们主要聊聊并发包下的阻塞队列 阻塞队列 什么是队列? 队列的实现可以是数组、也可以是链表,可以实现先进先出的顺序队列,也可以实现先进后出的栈队列 那什么是阻塞队列? 在经典的生产者/消费者模型 阅读全文

posted @ 2023-09-09 21:02 菜菜的后端私房菜 阅读(79) 评论(0) 推荐(0) 编辑

2023年9月8日

12分钟从Executor自顶向下彻底搞懂线程池

摘要: ### 前言 上篇文章 [13分钟聊聊并发包中常用同步组件并手写一个自定义同步组件](https://juejin.cn/post/7274475842998042665) 聊到并发包中常用的同步组件,并且还手把手实现了自定义的同步组件 本篇文章来聊聊并发包下的另一个核心-线程池 阅读本文大概12分 阅读全文

posted @ 2023-09-08 22:10 菜菜的后端私房菜 阅读(92) 评论(0) 推荐(0) 编辑

2023年9月7日

13分钟聊聊并发包中常用同步组件并手写一个自定义同步组件

摘要: ### 前言 上篇文章[10分钟从源码级别搞懂AQS(AbstractQueuedSynchronizer)](https://juejin.cn/post/7273506068104478760)说到JUC并发包中的同步组件大多使用AQS来实现 本篇文章通过AQS自己来实现一个同步组件,并从源码级 阅读全文

posted @ 2023-09-07 21:16 菜菜的后端私房菜 阅读(53) 评论(0) 推荐(0) 编辑

2023年9月6日

15000字、6个代码案例、5个原理图让你彻底搞懂Synchronized

摘要: ## Synchronized 本篇文章将围绕synchronized关键字,使用大量图片、案例深入浅出的描述CAS、synchronized Java层面和C++层面的实现、锁升级的原理、源码等 大概观看时间17分钟 可以带着几个问题去查看本文,如果认真看完,问题都会迎刃而解: 1、synchro 阅读全文

posted @ 2023-09-06 19:39 菜菜的后端私房菜 阅读(151) 评论(0) 推荐(0) 编辑

2023年9月3日

10分钟从源码级别搞懂AQS(AbstractQueuedSynchronizer)

摘要: 10分钟从源码级别搞懂AQS(AbstractQueuedSynchronizer) ### 前言 上篇文章[15000字、6个代码案例、5个原理图让你彻底搞懂Synchronized](https://juejin.cn/post/7272015112819556412)有说到synchroniz 阅读全文

posted @ 2023-09-03 22:40 菜菜的后端私房菜 阅读(54) 评论(0) 推荐(0) 编辑

导航