![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
Tear_code
ing
展开
-
深入理解Java并发编程之线程池技术
本文转载自个人掘金博客:https://juejin.im/post/5ee75a2b6fb9a0480170718f 线程池的好处 Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池,相对于单线程串行处理(Serial Processing)和为每一个任务分配一个新线程(One Task One New Thread)的做法能够带来3个好处。 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响.原创 2020-06-15 19:28:51 · 323 阅读 · 1 评论 -
深入理解Java并发编程之扣一下Condition
本文转载自个人掘金博客:https://juejin.im/post/5ed9a09a6fb9a047d45ba4b0 前言 本文为《Java并发编程的艺术》第五章第6节的读书笔记。 任意一个Java对象,都拥有一组监视器方法(定义在java.lang.Object上,实际作用于这个对象对应的monitor),主要包括wait()、wait(long timeout)、notify()以及notifyAll()方法,这些方法与synchronized同步关键字配合,可以实现等待/通知模式。Condit原创 2020-06-12 21:09:18 · 220 阅读 · 0 评论 -
深入理解Java并发编程之Lock和AQS
本文主要为《Java并发编程的艺术》第三章的读书记录笔记 Lock接口 Lock vs synchronized Java SE 5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁功能,它提供了与synchronized关键字类似的同步功能。但是,它们却有以下不同: synchronized:使用synchronized的关键字将会隐式地获取和释放锁。同时,使用什么类型的锁(偏向,轻量级锁,重量级锁)以及锁的具体实现都是由JVM底层实现。 Lock接口:Lock接口相关实现类对于锁的获原创 2020-06-12 21:03:27 · 324 阅读 · 0 评论 -
深入理解Java并发编程之线程Thread
前言 现代操作系统在运行一个程序时,会为其创建一个进程。例如,启动一个Java程序,操作系统就会创建一个Java进程。现代操作系统调度的最小单元是线程,也叫轻量级进程(Light Weight Process),在一个进程里可以创建多个线程,这些线程都拥有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量。处理器在这些线程上高速切换,让使用者感觉到这些线程在同时执行。 Java线程通过调用线程的start()方法进行启动,随着run()方法的执行完毕,线程也随之终止。 线程优先级 Jav原创 2020-06-01 09:13:30 · 187 阅读 · 0 评论 -
深入理解Java并发编程之把ThreadLocal扣烂
本文转载自个人掘金博客:https://juejin.im/user/5dcbe4ccf265da30454fa660/posts 基本含义 ThreadLocal字面意思是线程局部变量,它为每一个线程提供了独立的互不干扰的局部变量。 ThreadLocal类是一个泛型类,也就是说这个局部变量可以是各种类型,比如:Long,List等等。 ThreadLocal类提供了get和set方法以在线程运行周期内获取和改变这个局部变量的值。 每一个线程的线程局部变量ThreadLocal是相互独立,互不干原创 2020-05-30 09:36:41 · 265 阅读 · 0 评论 -
深入理解Java并发编程之通过JDK C++源码以及Debug源码死扣Thread.join()
本文转载自个人掘金博客:https://juejin.im/post/5ece5f71f265da76de5cda58 基本含义 如果一个线程A执行了thread.join()语句,其含义是:当前线程A等待thread线程终止之后才从thread.join()返回。 线程Thread除了提供join()方法之外,还提供了join(long millis)和join(long millis,int nanos)两个具备超时特性的方法。这两个超时方法表示,如果线程thread在给定的超时时间里没有终止,那原创 2020-05-27 21:37:48 · 303 阅读 · 0 评论 -
深入理解Java并发机制之volatile和synchronized
本文转载自个人掘金博客:https://juejin.im/user/5dcbe4ccf265da30454fa660 本文为《Java并发编程的艺术》一书第二,三章的读书笔记。这内容之前看过几遍,不过容易忘,索性记下来吧,忘了就在看看,放在网上也方便- -。 前言 Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令。 Java内存模型(JMM) 线程之间的通信原创 2020-05-22 21:29:33 · 241 阅读 · 0 评论 -
全方位深入理解Java包装类
前言 这篇文章主要从使用角度,源码角度以及JVM内存位置等角度深入解析Java的基本数值包装类。 1. 包装类 1.1 包装类的定义: Java中每一种基本类型都会对应一个唯一的包装类(位于java.lang.*package中),基本类型与其包装类都可以通过包装类中的静态或者成员方法进行转换。每种基本类型及其包装类的对应关系如下表所示。 | 基本数据类型 | 包装类 | | ------------ | --------- | | byte | B原创 2020-05-21 21:51:15 · 448 阅读 · 0 评论