![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
ABU_MOlI_ITUI
这个作者很懒,什么都没留下…
展开
-
TransferValue小练习
TransferValue--------转移价值(栈,先进后出栈是运行,堆是对象,方法区里是存储方法的。)实例小练习package TransferValue;public class Person { private Integer id; private String personName; public Person(String perso...原创 2019-12-10 10:35:28 · 5292 阅读 · 0 评论 -
JUC多线程及高并发12---集合类不安全Map
集合类不安全Mappackage ArrayList;import java.util.*;import java.util.concurrent.CopyOnWriteArraySet;public class ContainerNotSafeDemo1 { public static void main(String[] args) {// Set<...原创 2019-12-09 18:51:47 · 5177 阅读 · 0 评论 -
JUC多线程及高并发11---集合类不安全set
集合类不安全set.flvHashSet<>package ArrayList;import java.util.HashSet;import java.util.Set;import java.util.UUID;public class ContainerNotSafeDemo1 { public static void main(String[] ...原创 2019-12-09 18:43:28 · 5225 阅读 · 0 评论 -
JUC多线程及高并发10---集合类不安全
集合类不安全之并发修改异常问题:我们知道ArrayList是线程不安全,请编码写一个不安全的案例并给出解决方案。package ArrayList;import java.util.ArrayList;/** 集合类不安全的问题* ArrayList* */public class ContainerNotSafeDemo { public static void...原创 2019-12-09 16:39:33 · 5370 阅读 · 0 评论 -
JUC多线程及高并发9-----ABA
面试笔记CAS-----》UNsafe------》CAS底层思想--------》ABA-------》原子引用更新--------------》如何规避ABA问题CAS 会导致“ABA问题”CAS算法实现一个很重要前提需要取出内存中某个时刻的数据并在当下时刻比较并替换,那么在这个时间差类会导致数据的变化。比如说一个线程one从内存位置V中取出A,这时候另一个线程two也从...原创 2019-12-05 09:01:31 · 5167 阅读 · 0 评论 -
JUC多线程及高并发8-----CAS
面试题笔记3其中var1 ------Atomicinteger 对象本身 var2---------该对象值得引用地址 var4---------需要变动的数量 var5----------是用过var1 var2找出的主内存中真实的值用该对象当前的值 与var5比较如果相同,更新var5+var4并且返回true如果不同,继续取...原创 2019-12-04 16:01:20 · 5191 阅读 · 0 评论 -
JUC多线程及高并发7-----CAS
面试题笔记2问题1,CAS底层原理?1,自旋锁2,UnSafe理解首先要知道用getAndIncrement();这一个方法就可以代替synchronized,也能保证原子性atomicInteger.getAndIncrement();1.Unsafe 是CAS的核心类,由于Java方法无法直接访问底层系统,需要通过本地(n...原创 2019-12-04 11:18:48 · 5168 阅读 · 0 评论 -
JUC多线程及高并发6-----CAS
面试题笔记1问题CAS是什么?--------------compareAndSet是比较和交换括号里一个为期望值,一个为更新值public final boolean compareAndSet(int expect, int update) 就是说,假设主内存数据为5,然后线程读取数据5与自己的期望值进行比较,如果一致将会修改(与主内存交换值)为更新值2019,在传入到主...原创 2019-12-03 16:18:50 · 5231 阅读 · 0 评论 -
JUC多线程及高并发5-----volatile
面试题笔记5问题:谈谈你在那些地方用过volatile?分俩个方面:1.单例模式DCL代码:之前的单例模式:懒汉式,饿汉式。下面举例:一个线程访问:package jMM;public class SingletonDemo { //1,主类 private static SingletonDemo instance =null; //2,构造...原创 2019-12-03 14:57:05 · 5160 阅读 · 0 评论 -
JUC多线程及高并发4-----volatile
JMM-----有序性(volatile禁止指令重排)(面试题笔记4)JMM---有线程安全性获得保证计算机在执行程序时,为提高性能,编译器和处理器常常会对指令做重排,一般分以下三种源代码----》编译器优化重排-----》指令并行的重排-----》内存系统的重排-----》最终执行的指令单线程环境里面确保程序最终执行结果和代码顺序执行结果一致处理器在进行重排序时必须要考虑指令之...原创 2019-12-02 09:46:15 · 5200 阅读 · 0 评论 -
JUC多线程及高并发3-----volatile
你的同学在学习,你的对手在磨刀,你的闺蜜在减肥,你还等什么?JMM-----原子性代码证明(面试题笔记3)package jMM;import java.util.concurrent.TimeUnit;//1.public class Jmm_kejianxing { volatile int number =0; //原主机的数据 publ...原创 2019-11-29 13:07:33 · 5236 阅读 · 0 评论 -
JUC多线程及高并发2-----volatile
JMM-----可见性代码证明(面试题笔记2)2.请谈谈JMM可见性(VolatileDemo代码演示)原子性(VolatileDemo代码演示)有序性2.1可见性(VolatileDemo代码演示)对比新建项目Java工程package jMM;import java.util.concurrent.TimeUnit;//1.public class Jmm_ke...原创 2019-11-28 19:44:19 · 5273 阅读 · 0 评论 -
JUC多线程及高并发-----volatile
JUC多线程及高并发JUC----Java.util.concurrentlyconcurrently------高并发原创 2019-11-27 19:44:57 · 5264 阅读 · 0 评论