自从Java 1.5之后,在java.util.concurrent包下提供了若干个阻塞队列,主要有以下几个: ArrayBlockingQueue:基于数组实现的一个阻塞队列,在创建ArrayBlockingQue…
分类:java并发
java 多线程(ThreadPoolExecutor (补充))
import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.ut…
Java 线程池的原理与实现
这几天主要是狂看源程序,在弥补了一些曾经知识空白的同一时候,也学会了不少新的知识(比方 NIO)。或者称为新技术吧。 线程池就是当中之中的一个,一提到线程。我们会想到曾经《操作系统》的生产者与消费者。信号量…
Java的锁
今天练习了Java的多线程,提到多线程就基本就会用到锁 Java通过关键字及几个类实现了锁的机制,这里先介绍下Java都有哪些锁: 一、Java实现锁的机制: Java运行到包含锁的代码时,获取尝试获取对应…
Java并发编程 之 乐观锁和悲观锁
悲观锁 可以把悲观锁想成一个很小心的人,无论做什么操作之前,都要去加个锁,这样别人想拿这个数据就会block直到它拿到锁。但是在效率方面,处理加锁的机制会产生额外的开销,还有增加产生死锁的机会。另外如果只有只读事物,这个…
JUC原子类-框架(一)
根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类。 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ; 数组类型: AtomicIntegerArray, Ato…
JUC学习笔记 -- (6) Lock锁初探
首先我们来回忆一下上一节讲过的synchronized关键字,该关键字用于给代码段或方法加锁,使得某一时刻它修饰的方法或代码段只能被一个线程访问。那么试想,当我们遇到这样的情况:当synchronized修饰的方法或代码…
ThreadPoolExecutor线程池的使用与理解
ThreadPoolExecutor线程池的使用与理解 线程池的作用就是用尽可能少的线程来执行尽可能多的Runnable,以实现对线程的充分利用。 从ThreadPoolExecutor类的构造方法说起: …
Java中执行外部命令
在项目中执行一个linux的shell脚本,于是需要在java环境下执行外部命令如系统命令、linux命令的需求,本人小小研究了一下,又上网查了一些资料先整理如下。 java执行外部命令主要依赖两个类Process和Ru…
Java中高级面试题整理
一.基础知识: 1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet); 2)HashMap的底层实现,之后会问ConcurrentHa…
Java 锁机制 synchronized
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/75126630 本文出自【赵彦军的博客】 1、前言 在多线程并发编程中Synchronized一直是元老…
Java中锁的实现与内存语义
目录 1. 概述 2. 锁的内存语义 3. 锁内存语义的实现 4. 总结 1. 概述 锁在实际使用时只是明白锁限制了并发访问, 但是锁是如何实现并发访问的, 同学们可能不太清楚, 下面这篇文章就来揭开锁的神秘面纱. 2.…