场景如下: 用户账户有余额,当发生交易时,需要实时更新余额。这里如果发生并发问题,那么会造成用户余额和实际交易的不一致,这对公司和客户来说都是很危险的。 那么如何避免: &nbs…
分类:java并发
Redis分布式锁java实现
1、定义redis实现分布式锁的接口 package com.iol.common.util.concurrent.locks; import java.io.Serializable; /** * Descriptio…
知名互联网公司校招 Java 开发岗面试知识点解析
天之道,损有余而补不足,是故虚胜实,不足胜有余。 本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向。在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点。 主要包括以下几个部分: Java …
【Java并发编程】Callable、Future和FutureTask的实现
启动线程执行任务,如果需要在任务执行完毕之后得到任务执行结果,可以使用从Java 1.5开始提供的Callable和Future 下面就分析一下Callable、Future以及FutureTask的具体实现及使用方法 …
Java 开发中之十:Oracle中的锁,表分区,大对象的操作
锁:数据的完整性 行锁:insert update delete 1、手动的锁定 select …. for …
Java多线程:乐观锁、悲观锁、自旋锁
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这…
Java多线程-Java多线程概述
第一章 Java多线程概述 线程的启动 线程的暂停 线程的优先级 线程安全相关问题 1.1 进程与线程 进程:可以将运行在内存中的程序(如exe文件)理解为进程,进程是受操作系统管理的基本的运行单元。 线程:可以理解为进…
Java JUC之Atomic系列12大类实例讲解和原理分解
Java JUC之Atomic系列12大类实例讲解和原理分解 2013-02-21 0 个评论 &n…
juc并发控制--CountDownLatch使用
juc( java.util.concurrent )包是 Doug Lea 大神为了解决jdk内置的高并发机制性能问题,设计的一套高并发包 ,大神希望它 能够成为高并发需求的基础。今天我们讲解它的4大并发工具之一: C…
Java多线程--JDK并发包(2)
Java多线程–JDK并发包(2) 线程池 在使用线程池后,创建线程变成了从线程池里获得空闲线程,关闭线程变成了将线程归坏给线程池。 JDK有一套Executor框架,大概包括Executor、Executo…
Java 多线程:分析线程池的实现原理
前言 我们都知道,所谓线程池,那么就是相当于有一个池子,线程就放在这个池子中进行重复利用,能够减去了线程的创建和销毁所带来的代价。但是这样并不能很好的解释线程池的原理,下面从代码的角度分析一下线程池的实现。 线程池的相关…
【JAVA并发编程实战】9、锁分段
package cn.study.concurrency.ch11; /** * 锁分段 * @author xiaof * */ public class StripedMap { //同步策略:就是对数组进行分段上锁…