会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
朦胧的夜~
博客园
首页
新随笔
联系
管理
订阅
上一页
1
···
15
16
17
18
19
20
21
22
23
···
25
下一页
2020年6月22日
并发06--JAVA中的并发工具类
摘要: 1、等待多线程完成的CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成操作。 使用join也可以完成这个操作,代码示例如下: package com.example2.demo2.controller; import lombok.extern.slf4j.
阅读全文
posted @ 2020-06-22 11:01 李聪龙
阅读(297)
评论(0)
推荐(0)
2020年6月18日
并发05--JAVA并发容器、框架、原子操作类
摘要: 一、ConcurrentHashMap的实现原理与使用 1、为什么要使用ConsurrentHashMap 两个原因,hashMap线程不安全(多线程并发put时,可能造成Entry链表变成环形数据结构,Entry的next节点永不为空,就会产生死循环获取Entry),hashTable效率低(Ha
阅读全文
posted @ 2020-06-18 16:51 李聪龙
阅读(232)
评论(0)
推荐(0)
2020年6月15日
并发04--JAVA中的锁
摘要: 1、Lock接口 Lock与Synchronized实现效果一致,通过获得锁、释放锁等操作来控制多个线程访问共享资源,但是Synchronized将获取锁固话,必须先获得锁,再执行,因此两者对比来说,Synchronized更方便,不需要关注加锁解锁操作;而Lock更灵活,提供了可操作、可中断等特性
阅读全文
posted @ 2020-06-15 19:07 李聪龙
阅读(299)
评论(0)
推荐(0)
2020年6月10日
并发03--并发编程基础
摘要: 一、线程简介 1、线程状态 线程在其生命周期内的所有状态如下表所示: 线程状态 状态说明 NEW 初始状态,线程被构建,但还没有调用start()方法 RUNABLE 运行状态,JAVA线程将操作系统中的就绪和运行两种状态笼统的称作“运行中”,即调用run()方法前后,统一都叫运行中 BLOCKED
阅读全文
posted @ 2020-06-10 17:12 李聪龙
阅读(197)
评论(0)
推荐(0)
并发02--JAVA内存模型(JMM)
摘要: 一、什么是JMM (一)JMM定义 JMM 规范对应的是“[JSR-133. JavaMemory Model and ThreadSpecification]”,《Java 语言规范》的 [$17.4. Memory Model章节] JMM 规范明确定义了不同的线程之间,通过哪些方式,在什么时候
阅读全文
posted @ 2020-06-10 10:10 李聪龙
阅读(267)
评论(0)
推荐(0)
2020年6月9日
并发01--并发存在的问题及底层实现原理
摘要: 一、并发编程的挑战 并发编程的挑战 多线程程序不一定运行的比单线程快: (1)上下文切换 任务从保存到再加载的过程就是一次上下文切换; 减少上下文切换的方法:无锁并发编程、CAS算法、使用最少线程和使用协程。 a、无锁并发编程:多线程会竞争锁会引起上下文切换,因此使用无锁并发编程,可以避免上下文切换
阅读全文
posted @ 2020-06-09 16:03 李聪龙
阅读(380)
评论(0)
推荐(0)
2020年6月3日
java--反射
摘要: 一、反射的概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Clas
阅读全文
posted @ 2020-06-03 11:26 李聪龙
阅读(222)
评论(0)
推荐(0)
2020年6月2日
JDK8--07:并行流与串行流
摘要: JDK8中,提供了并行流和串行流,使用parallel()和sequential()来处理,parallel()为并行流sequential()为串行流,两者可以相互转换,以最后一个为准 LongStream.rangeClosed(0,1000000).sequential().parallel(
阅读全文
posted @ 2020-06-02 18:46 李聪龙
阅读(427)
评论(0)
推荐(0)
JDK8--09:全新的时间API
摘要: 在JDK8之前,时间有各种问题,最大的问题就是,我们使用的时间格式化类SimpleDateFormat不是线程安全的 为了更准确的说明SimpleDateFormat非线程安全,演示一个并发做时间格式化的操作 public void test() throws Exception{ //全新的时间A
阅读全文
posted @ 2020-06-02 15:12 李聪龙
阅读(242)
评论(0)
推荐(0)
2020年6月1日
JDK8--08:Optional
摘要: 在程序运行时,空指针异常应该是最常见的异常之一,因此JDK8提供了Optional来避免空指针异常。 首先说明JDK8新增的Optional及相关方法的使用 Optional的常用操作: Optional.of(T value) 创建一个Optional实例 Optional.empty() 创建一
阅读全文
posted @ 2020-06-01 15:11 李聪龙
阅读(265)
评论(0)
推荐(0)
上一页
1
···
15
16
17
18
19
20
21
22
23
···
25
下一页
公告