上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 62 下一页
摘要: Java 并发基础常见面试题总结 1. 什么是线程和进程? 1.1. 何为进程? 1.2. 何为线程? 2. 请简要描述线程与进程的关系,区别及优缺点? 2.1. 图解进程和线程的关系 2.2. 程序计数器为什么是私有的? 2.3. 虚拟机栈和本地方法栈为什么是私有的? 2.4. 一句话简单了解堆和 阅读全文
posted @ 2021-07-15 07:40 Vincent-yuan 阅读(468) 评论(0) 推荐(0)
摘要: 什么是重入锁? 通常情况下,锁可以用来控制多线程的访问行为。 那对于同一个线程,如果连续两次对同一把锁进行lock,会怎么样了? 对于一般的锁来说,这个线程就会被永远卡死在那边,比如: void handle() { lock(); lock(); //和上一个lock()操作同一个锁对象,那么这里 阅读全文
posted @ 2021-07-13 22:01 Vincent-yuan 阅读(166) 评论(0) 推荐(0)
摘要: 所谓重入锁,指的是以线程为单位,当一个线程获取对象锁之后,这个线程可以再次获取本对象上的锁,而其他的线程是不可以的。 synchronized 和 ReentrantLock 都是可重入锁。 可重入锁的意义在于防止死锁。 可重入锁简单演示 什么是 “可重入”,可重入就是说某个线程已经获得某个锁,可以 阅读全文
posted @ 2021-07-13 21:52 Vincent-yuan 阅读(5781) 评论(0) 推荐(1)
摘要: 线程的开销 : 线程的创建和销毁 线程的上下文切换和调度 线程的同步 多线程的内存模型: 线程独有的工作内存(线程缓存用于提高效率) 所有线程共享的主内存 线程读取在主内存的成员变量(即共享变量)的过程: 线程的工作内存会去读取主内存的成员变量并保存副本 线程在工作内存中修改副本 将修改后的副本的值 阅读全文
posted @ 2021-07-12 22:49 Vincent-yuan 阅读(288) 评论(0) 推荐(0)
摘要: 1.背景: countDownLatch是在java1.5被引入,跟它一起被引入的工具类还有CyclicBarrier、Semaphore、concurrentHashMap和BlockingQueue。 存在于java.util.cucurrent包下 2.概念 countDownLatch这个类 阅读全文
posted @ 2021-07-12 22:18 Vincent-yuan 阅读(1367) 评论(0) 推荐(0)
摘要: 目录 一.对ThreadLocal的理解 二.深入解析ThreadLocal类 三.ThreadLocal的应用场景 一.对ThreadLocal的理解 ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。 可能很多朋友都知道ThreadLocal为变量在每 阅读全文
posted @ 2021-07-12 21:52 Vincent-yuan 阅读(224) 评论(0) 推荐(0)
摘要: 【强制】SimpleDateFormat 是线程不安全的类,一般不要定义为 static 变量,如果定义为 static,必须加锁,或者使用 DateUtils 工具类。 怎么理解,这里记录下。 SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化 阅读全文
posted @ 2021-07-11 15:11 Vincent-yuan 阅读(2601) 评论(0) 推荐(0)
摘要: 线程池解决了两个不同的问题: 提升性能:它们通常在执行大量异步任务时,由于减少了每个任务的调用开销,并且它们提供了一种限制和管理资源(包括线程)的方法,使得性能提升明显; 统计信息:每个ThreadPoolExecutor保持一些基本的统计信息,例如完成的任务数量。 为了在广泛的上下文中有用,此类提 阅读全文
posted @ 2021-07-08 08:00 Vincent-yuan 阅读(137) 评论(0) 推荐(0)
摘要: ThreadPoolExecutor提供了四个构造方法: 我们以最后一个构造方法(参数最多的那个),对其参数进行解释: public ThreadPoolExecutor(int corePoolSize, // 1 int maximumPoolSize, // 2 long keepAliveT 阅读全文
posted @ 2021-07-08 07:28 Vincent-yuan 阅读(3162) 评论(0) 推荐(0)
摘要: 【强制】获取单例对象需要保证线程安全,其中的方法也要保证线程安全。 【强制】创建线程或线程池时请指定有意义的线程名称,方便出错时回溯。 【强制】线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。 【强制】线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecu 阅读全文
posted @ 2021-07-07 22:01 Vincent-yuan 阅读(284) 评论(0) 推荐(0)
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 62 下一页