-->
摘要: 8 个 Java 线程池最佳实践和坑! 1、正确声明线程池 线程池必须手动通过 ThreadPoolExecutor 的构造函数来声明,避免使用Executors 类创建线程池,会有 OOM 风险。 Executors 返回线程池对象的弊端如下(后文会详细介绍到): FixedThreadPool  阅读全文
posted @ 2023-08-17 11:40 角刀牛Java 阅读(167) 评论(0) 推荐(0) 编辑
摘要: Java 的集合框架提供了许多集合类,其中有些是线程安全的,有些是非线程安全的。以下是一些线程安全的集合类: 1. Vector:Vector 是线程安全的动态数组类,与 ArrayList 类似,但它是同步的。 2. Stack:Stack 类是 Vector 的一个子类,它实现了一个后进先出的堆 阅读全文
posted @ 2023-08-17 11:00 角刀牛Java 阅读(1461) 评论(0) 推荐(0) 编辑
摘要: 在Java相关的岗位面试中,很多面试官都喜欢考察面试者对Java并发的了解程度,而以volatile关键字作为一个小的切入点,往往可以一问到底,把Java内存模型(JMM),Java并发编程的一些特性都牵扯出来,深入地话还可以考察JVM底层实现以及操作系统的相关知识。 下面我们以一次假想的面试过程, 阅读全文
posted @ 2023-08-17 10:55 角刀牛Java 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 其实,很多初学者(包括我自己)初期学习多线程时都被视频带偏了...虽然我始终认为培训班的视频是最适合非科班零基础入门的,但是在多线程方面,无一例外都讲得比较糟糕。 感触很深的一点是:很多新手觉得多线程难,并不是因为volatile、ReentrantLock或者Executor线程池,而是从一开始就 阅读全文
posted @ 2023-08-17 10:31 角刀牛Java 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 提到 MySQL 索引,相信使用过的小伙伴并不陌生,日常工作中,我们经常会加索引来提升查询效率,那么,为什么一个慢查询加上索引查询速度就能提升一个档次?索引后面的实现机制到底是什么?今天就让我们一起来探讨这个话题。 申明:本文说的磁盘是指普通的机械磁盘 一、索引是什么 比如阅读时,索引就是书的目录, 阅读全文
posted @ 2023-08-17 08:36 角刀牛Java 阅读(34) 评论(0) 推荐(0) 编辑