Java并发知识整理

整理了一下前端时间学习Java并发的笔记,大约有40篇。

1. Java并发基础知识

并发基础(一) 线程介绍

并发基础(二) Thread类的API总结

并发基础(三) java线程优先级

并发基础(四) java中线程的状态

并发基础(五) 创建线程的四种方式

并发基础(六) 线程Thread类的start()和run()

并发基础(七) Thread 类的sleep()、yeild()、join()

并发基础(八) java线程的中断机制

并发基础(九) java线程的终止与中断

并发基础(十) 线程局部副本ThreadLocal之正解

2. Excutor框架

Executor框架(一)Executor框架介绍

Executor框架(二)Executor 与 ExecutorService两个基本接口

Executor框架(三)线程池详细介绍与ThreadPoolExecutor

Executor框架(四)周期/延时任务ScheduleThreadPoolExecutor

Executor框架(五)Executors工厂类

xecutor框架(六)CompletionService 接口

Executor框架(七)Future 接口、FutureTask类

Fork-Join分治编程介绍(一)

Fork-Join 原理深入分析(二)

3. 同步锁

内置锁(一)synchronized 介绍与用法

内置锁(二)synchronized下的等待通知机制

内置锁(三)synchronized的几个要注意的对象监视器

显示锁(一)Lock显示锁的优点

显式锁(二)Lock接口与显示锁介绍

显式锁(三)读写锁ReadWriteLock

显式锁(四)Lock的等待通知机制Condition

同步锁源码分析(一)AbstractQueuedSynchronizer原理

4. 并发工具类

并发工具类(一)等待多线程的CountDownLatch

并发工具类(二)同步屏障CyclicBarrier

并发工具类(三)控制并发线程的数量 Semphore

并发工具类(四)线程间的交换数据 Exchanger

并发工具类(五) Phaser类

5. 并发容器

并发容器(一)同步容器 与 并发容器

并发容器(二)阻塞队列详细介绍

并发容器(三)非阻塞队列的并发容器

并发容器(四)ConcurrentHashMap 深入解析(JDK1.6)

原子操作类(一)原子操作类详细介绍

原子操作类(二)原子操作的实现原理

java内存模型(一)正确使用 Volatile 变量

java内存模型(二)深入理解java内存模型的系列好文

原文地址:https://www.cnblogs.com/jinggod/p/8503211.html

时间: 2024-11-18 04:28:13

Java并发知识整理的相关文章

JAVA基础知识整理

一.首先先明白get与post的基本定义和区别: 这是两种在客户端和服务器端进行请求-响应的方法. 1get:从指定的资源请求数据. 2post:向指定的资源提交要处理的数据. get基本上用于从服务器取回数据,注意:get方法可能返回缓存数据. post可以从服务器上获取数据,不过,post方法不会缓存数据,并且常用语连同请求一起发送数据. 二. Jquery $.get()方法. $.get()方法通过Http Get发起请求,从服务器上请求数据. 语法:&.get(URL,callback

Java基础知识整理(一)

概述 公司业务需要,产品既要有.NET又需要Java,没得选择,只能业余时间学习Java,整体觉得Java也.NET还是很相似的,只是语法有差别,差别也不是很大,这就将学习Java的基础知识整理下,以便于自己的学习.作为个.NET程序猿也可以学习Java ,毕竟技多不压身,学习多也要精通. 开发工具 eclipse ,开发java类似.NET 需要装JDK类似.NET Framework. Java开发工具eclipse设置 1.设置字体:window设置: 2.设置快捷键:window--ke

java并发知识合集(前置知识——java内存模型)

JMM规范: 一.概念:规范了java虚拟机与计算机内存如何协同工作,它规定了一个线程如何和何时可以看到其他线程修改过的共享变量的值,以及在必须时如何同步地访问共享变量. 备注:如果两个线程同时调用了同一个对象的同一个方法,他们都会访问这个对象的成员变量,此时这个两个线程拥有的只是这个对象的私有拷贝. 如图: 二.八种同步操作 1.luck(锁定):作用于主内存的变量,它把一个变量标示为一条线程独占的状态. 2.unlock(解锁):作用于主内存的变量,它把一个处于锁定状态的变量释放出来,释放后

JAVA基础知识整理 常用框架

JAVA反射---相关资料: 1.Java反射机制可以让我们在编译期(Compile Time)之外的运行期(Runtime)检查类,接口,变量以及方法的信息 2.反射还可以让我们在运行期实例化对象,调用方法,通过调用get/set方法获取变量的值. 参考框架:Butterfly Persistence 构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种

Java并发知识概述

1.Java内存模型的抽象结构 Java中,所有的实例.静态域和数组元素都存储在堆内存中,堆内存是线程共享的.局部变量,形参,异常处理参数不会在线程之间共享,所以不存在内存可见性问题,也就不受内存模型的影响. Java之间的通信由JMM控制,JMM决定一个线程对共享变量的写入何时对另一个线程可见. JMM定义了线程和主内存之间的抽象关系: 线程之间的共享变量存储在主内存中,每个线程都有一个私有的本地内存,本地内存中存储了该变量读.写共享变量的副本,本地内存只是JMM的一个抽象的概念,并不真实存在

Java常用知识整理

一.ClassLoader 当运行一个Java 程序时,JVM启动,运行bootstrap classLoader(启动类加载器),将Java核心的API加载进来:接着调用ExtClassLoader加载扩展API,最后AppClassLoader加载CLASSPATH目录下定义的Class:这就是一个程序最基本的加载过程. 最常用的两个方法应该是ClassLoader.loadClass(String name , boolean resolve)和Class.forName(String n

Java基础知识整理(一) 面向对象程序设计——封装整理

1 类中的属性又叫成员变量(member variable),属性用英文(property)或者attribute 2 对象(Object) 又叫做实例(Instance).生成一个对象的过程叫做对象的实例化 3 面向对象编程中命名的约定:  (a) 类:首字母大写,如果一个类名由多个单词构成,那么每个单词的首字母都要大写,中间不使用仍何连接符,比如Person类 ,MemberTest类     (b)方法:首字母小写,如果一个方法由多个单词构成,那么第一个单词的所有字母全都小写,从第二个单词

java基础知识整理:

一, Java中的继承: 1. final关键字(最终的,不可修改的不可变化的,可以修饰类,方法,变量等): 如果final修饰类的话,这个类不可以被继承: 如果修饰方法的话,这个方法不可以被子类覆盖(重写): 如果修饰属性的话,该类的属性不会被自动初始化. final修饰变量的时候只可以被赋值一次.并且在声明的时候就得赋值,可以称其为常量.在其它地方不可以被赋值.(会报错) 2. java中的super:通常用在对象内部,代表父类对象. 调用方法: super.父类方法或者属性. 在子类中通过

Java内存知识整理

因主要是摘录,先列参考文献: http://ifeve.com/jmm-faq/ 1,我理解的Java内存模型是在多处理器,多线程的场景下保证在内存里的读写不会存在歧义. "Java内存模型描述了在多线程代码中哪些行为是合法的,以及线程如何通过内存进行交互.它描述了"程序中的变量" 和 "从内存或者寄存器获取或存储它们的底层细节"之间的关系.Java内存模型通过使用各种各样的硬件和编译器的优化来正确实现以上事情." 2,同步,同步并不仅仅是互斥.