
java
文章平均质量分 53
蘼芜-
You are what you think......................
展开
-
LockSupport
文章目录LockSupport方法示例LockSupportLockSupport定义了一组公共的静态方法,提供了最基本的线程阻塞和唤醒功能,LockSupport也是构建同步组件(AQS)的基础工具。以park开头的方法用来阻塞当前线程,以及unpark(Thread thread)方法来唤醒一个被阻塞的线程。方法方法描述void unpark(Thread thread)唤醒处于阻塞状态的线程void park()阻塞当前线程,调用 unpark 方法或者当前线程原创 2020-06-27 16:06:21 · 241 阅读 · 0 评论 -
并发编程学习笔记
参考资料:《Java并发编程之美》《Java并发编程的艺术》《Java多线程编程核心技术》《Java高并发程序设计》创建线程线程的状态查看运行时线程的信息死锁ThreadLocalAtomic 原子类原创 2020-06-27 11:52:55 · 243 阅读 · 0 评论 -
查看运行时的线程信息
打开终端输入命令jps, 结果示例:35696 KotlinCompileDaemon7812 Launcher11880 ThreadState1440821064 Jps输入命令jstack #pid#, 这里是jstack 11880, 结果示例:“BlockedThread-2” #12 prio=5 os_prio=0 tid=0x151af800 nid=0x50dc waiting for monitor entry [0x1568f000]java.lang..原创 2020-06-27 11:18:06 · 711 阅读 · 0 评论 -
线程的状态
##一、Java 线程的状态查看运行时的线程信息java.lang.Thread.Statepublic enum State { /** * Thread state for a thread which has not yet started. */ NEW, /** * Thread state for a runnable thread. A thread in the runnable原创 2020-06-27 11:16:46 · 178 阅读 · 0 评论 -
创建线程
继承Thread类, 重写run()方法, 调用start()方法启动线程.优点: 在run方法内获取当前线程直接使用this就可以了, 无须使用Thread.currentThred()缺点: ①Java不支持多继承 ②任务和代码没有分离 ③没有返回值实现Runnable接口, 具体实现run()方法, 也没有返回值.实现Callable接口的call()方法, 使用创建的FutureTask对象作为任务创建一个线程并启动它, 最后通过futureTask.get()等待任务执行完毕, 并返回结.原创 2020-06-27 11:12:55 · 183 阅读 · 0 评论 -
Atomic 原子类
文章目录Atomic 原子类简介原子更新基本类型AtomicInteger 的方法使用示例主要源码原子更新数组AtomicIntegerArray 方法使用示例源码原子更新引用AtomicReference 方法使用示例源码原子更新属性(字段)AtomicIntegerFieldUpdater 简单介绍使用示例JDK 8 新增的原子操作类 LongAndderLongAdder 的结构当前线程访问 Cell 数组里面的那个元素如何初始化 Cell 数组Cell 数组如何扩容处理线程访问分配的 Cell 元素原创 2020-06-27 11:06:33 · 297 阅读 · 0 评论 -
ThreadLocal、InheritableThreadLocal、ThreadLocalRandom
文章目录ThreadLocal使用示例源码Thread 类中有两个变量setgetremoveInheritableThreadLocal使用示例源码RandomThreadLocalRandom主要代码实现逻辑currentnextIntnextSeedThreadLocalThreadLocal是JDk包提供的,它提供了线程的本地变量,也就是如果你创建了一个ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的一个本地副本。当多个线程操作这个变量时,实际操作的是自己本地内存里面的变原创 2020-06-19 15:32:28 · 236 阅读 · 0 评论 -
并发死锁示例
文章目录初始死锁产生并备的四个条件代码示例避免死锁初始死锁是指两个或者两个以上的线程在执行过程中,因争夺资源而造成的互相等待的现象,在无外力作用的情况下,这些线程会一直相互等待而无法继续运行下去。如图:线程A已经持有了资源2,他同时还想申请资源1线程B已经持有了资源1,它同时还想申请资源2所以两个线程相互等待对方已经持有的资源而进入了死锁状态。死锁产生并备的四个条件互斥条件指线程对已经获取到的资源进行排它性使用,即该资源同时只由一个线程占用。请求并持有条件指一个线程已经持原创 2020-06-18 17:07:31 · 204 阅读 · 0 评论 -
将List转成String
文章目录常用方法代码演示返回值StringJoiner 源码常用方法用StringBuilder实现String.join()Stream api 收集的方法joining()方法2和3的底层实现StringJoiner代码演示public class StringJoinerTest { public static void main(String[] args) { List<String> list = new ArrayList<>(); lis原创 2020-06-18 15:58:00 · 2542 阅读 · 0 评论 -
根据当前日期得到本月月末、上月月末。。。。。。。
日期的应用原创 2016-10-27 10:34:02 · 2071 阅读 · 0 评论 -
java保留两(多)位小数
java保留两位小数原创 2016-10-10 13:53:55 · 553 阅读 · 0 评论