
高并发
LVAmber
君子四守:守愚、守静、守时、守信。
展开
-
AtomicStampedReference
package thread;import java.util.concurrent.atomic.AtomicStampedReference;public class AutomicStampedReferenceDemo { static AtomicStampedReference<Integer> money = new AtomicStampedReference...原创 2018-06-04 15:26:32 · 554 阅读 · 0 评论 -
多线程设计模式
什么事设计模式 在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。单例模式 单例对象的类必须保证只有一个实例的存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如全局信息配置。 但是何时产生实例,不好判断。 这个实例在getInstance第一次被方位的时候创建实例。 ...原创 2018-06-05 15:28:32 · 1215 阅读 · 0 评论 -
HashMap线程不安全
HashMapper是线程不安全的,可以使用以下封装变成线程安全Map map = Collections.synchronizedMap(new HashMap());但这种情况只适合并发量较小的情况下。高并发情况下使用ConcurrentHashMap...原创 2018-06-05 13:25:23 · 330 阅读 · 0 评论 -
了解NIO和AIO
什么事NIO NIO是New I/O的简称,与旧式的机遇流的I/O方法相对。它表示新的一套Java I/O标准 NIO是基于块(Block)的,它以块为基本单位处理数据 为所有的数据提供(Buffer)缓存支持 增加通道(Channel)对象,作为新的I/O抽象 支持锁和内存映射文件的文件访问接口 提供基于Selector的异步网络I/OBufferChanne...原创 2018-06-05 18:12:11 · 686 阅读 · 0 评论 -
锁优化的思路和方法
减少锁持有时间 public synchronized void syncMethod() { othercode1(); mutextMethod(); othercode2(); } public void syncMethod() { othercode1(); synchronized mutextMethod(); othercode2();...转载 2018-06-05 21:15:11 · 336 阅读 · 0 评论 -
JAVA并发中所牵扯的三个概念
并发编程中的三个概念 在并发编程中,我们通常会遇到以下三个问题:原子性问题,可见性问题,有序性问题。我们先看具体看一下这三个概念:1.原子性 原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 一个很经典的例子就是银行账户转账问题: 比如从账户A向账户B转1000元,那么必然包括2个操作:从账户A减去1000元,往账户B加上1000元。 试想一...转载 2018-06-01 14:02:52 · 290 阅读 · 0 评论