
多线程,中断
强迫症Kobe
与其焦虑成疾,不如静心学习。
展开
-
interrupt、interrupted和isInterrupted的区别
最近正在看《Java多线程编程核心技术》这本书,看到有一节讲中断线程的多种方法时,对于interrupt、interrupted和isInterrupted的用法总感觉不是很明白,所以在优快云上找了一些文章来看,感觉下面这篇很好,所以转发到自己的博客里面来。原文地址:http://blog.youkuaiyun.com/hj7jay/article/details/53462553?locationNum=转载 2017-11-03 14:59:17 · 299 阅读 · 0 评论 -
sun.misc.Unsafe类详解
最近在看Java多线程的知识,在看到IntegerAtomic的时候发现了一个很少用到的类:unsafe。其实之前好像也见过相关的文章,但是当时没有留意,现在又碰上了,所以看了一些文章,汇总放在这里,以后多来看看。sun.misc.unSafe包的下载地址放在最前面吧: http://download.youkuaiyun.com/detail/dfdsggdgg/9535347如转载 2017-11-27 15:23:26 · 1245 阅读 · 0 评论 -
借ThreadLocal出现OOM内存溢出问题再谈弱引用WeakReference
前几篇:Java多线程编程-(3)-线程本地ThreadLocal的介绍与使用Java多线程编程-(8)-多图深入分析ThreadLocal原理Java多线程编程-(9)-ThreadLocal造成OOM内存溢出案例演示与原理分析一、简单回顾在上几篇的时候,已经简单的介绍了不正当的使用ThreadLocal造成OOM的原因,以及ThreadLocal的基本原转载 2017-12-29 00:15:19 · 590 阅读 · 0 评论 -
JDK 1.8 ConcurrentHashMap 源码剖析
转载两篇不错的文章:第一篇:前言HashMap是我们平时开发过程中用的比较多的集合,但它是非线程安全的,在涉及到多线程并发的情况,进行put操作有可能会引起死循环,导致CPU利用率接近100%。[java] view plain copy final HashMap map = new HashMap(2); for (int i = 0; i 1转载 2017-12-30 13:44:58 · 537 阅读 · 0 评论 -
深入理解ConcurrentHashMap之源码分析(JDK8版本)
注:本文源码是JDK8的版本,与之前的版本有较大差异ConcurrentHashMap是conccurrent家族中的一个类,由于它可以高效地支持并发操作,以及被广泛使用,经典的开源框架spring的底层数据结构就是使用ConcurrentHashMap实现的。与同是线程安全的老大哥HashTable相比,它已经更胜一筹,因此它的锁更加细化,而不是像HashTable一样为几乎每个方法都添转载 2017-12-30 13:50:23 · 466 阅读 · 0 评论 -
为什么优先级高的线程并不一定先执行
1、java线程是通过映射到系统的原生线程上来实现的,所以线程的调度最终还是取决于操作系统,操作系统的优先级与java的优先级并不一一对应,如果操作系统的优先级级数大于java的优先级级数(10级)还好,但是如果小于得的话就不行了,这样会导致不同优先级的线程的优先级是一样的。 2、优先级可能会被系统自动改变,比如windows系统中就存在一个优先级推进器,大致功能就是如果一个线程执行的次数过多转载 2018-02-06 19:50:54 · 4511 阅读 · 1 评论 -
如何用一句话介绍synchronize的内涵
内涵与表象关于synchronize,一个非常通俗易懂,很容易记住的解释是:Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。这个解释很好,它非常直观的告诉我们使用synchronize会带来什么效果。 然而,也正因为如此,这个解释太过停留在了表面,就像给一款洗衣机做广告,广告中说这款自动式洗衣机可以一键转载 2018-02-07 16:35:56 · 227 阅读 · 0 评论 -
HashMap.comparableClassFor(Object x)方法解读
HashMap.comparableClassFor(Object x)方法解读:类型/泛型相关方法原创 2017年07月31日 18:23:13标签:泛型411HashMap.comparableClassFor(Object x)instanceofgetClass()getGenericInterfaces()getGenericSuperclass()和getSuperclass()Par...转载 2018-03-12 21:26:14 · 4240 阅读 · 4 评论 -
JAVA的协程实现
1. 前言 在Java中使用协程,一般会用到kilim( https://github.com/kilim/kilim )这个框架。但是看了看其用法,比较难懂。跟之前python所理解的协程的使用有很大的区别。所以就上github看看有没有别的协程框架可以用。然后发现了这个框架( https://github.com/offbynull/coroutines),也就是下面实现协程所...转载 2018-06-21 10:32:08 · 6147 阅读 · 0 评论