标签:重排序

Java

不好意思,我和 Java 内存模型杠上了!

8

刘莉莉 发布于 2019-07-17

昨天发完 深入理解 Java 内存模型 后将文章转发到朋友圈后(附带开玩笑的说了句:拿着这篇文章、携上 JSR 133,老艿艿再也问不倒我了),刚好彤哥做了下点评(加上 CPU 缓存的架构来类比会更好),于是一看,还真不错,推荐一下! 简介 Java内存模型是在硬件内存模型上的更...

阅读(16)评论(0)赞 (0)

Java

40道阿里巴巴JAVA研发岗多线程面试题详解,你能答出多少

yeseng 发布于 2019-07-16

1、多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然”,只有达到”知其然知其所以然”的程度才可以说是把一个知识点运用自如。OK,下面...

阅读(15)评论(0)赞 (0)

Java

深入理解 Java 内存模型

25

yanxinchi 发布于 2019-07-16

前提 《深入理解 Java 内存模型》程晓明著,该书在以前看过一遍,现在学的东西越多,感觉那块越重要,于是又再细看一遍,于是便有了下面的读书笔记总结。全书页数虽不多,内容讲得挺深的。细看的话,也是挺花时间的,看完收获绝对挺大的。也建议 Java 开发者都去看看。里面主要有 Jav...

阅读(21)评论(0)赞 (0)

Java

Java并发编程实战: AQS 源码 史上最详尽图解+逐行注释

8

hellas 发布于 2019-07-13

Java并发编程实战: AQS 源码 史上最详尽图解+逐行注释 引言: 学习一个java并发编程工具的时候,我们首先要抓住这三点: 状态 一般是一个state属性,它基本是整个工具的核心,通常整个工具都是在设置和修改状态,很多方法的操作都依赖于当前状态是什么。 由于状态是全局共享...

阅读(39)评论(0)赞 (0)

Java

多线程同步原理

6

darida 发布于 2019-07-12

今天主要学习Java多线程中线程安全的相关知识,主要包括简单介绍线程的创建、详细讲解同步的原理以及读写锁等其他基础知识。对于多年Java开发老司机,可以跳过线程创建部分的知识。 现在我们发车了~ 目录 一、多线程基础 1.1 进程与线程 null 面试题: 说一说你对线程和进程的...

阅读(29)评论(0)赞 (0)

Java

Java内存模型

3

dulong 发布于 2019-07-11

理解Java内存模型的概念及原理,对于使用Java语言开发的工作者来说至关重要,对实际项目开发也有促进作用,也时常作为面试题出现在各大互联网公司的面试环节。本篇简要介绍了Java内存模型关键部分内容,结合原理图具体说明。深入理解Java内存模型细节推荐阅读《深入理解Java虚拟机...

阅读(24)评论(0)赞 (0)

Java

java并发编程分析

1

xubiao.zhuang 发布于 2019-07-07

在Java并发编程中,经常遇到多个线程访问同一个 共享资源 ,这时候作为开发者必须考虑 如何维护数据一致性,这就是Java锁机制(线程同步)的来源 。 Java提供了多种多线程锁机制的实现方式,常见的有: synchronized ReentrantLock Semaphore ...

阅读(30)评论(0)赞 (0)

Java

经典面试题:为什么 ConcurrentHashMap 的读操作不需要加锁?

9

xubiao.zhuang 发布于 2019-07-07

扫描下方二维码 试读 专栏详细目录 请移步至文末 ConcurrentHashMap的简介 get操作源码 volatile登场 是加在数组上的volatile吗? 用volatile修饰的Node 总结 我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线...

阅读(45)评论(0)赞 (0)

Java

Week 1 – Java 多线程 – Java 内存模型

3

尖兵 发布于 2019-07-07

前言 学习情况记录 时间:week 1 SMART子目标 :Java 多线程 学习Java多线程,要了解多线程可能出现的并发现象,了解Java内存模型的知识是必不可少的。 对学习到的重要知识点进行的记录。 注:这里提到的是Java内存模型,是和并发编程相关的,不是JVM内存结构(...

阅读(56)评论(0)赞 (0)

Java

双重检查锁定与单例

1

yanxinchi 发布于 2019-07-02

对于单例模式,相信大多数人都可以写出好几种实现方法,懒汉,饿汉等等,然而小小单例真要写好,写的完全正确也并非易事。 双重检查锁的单例 下面是我们经常使用的一种单例的实现,也就是双重检查所的实现方案。 public class Singleton { private static ...

阅读(31)评论(0)赞 (0)

Java

多线程学习笔记(1):volatile和synchronized

changyuan.xu 发布于 2019-07-02

今天开始整理学习多线程的知识,谈谈最重要的两个关键字:volatile和synchronized。 一、三个特性 1、原子性 所谓原子性操作就是指这些操作 是不可中断的 ,要么 执行过程中不被中断 ,要么不做。在Java中对基本数据类型的读取和赋值操作是原子性操作,比如i++就不...

阅读(31)评论(0)赞 (0)

Java

Java并发-组合对象

songhua.gao 发布于 2019-07-02

可见性相当微妙,发生的错误可能与直觉大相径庭。在单线程环境中,向一个变量写入值,然后在没有干涉的情况下读取这个值,很自然的会希望得到相同的值。但是当读写发生在不同的线程中,情况可能就不一样了。为了确保跨线程的内存可见性,必须使用同步机制。 public class NonVisi...

阅读(33)评论(0)赞 (0)

Java

重学Java-扒一扒Java并发

5

小丁 发布于 2019-06-30

关于Java并发的书籍和文章已经有很多了,但是就我自己的学习下来的感受来说,有一些看似简单的知识点,以至于大神们和文章的作者们都直接忽略了,但是这些知识点却很重要,如果不搞清楚,很难“彻底理解、融会贯通”,这种似懂非懂的感觉让我很难受,所以我总结了这篇文章,可能不会有什么牛X的技...

阅读(61)评论(0)赞 (0)

Java

面试官,你别再问了——JAVA之内存模型(简化版)

4

刘莉莉 发布于 2019-06-23

在面试之时,很多面试官都喜欢问道,JMM清楚吗?说说什么是内存可见性,什么是重排序?synchronized、volatile和final中的原理?等等诸如此类的问题。而网上一搜,巴啦啦一大堆,东西比较乱,也很难把面试官变相问题回答清楚。终于,下定决心给大家捋一捋JAVA简化版的...

阅读(50)评论(0)赞 (0)

Java

当我们在谈论synchronized的时候,我们在谈论什么?

1

likai 发布于 2019-06-23

synchronized是Java中实现锁的一种方式,我们可以通过synchronized来给一个方法,一个属性,一个对象等资源进行加锁。 我们为什么需要加锁呢? 可能你会说,是因为当某个资源被多个线程访问时,我们需要同步协调线程访问的顺序,在这种情况下,我们要对该资源加锁。 比...

阅读(75)评论(0)赞 (0)

Java

Android复习资料——Java知识点汇总(一)

7

刘莉莉 发布于 2019-06-23

接触 Android 开发也有一段时间了,前段时间便开始想抽空整理一些知识点,通过笔记整理的方式减少自己重复学习的时间成本和提高自身的效率。 目前先是总结了部分 Java 的知识点,这就是本文的主要分享内容。 想特意申明的一点是,这个总结更多的是从本人自己的编程基础和侧重点出发,...

阅读(56)评论(0)赞 (0)