标签:内存模型

Java

java内存模型(JMM)和happens-before

1

xirruiqiang 发布于 2020-03-29

java内存模型(JMM)和happens-before 我们知道java程序是运行在JVM中的,而JVM就是构建在内存上的虚拟机,那么内存模型JMM是做什么用的呢? 我们考虑一个简单的赋值问题: int a=100; JMM考虑的就是什么情况下读取变量a的线程可以看到值为100...

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

Java

三、聊聊并发 — 为什么Java并发编程必须了解Java内存模型

4

xirruiqiang 发布于 2020-03-29

前面我们说了在并发编程中引起线程不安全的原因,主要因为共享变量的可见性、重排序、原子性,也稍微的提了一下内存模型,那什么是内存模型呢?为什么必须要了解Java内存模型呢?那我们这篇文章就来聊一聊Java内存模型 什么是Java内存模型 Java 内存模型的主要目标是定义程序中各个...

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

Java

二本本科无实习上岸滴滴京东58科大讯飞复盘

4

刘莉莉 发布于 2020-03-29

因为内容过多,分为上、中、下 本篇内容:8000+ 字 建议阅读时间:20 分钟,如果有收获,建议收藏多次阅读 上篇目录 秋招之路复盘篇     楼 主的自我介绍:     我自己复习范围: (关注公...

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

Java

有的程序员30多岁了,还要通过投简历找工作,你怎么看?

3

xubiao.zhuang 发布于 2020-03-27

一个朋友是前阿里人,37岁,离职后就职美团。以前投一个面一个, 今年想跳槽, 但没想到投十个能有两个面试机会就不错了,最后索性又回了阿里做架构。 他在面试的时候,碰见比自己大的面试官,态度和善,一般面试都能过。而如果碰到比自己小很多的面试官,能给你从天上问到地下,好像在说,就这?...

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

Java

volatile原理

2

zhuangli 发布于 2020-03-26

volatile volatile 只能保证对单次读/写的原子性。i++ 这种符合操作操作不能保证原子性。 禁止指令重排 可见性 volatile读的内存语义 当读一个volatile变量时,JMM会把该线程对应的本地内存置为无效。线程接下来将从主内存中读取共享变量(注意不仅仅是...

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

Java

Java 基础 – 数组

5

wenming.gapo 发布于 2020-03-25

目录 数组是编程语言中最常见的一种数据结构,可以用于储存多个数据,通常可通过数组元素的索引来访问数组元素,包括数组元素赋值和取出数组元素的值. 初识数组 数组也是一种类型,属于引用数据类型. 数组元素的类型是唯一的,一个数组里只能存储一种类型的数据. 数组的长度是固定的,即一个数...

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

Java

笔记 | JVM内存区域结构:一计两栈一堆一区

2

xirruiqiang 发布于 2020-03-25

程序计数器 一块较小的内存空间。 当前线程所执行的字节码的行号指示器。 虚拟机栈 描述的是Java方法执行的线程内存模型:每个方法被执行的时候,Java虚拟机都会同步创建一个栈(StackFrame)用于存储局部变量表、操作数栈、 动态连接、方法出口等信息。每一个方法被调用直至执...

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

Java

Java 后端 100多道面试题,多看点题,没坏处!

1

songhua.gao 发布于 2020-03-25

下面列出这份 Java 面试问题列表包含的主题 多线程,并发及线程基础 数据类型转换的基本原则 垃圾回收(GC) Java 集合框架 数组 字符串 GOF 设计模式 SOLID 抽象类与接口 Java 基础,如 equals 和 hashcode 泛型与枚举 Java IO 与 ...

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

Java

面试必问的 volatile,你真的会了吗

4

xiaoli.wang 发布于 2020-03-25

谈谈你对 volatile 的理解? 你知道 volatile 底层的实现机制吗? volatile 变量和 atomic 变量有什么不同? volatile 的使用场景,你能举两个例子吗? 文章收录在 GitHub JavaKeeper ,包含 N 线互联网开发必备技能兵器谱 ...

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

Java

活久见!技术面试官竟然给我出了一个脑筋急转弯,还问我王者荣耀什么段位?

12

xubiao.zhuang 发布于 2020-03-25

作者 l Hollis 来源 l Hollis(ID:hollischuang) 我叫小志,是一个毕业3年的Java后端开发,在一家传统银行的研发中心负责主要的研发岗位。 虽然这份工作并不是很忙,给我的薪水也算不错,但是用到的技术都是比较落后的,而且银行都比较保守,所以迭代速度也...

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

Java

one-photo-into-jvm

4

darida 发布于 2020-03-24

进入公司不久,一同事问我,你知道怎么查看JVM的内存溢出吗?当时我就蒙了,怎么查看呢?笔者之前一直使用的是 JProfiler 去找的,但是真要说,笔者真说不出来。说起内存溢出,笔者发现笔者似乎对JVM都不太了解。之前虽然有写《从HelloWorld看Class Loader》 ...

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

Java

从一个小例子引发的Java内存可见性的简单思考和猜想以及DCL单例模式中的volatile的核心作用

1

zhuangli 发布于 2020-03-24

环境 OS Win10 CPU 4核8线程 IDE IntelliJ IDEA 2019.3 JDK 1.8 -server模式 场景 最初的代码 一个线程A根据flag的值执行死循环,另一个线程B只执行一行代码,修改flag的值,让A线程死循环终止。 Visbility.jav...

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

Java

[万字长文,建议收藏]关于Synchronized锁升级,你该了解这些

27

Harries 发布于 2020-03-23

前言 毫无疑问,synchronized是我们用过的第一个并发关键字,很多博文都在讲解这个技术。不过大多数讲解还停留在对synchronized的使用层面,其底层的很多原理和优化,很多人可能并不知晓。 因此本文将通过对synchronized的大量C源码分析 ,让大家对他的了解更...

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

Java

一篇文章看懂java并发编程

14

hanze 发布于 2020-03-22

Hi,朋友们,大家好久不见。这两个月来发生了很多的事情,疫情爆发,不知道有多少的家庭深受其害,濒临破碎,也不知道有多少中小企业面临着复工难,无力发放工资的困局。在此国难之际,我们更应该信任我们的国家,积极配合工作,祈祷疫情早日结束,人民生活早日回归正轨。武汉加油,中国加油! 不过...

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

Java

Java 数组、多维数组,动态、静态初始化,数组JVM内存模型分析

18

xiaoli.he 发布于 2020-03-22

] 什么是数组 所谓 数组 ,是具有相同数据类型的若干变量或者数据按照一定排序规则组合起来的一种数据存储格式。数组中的数据称为数组元素,我们使用索引来标识数组元素在数组中的存储位置,索引从0开始,步长是1,其后的索引依次递增: ​ 其中,数据类型包括以下两种: 基本数据类 : b...

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

Java

一个困扰我122天的技术问题,我好像知道答案了。

55

yanxinchi 发布于 2020-03-22

该指令持续输出原创文章,点击蓝字关注我吧 这是why技术的第 39  篇原创文章 荒腔走板聊生活 首先,还是我们的荒腔走板环节。 上面这张图是我 2017 年 12 月 9 日在北京西山国家森林公园拍的。 拍照的地方有个很有意思的名字:鬼笑石。 我在北京待了三年,这个地...

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

Java

JVM实战笔记

dulong 发布于 2020-03-21

1. 可达性分析法中的GC Roots:方法的局部变量、类的静态变量。 2. 对象引用类型: (1)强引用(即最普通的对象引用)对象:在垃圾回收的时候是绝对不会被回收的; (2)软引用(SoftReference)对象:正常情况下垃圾回收是不会回收软引用对象的,但是如果进行垃圾回...

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

Java

【JAVA进阶架构师指南】之二:JVM篇

5

songhua.gao 发布于 2020-03-21

前言 谈到JAVA,就不得不提JVM—JAVA程序员绕不开的话题.也许有童鞋会说,我不懂JVM,但是我一样可以写出JAVA代码,我相信说这种话的童鞋,往往是只有1-3年的初级开发人员,对JAVA理解还不深,不明白JVM的重要性,那接下来我们来说说,为什么要学习JVM?...

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