什么是事务?事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败)。MySQL的事务是在存储引擎层实现。MySQL的事务有ACIDA:原子性(atomicity):一个事务必须被视为一个不可分割的单元。C:一致性(consistency):数据库是从一种状态切换到另一种状态。I:隔离性(isolation):事务在提交之
分类:
数据库 时间:
2020-05-16 10:31:11
阅读次数:
65
1.java内存模型注:JAVA中的堆栈和内存模型:,1.1内存模型:Java内存模型是围绕着在并发过程中如何处理原子性、可见性和有序性来建立的(三个特性详解见10.)a.Java内存模型将内存分为了主内存和工作内存b.Java内存模型规定所有的变量都存储在主内存中,每个线程有自己的工作内存c.主内存主要包括:堆和方法区,主内存是所有线程共享的d.工作内存主要包括:该线程私有的栈和对主内存部分变量
分类:
编程语言 时间:
2020-05-16 09:22:36
阅读次数:
70
1.java内存模型注:JAVA中的堆栈和内存模型:,1.1内存模型:Java内存模型是围绕着在并发过程中如何处理原子性、可见性和有序性来建立的(三个特性详解见10.)a.Java内存模型将内存分为了主内存和工作内存b.Java内存模型规定所有的变量都存储在主内存中,每个线程有自己的工作内存c.主内存主要包括:堆和方法区,主内存是所有线程共享的d.工作内存主要包括:该线程私有的栈和对主内存部分变量
分类:
编程语言 时间:
2020-05-16 09:13:11
阅读次数:
88
1、JMM与原子性Java中对基本数据类型变量的读取赋值都是原子性的,对引用类型变量的读取和赋值也是原子性。这类操作都是不可被中断的,要么执行,要么不执行。(1) 赋值操作:x = 10;操作是原子性。(2) 赋值操作:y = x;操作是非原子性。将变量x赋值给y,包含两个重要步骤:1)执行线程从主... ...
分类:
其他好文 时间:
2020-05-16 00:18:48
阅读次数:
202
本篇将从volatile和synchronized所引发的代码问题开始,进入底层原理挖掘,一方面促进自己学习的同时,另一方面也希望能帮助别的小伙伴,如有问题之处,欢迎指导纠正。 首先看以下一段代码: 1 /** 2 * 验证volatile原子性 3 */ 4 public class Atomic ...
分类:
其他好文 时间:
2020-05-15 21:48:20
阅读次数:
128
一.Semaphore是什么 Semaphore 是一个计数信号量,必须由获取它的线程释放。用于管理一组资源,内部是基于AQS的共享模式。它相当于给线程规定一个量从而控制允许活动的线程数。 Semaphore 是 synchronized 的加强版,作用是控制线程的并发数量。就这一点而言,单纯的sy ...
分类:
其他好文 时间:
2020-05-14 19:22:25
阅读次数:
47
这里讲的volatile只是入门级别的,我先记录下,后续更新。volatile的译文是不稳定的。这里我要说的是volatile是个不保证原子性操作的,它只能保证单次读写的原子性。而i这种操作不能保证原子性。先贴代码:代码很简单,首先定义一个静态的volatile变量,为什么需要的是静态的,静态依赖于... ...
分类:
其他好文 时间:
2020-05-14 15:45:18
阅读次数:
45
原子性、可见性、有序性是多线程编程中最重要的几个知识点,由于多线程情况复杂,如何让每个线程能看到正确的结果,这是非常重要的。 原子性 原子性是指一个线程的操作是不能被其他线程打断,同一时间只有一个线程对一个变量进行操作。在多线程情况下,每个线程的执行结果不受其他线程的干扰,比如说多个线程同时对同一个 ...
分类:
编程语言 时间:
2020-05-13 13:59:27
阅读次数:
74
原文链接:https://blog.csdn.net/dengjili/article/details/82468576 原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 一致性(Consistency) 事务前后数据的完整性必须保持一致。 ...
分类:
其他好文 时间:
2020-05-12 11:43:48
阅读次数:
49
Java并发编程文章系列 "Java并发编程实战 01并发编程的Bug源头" "Java并发编程实战 02Java如何解决可见性和有序性问题" "Java并发编程实战 03互斥锁 解决原子性问题" 前提 在第三篇文章最后的例子当中,需要获取到两个账户的锁后进行转账操作,这种情况有可能会发生死锁,我把 ...
分类:
编程语言 时间:
2020-05-12 09:25:58
阅读次数:
77