标签:重排序

Java

关于 Java 关键字 volatile 的总结

changyuan.xu 发布于 2019-12-12

1 什么是 volatile volatile 是 Java 的一个关键字,它提供了一种轻量级的同步机制。相比于重量级锁 synchronized,volatile 更为轻量级,因为它不会引起线程上下文的切换和调度。 2 volatile 的两个作用 可以禁止指令的重排序优化 提...

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

Java

Java 并发编程 73 道面试题及答案

5

songhua.gao 发布于 2019-12-09

点击上方  Java后端 ,选择  设为星标 优质文章,及时送达 原文出处: https://blog.csdn.net/qq_34039315/article/details/7854931 1、在java中守护线程和本地线程区别? java中的线程分为两种...

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

Java

浅谈JVM虚拟机

5

wenming.gapo 发布于 2019-12-08

本人是一名前不久被秋招打得体无完肤的Java小白,在经历过秋招以后,认识到JVM虚拟机的重要性,虽然之前了解过虚拟机的一些基本知识和概念,但是对于怀揣这进入大厂的心的我是远远不够的,于是想更深一步的了解并学习JVM,《深入理解JAVA虚拟机》这本书对JVM剖析的特别清楚,最近也在...

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

Java

一篇文章彻底搞懂volatile关键字

8

xiaoli.he 发布于 2019-12-06

volatile关键字 和 synchronized关键字 一样,在Java多线程开发中,是一道必须要跨越的槛。之前有篇文章已经分析过 synchronized关键字 的原理, synchronized关键字的原理 ,这一次,我们来一步一步分析下 volatile关键字 的工作原...

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

Java

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

5

likai 发布于 2019-12-06

点击上方  视学算法   ,选择  星标  公众号 重磅资讯、干货,第一时间送达 来 源 : http://tinyurl.com/y685vvv9 ConcurrentHashMap的简介 get操作源码 volatile登场 是加在数组...

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

Java

2019年100道经典JAVA面试真题解析

16

songhua.gao 发布于 2019-12-05

2019年快结束了,给大家整理了今年来最经典的面试真题100道,每个题目都有详细的解答,收集了java基础,容器,多线程,反射,对象拷贝,Java Web,异常,网络,设计模式,Spring / Spring MVC,等专题的经典面试真题,和详细分析。没道题目都详细讲解,文章过长...

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

Java

Java关键字之volatile

1

xiaoli.wang 发布于 2019-12-04

首先,volatile是什么?他是Java提供的一个内置的关键字。被此关键字修饰的变量有两种特性 变量对所有的线程是可见的。即有线程A和B,存在被volatile修饰的关键字temp,当线程A对temp进行修改之后,修改之后的值在对线程B而言,是可见的,即线程B中获取到的值是最新...

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

Java

探索 Android 内存优化方法

12

puefu.he 发布于 2019-12-03

code小生,一个专注 Android 领域的技术平台 公众号回复 Android 加入我的安卓技术群 作者:灯不利多 链接:https://juejin.im/post/5d3ada056fb9a07eb94fd1bc 声明:本文已获 灯不利多 授权发表,转发等请联系原作者授权...

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

Java

2020面试预备你也能收割Offer,Java程序员必会知识清单全在这份pdf文档里

31

hellas 发布于 2019-12-02

关于程序员,除了做项目来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书! 小编整理出一篇Java进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、...

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

Java

Java中的锁 Lock和synchronized

14

尖兵 发布于 2019-11-30

锁的释放-获取建立的happens before 关系 锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。 下面是锁释放-获取的示例代码:class MonitorExample { int a = 0; publ...

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

Java

Happens-Before规则

2

xiaoli.he 发布于 2019-11-29

从 JDK 5开始,Java 使用新的 JSR-133 内存模型,使用 happens-before 的概念来阐述操作间的可见性。 2. 定义 JSR-133 对Happens-Before 的定义: Happens-Before RelationshipTwo actions ...

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

Java

The Java Memory Model

xiaoli.wang 发布于 2019-11-26

什么是内存模型 以下因素会阻止一个线程看到变量的最新值,导致在其他线程的内存操作看起来不按顺序发生: 编译器生成的指令的顺序可以和源代码的顺序不同 编译器可以把变量存到寄存器而不是内存 处理器可以并行执行指令,或者不按顺序执行指令 cache可能使得对变量的写以不同的顺序提交到m...

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

Java

J.U.C剖析与解读1(Lock的实现)

dulong 发布于 2019-11-26

J.U.C剖析与解读1(Lock的实现) 前言 为了节省各位的时间,我简单介绍一下这篇文章。这篇文章主要分为三块:Lock的实现,AQS的由来(通过演变的方式),JUC三大工具类的使用与原理剖析。 Lock的实现:简单介绍ReentrantLock,ReentrantReadWr...

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

Java

【搞定 Java 并发面试】面试最常问的 Java 并发进阶常见面试题总结!

12

puefu.he 发布于 2019-11-25

本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star!【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。觉得内容不错再 Star!)。 另外推荐一篇原创: 终极推荐!可能是最适合你的Java学习路...

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

Java

Java设计模式(一):单例模式

1

刘莉莉 发布于 2019-11-25

简介 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可...

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

Java

我们再来聊一聊 Java 的单例吧

2

Harries 发布于 2019-11-23

点击上方  Java后端 ,选择  设为星标 优质文章,及时送达 作者 | 张新强 链接 | www.barryzhang.com/archives/521 1. 前言 单例(Singleton) 应该是开发者们最熟悉的设计模式了,并且好像也是最容易实现的——...

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

Java

java高并发核心要点|系列1|开篇

3

尖兵 发布于 2019-11-23

在java高并发编程,有几个很重要的内容: 1.CAS算法 2.CPU重排序 3.缓存行伪共享 我们先来说说高并发世界中的主要关键问题是什么? 是数据共享。 因为多线程之间要共享数据,就会遇到各种问题。如下图: 544318-20190613100825667-513471578...

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

Java

Java基础篇之Java虚拟机(二)—-Java内存模型与线程; 线程安全与锁优化;

3

yanxinchi 发布于 2019-11-22

​ 内容要点: Java内存模型与线程; 线程安全与锁优化; Java内存模型与JVM内存结构迷惑的的可以看下这个: Java基础篇之Java虚拟机(一) 主内存与工作内存 Java内存模型规定了所有的变量都存储在主内存(Main Memory)中。每条线程还有自己的工作内存,线...

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