自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 CountDownLatch、join 与 CyclicBarrier

java中的并发工具类:1、CountDownLatch:CountDownLatch允许一个或多个线程等待其他线程完成操作。假如有这样一个需求:我们需要解析一个Excel里多个sheet的数 据,此时可以考虑使用多线程,每个线程解析一个sheet里的数据,等到 所有的sheet都解析完之后,程序需要提示解析完成。在这个需求中,要 实现主线程等待所有线程完成sheet的解析操作,最简单的做法是使用 join()方法,如代码清单:public class JoinCountDownLatchTest

2020-07-24 22:40:07 156

原创 线程副本之ThreadLocal

ThreadLocal,即线程变量,是一个以ThreadLocal对象为键,任意对象为值的存储结构。这个结构被附带在线程上,也就是说一个线程可以根据一个ThreadLocal对象查询到一个绑定到这个线程上的值。可以通过set(T)方法来设置一个值,在当前线程下再通过get()方法 获取到原先设置的值。**代码示例:**构建了一个常用的Profiler类,它具 有begin()和end()两个方法,而end()方法返回从begin()方法调用开始到 end()方法被调用时的时间差,单位是毫秒。publi

2020-07-19 23:03:46 193

原创 多线程之happens-before的理解

Happens-before原则1、为什么需要hapens-before原则,以及happens-before如何定义概述:从JDK 5开始,java开始使用JSR-133内存模型,JSR-133使用happens-before的概念来阐述操作之间的内存可见性。在JMM中,如果一个操作的执行结果需要对另一个操作可见,那么两个操作之间必须要存在happens-before关系,这两个操作可以在一个线程内,也可以在不同的线程之间。解决什么问题:编译器和处理器为了优化程序性能会对指令序列进行重新排序,下面3

2020-07-19 10:58:16 460

原创 final关键字

final关键字1、final关键字修饰变量(局部变量、成员变量)即为常量,其值不可改变2、final修饰方法,该方法不可被重写3、final修饰类,该类不可以被继承,且只能初始化一次,引用地址不可变,内容可变3、final修饰类,该类不可以被继承,且只能初始化一次,引用地址不可变,内容可变@TOC欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识

2020-07-18 23:13:58 69

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除