coding……
但行好事 莫问前程

标签:java

Java

Java编程拾遗『并发容器——CopyOnWrite』

zhuoli阅读(79)评论(0)赞(1)

从本片文章开始我们来介绍并发容器类,之前的文章介绍过普通容器类,比如ArrayList、LinkedList等。但是这些容器都有个问题,就是非线程安全,多线程并发写,会存在线程安全问题,所以Java提供了并发容器类来解决普通容器类的线程安全...

Java编程拾遗『AQS』-Zhuoli's Blog
Java

Java编程拾遗『AQS』

zhuoli阅读(99)评论(0)赞(1)

上篇文章讲了Java中显式锁Lock和ReadWriteLock的概念及简单使用示例,本篇文章重点来看一下Java中显式锁的底层实现。在看这部分代码时,我任务比较好理解的方式是带着问题去看源码。对于显式锁,我们可能会有以下问题: 问题1:显...

Java

Java编程拾遗『显式锁』

zhuoli阅读(95)评论(0)赞(1)

在之前讲线程同步时,介绍了synchronized的锁的使用及底层原理,也介绍了synchronized锁的一些使用局限,本篇文章来介绍一下Java中提供的另一种线程同步机制——显式锁。Java并发包中的显式锁接口和类位于包java.uti...

Java

Java编程拾遗『原子变量』

zhuoli阅读(74)评论(0)赞(1)

本篇文章我们来讲java.util.concurrent包下的原子变量,原子变量的引入主要是为了解决普通变量(int、Integer、Long等)修改操作不是原子的,进而导致必须使用同步机制才能保证安全更新的问题。举个例子: Counter...

Java

Java编程拾遗『线程中断』

zhuoli阅读(87)评论(0)赞(1)

之前的文章,我们已经介绍了线程的概念、使用、同步及线程协作,本篇文章来重点讲一下Java中如何取消或关闭一个线程。 1. 线程取消/关闭的场景 我们知道,通过线程的start方法启动一个线程后,线程开始执行run方法,run方法运行结束后线...

Java

Java编程拾遗『线程协作』

zhuoli阅读(89)评论(0)赞(1)

之前用了两篇文章介绍了多个线程竞争资源的解决方案synchronized,但其实多个线程之间除了竞争资源之外,还有相互协作。比如: 生产者/消费者模式:这是一种常见的协作模式,生产者线程和消费者线程通过共享队列进行协作,生产者将数据或任务放...

Java编程拾遗『synchronized原理』-Zhuoli's Blog
Java

Java编程拾遗『synchronized原理』

zhuoli阅读(97)评论(0)赞(3)

上篇文章简单介绍了一下synchronized的使用,以及对象锁和类锁的概念,本篇文章就来介绍一下synchronized的底层原理。 上篇文章也提到,我们对synchronized的印象是重量级锁,使用效率低下,导致我们一般在使用sync...

Java编程拾遗『并发编程概述』-Zhuoli's Blog
Java

Java编程拾遗『并发编程概述』

zhuoli阅读(154)评论(0)赞(4)

从本篇文章开始,我们一起来认识一下Java并发编程的相关细节。如果让你写一个多线程程序,相信绝大多数开发人员都能很轻松的实现。但是对于Java并发编程的一些细节,比如线程多个状态的流转、线程安全保证的原理、线程池的实现等等,综合考虑起来还是...

Java

Java编程拾遗『序列化』

zhuoli阅读(125)评论(0)赞(4)

Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,也就是讲这些对象的生命周期不会比JVM的生命周期更长。但在现实应用中,有可能要求在JVM停止运行之后能够保存(持久化)指定的对象...

zhuoli's blog

联系我关于我