阿里-马云的学习笔记

导航

2019年5月27日 #

java并发系列(八)-----java异步编程

摘要: 同步计算与异步计算 从多个任务的角度来看,任务是可以串行执行的,也可以是并发执行的。从单个任务的角度来看,任务的执行方式可以是同步的,也可以是异步的。 Runnable、Callable、FutureTask 1、Runnable 先说一下java.lang.Runnable吧,它是一个接口,在它里 阅读全文

posted @ 2019-05-27 23:12 阿里-马云的学习笔记 阅读(9898) 评论(0) 推荐(1) 编辑

Spring事务传播行为详解

摘要: 前言 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是Spring为我们提供的强大的工具箱,使用事务传播行可以为我们的开发工作提供许多便利。但是人们对他的误解也颇多, 阅读全文

posted @ 2019-05-27 21:07 阿里-马云的学习笔记 阅读(5492) 评论(2) 推荐(9) 编辑

java并发系列(七)-----ConcurrentHashMap原理分析(JDK1.8)

摘要: JDK1.8的实现已经摒弃了Segment的概念,而是直接用Node数组+链表+红黑树的数据结构来实现,并发控制使用Synchronized和CAS来操作,整个看起来就像是优化过且线程安全的HashMap,虽然在JDK1.8中还能看到Segment的数据结构,但是已经简化了属性,只是为了兼容旧版本。 阅读全文

posted @ 2019-05-27 20:44 阿里-马云的学习笔记 阅读(381) 评论(0) 推荐(0) 编辑

java并发系列(六)-----Java并发:volatile关键字解析(内存语义、实现原理)

摘要: 在 Java 并发编程中,要想使并发程序能够正确地执行,必须要保证三条原则,即:原子性、可见性和有序性。只要有一条原则没有被保证,就有可能会导致程序运行不正确。volatile关键字 被用来保证可见性,即保证共享变量的内存可见性以解决缓存一致性问题。一旦一个共享变量被 volatile关键字 修饰, 阅读全文

posted @ 2019-05-27 20:34 阿里-马云的学习笔记 阅读(423) 评论(0) 推荐(0) 编辑

java并发系列(五)-----如何正确的关闭一个线程

摘要: 正确的关闭一个线程可不是简单的事情,由于线程调度的复杂性以及不可控性(毕竟运行都由操作系统做主),先来了解一下interrupt() 1、interrupt() 根据jdk文档的介绍,如下: interrupt()的作用是中断本线程。 本线程中断自己是被允许的;其它线程调用本线程的interrupt 阅读全文

posted @ 2019-05-27 00:54 阿里-马云的学习笔记 阅读(4635) 评论(0) 推荐(0) 编辑