java-并发-高并发概述

多线程基础

为什么需要并行
有关并行的重要概念
有关并行性能的2个重要定律
多线程基础
线程的基本操作
守护线程
优先级
中断处理
基本的线程同步操作

Java内存模型和线程安全

原子性
可见性
有序性
Happen-Before 规则
线程安全的概念
线程安全的反例

JDK并发包

各种同步控制工具的使用
并发容器及典型源码分析
同步工具、并发容器使用小案例

第5课:JDK并发包
线程池的基本使用
扩展和增强线程池
线程池及其核心代码分析
ForkJoin

并发设计模式

单例
不变模式
生产者消费者
Future模式

无锁

无锁类的使用
无锁类的原理详解
无锁算法详解

NIO和AIO

NIO的好处
NIO核心类介绍
Selector的多路复用
使用NIO进行网络编程案例
AIO介绍

锁的优化和注意事项

锁优化的思路和方法
虚拟机内的锁优化
死锁
一个错误使用锁的案例
ThreadLocal及其源码分析

并发调试与JDK8新特性

多线程调试的方法
多线程调试案例
线程dump及分析
JDK8对并发的新支持

jetty核心代码分析

jetty如何处理高并发
实现高并发程序的基本思想

时间: 2024-09-22 18:53:46

java-并发-高并发概述的相关文章

使用JAVA实现高并发无锁数据库操作步骤分享_java

1. 并发中如何无锁.一个很简单的思路,把并发转化成为单线程.Java的Disruptor就是一个很好的例子.如果用java的concurrentCollection类去做,原理就是启动一个线程,跑一个Queue,并发的时候,任务压入Queue,线程轮训读取这个Queue,然后一个个顺序执行. 在这个设计模式下,任何并发都会变成了单线程操作,而且速度非常快.现在的node.js, 或者比较普通的ARPG服务端都是这个设计,"大循环"架构.这样,我们原来的系统就有了2个环境:并发环境 +

Java 高并发七:并发设计模型详解_java

1. 什么是设计模式 在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题 ,所提出的解决方案.这个术语是由埃里希·伽玛(Erich Gamma)等人在1990年代从建筑设计领 域引入到计算机科学的. 著名的4人帮: Erich Gamma,Richard Helm, Ralph Johnson ,John Vlissides (Gof) <设计模式:可复用面向对象软件的基础>收录23种模式 2. 单例模式 单例对象的类必须保证只有一个实例存在.许

Java 高并发一:前言_java

1.关于高并发的几个重要概念 1.1 同步和异步 首先这里说的同步和异步是指函数/方法调用方面. 很明显,同步调用会等待方法的返回,异步调用会瞬间返回,但是异步调用瞬间返回并不代表你的任务就完成了,他会在后台起个线程继续进行任务. 1.2 并发和并行 并发和并行在外在表象来说,是差不多的.由图所示,并行则是两个任务同时进行,而并发呢,则是一会做一个任务一会又切换做另一个任务.所以单个cpu是不能做并行的,只能是并发. 1.3 临界区 临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用

Java实现的并发任务处理实例_java

本文实例讲述了Java实现的并发任务处理方法.分享给大家供大家参考,具体如下: public void init() { super.init(); this.ioThreadPool = new ThreadPoolExecutor(50, 50, Long.MAX_VALUE, TimeUnit.SECONDS, new java.util.concurrent.LinkedTransferQueue<Runnable>(), new ThreadFactory() { AtomicLon

JAVA多线程和并发基础面试问答(翻译)_java

Java多线程面试问题 1. 进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用.而线程是在进程中执行的一个任务.Java运行环境是一个包含了不同的类和程序的单一进程.线程可以被称为轻量级进程.线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源. 2. 多线程编程的好处是什么? 在多线程程序中,多个线程被并发的执行以提高程序的效率,CPU不会因为某个线程需要等待资源而进入空闲状态.多个线程共享堆内存(heap

电商那些年,我摸爬打滚出的高并发架构实战精髓

一.关于高并发   高并发是指在同一个时间点,有很多用户同时访问URL地址,比如:淘宝的双11.双12,就会产生高并发.又如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击,再屌丝点的说法就像玩LOL被ADC暴击了一样,那伤害你懂的.   1 高并发会来带的后果  服务端:导致站点服务器/DB服务器资源被占满崩溃,数据的存储和更新结果和理想的设计是不一样的,比如:出现重复的数据记录,多次添加了用户积分等. 用户角度:尼玛,这么卡,老子来参加活动的,刷新了还是这样,垃圾网站,再也不来了! 我的

大话程序猿眼里的高并发

简单理解下高并发: 高并发是指在同一个时间点,有很多用户同时的访问URL地址,比如:淘宝的双11,双12,就会产生高并发,如贴吧的爆吧,就是恶意的高并发请 求,也就是DDOS攻击,再屌丝点的说法就像玩撸啊撸被ADC暴击了一样,那伤害你懂得(如果你看懂了,这个说法说明是正在奔向人生巅峰的屌丝. 高并发会来带的后果 服务端: 导致站点服务器/DB服务器资源被占满崩溃,数据的存储和更新结果和理想的设计是不一样的,比如:出现重复的数据记录,多次添加了用户积分等. 用户角度: 尼玛,这么卡,老子来参加活动

架构设计 | 互联网架构“高并发”究竟是啥

一.什么是高并发 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指:通过设计保证系统能够同时并行处理很多请求. 高并发相关常用的一些指标: 响应时间(Response Time):系统对请求做出响应的时间.例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间. 吞吐量(Throughput):单位时间内处理的请求数量. QPS(Quety Per Second):每秒响应请求数.在互联网领域,这个指标和吞吐量区分的没有这

《高并发Oracle数据库系统的架构与设计》一1.1 初见高并发

1.1 初见高并发 高并发这个概念并不新鲜,可以说有数据库的地方都有可能面临高并发的问题.在数据库里,高并发问题主要集中在两个方面:读的高并发.写的高并发,两者看起来都不是很复杂,然而实际情况往往是读和写会交织在一起,并同时呈现出高并发的问题.这个时候,相信很多读者都会提出一个观点:做读写分离嘛.是的,这是一个不错的主意,但只是一个治标不治本的主意.业务系统的耦合度很高,是不可能实现业务层级的读写分离的.在架构设计的过程中,不能驻足于技术层面,还是需要渗透到业务层面去的.不论是业务驱动技术,还是

Java 高并发十: JDK8对并发的新支持详解_java

1. LongAdder 和AtomicLong类似的使用方式,但是性能比AtomicLong更好. LongAdder与AtomicLong都是使用了原子操作来提高性能.但是LongAdder在AtomicLong的基础上进行了热点分离,热点分离类似于有锁操作中的减小锁粒度,将一个锁分离成若干个锁来提高性能.在无锁中,也可以用类似的方式来增加CAS的成功率,从而提高性能. LongAdder原理图: AtomicLong的实现方式是内部有个value 变量,当多线程并发自增,自减时,均通过CA