什么是java内存模型?

谁能解释下,网上的资料有点混乱

4个回答

http://gee.cs.oswego.edu/dl/jmm/cookbook.html 看看ddouglas lea这位大神的cookbook,不过是英文的哦

买《Java并发编程实战 》看看

madofu
shannon2019 有这本书,我也看了那一章。那里面说的也不是太清楚,说了啥变量的可见性,又啥定义了动作的偏序关系
大约 7 年之前 回复

把jsr133读完你就知道了

Java内存模型-jsr133规范介绍
不错,可以看看

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
什么是Java内存模型?
文章目录前言CPU工作过程及出现的问题CPU执行过程缓存一致性问题处理器重排序问题什么是计算机内存模型什么是Java内存模型总结参考 前言 要想深入了解Java并发编程,就要先理解好Java内存模型,而要理解Java内存模型又不得不从硬件、计算机内存模型说起,本文从计算机内存模型产生的原因、解决的问题谈起,然后再对Java模型进行介绍,最后对计算机内存模型和Java内存模型进行总结,希望大家看完...
到底什么是JAVA内存模型
上一次去面试,问到一个问题:谈谈java内存模型;rn然后我就开始说java中内存由线程栈,堆...rn还没有等我说完面试官马上打断我:我不是要你将内存的组成,是让你说java内存模型。rn看来我理解的内存模型跟面试官想要的答案还不一样,查了很多资料都是一些描述性的讲解根本没有一个准确的定义,而且大多数的文章中也说的我的那个回答,真心没有搞懂到底我说的那个是不是内存模型。
java 内存模型 java 内存模型
java 内存模型 java 内存模型 java 内存模型 java 内存模型
Java内存模型能给我们什么
首先,为什么需要有内存模型? 因为我们的程序(不管是什么程序)在运行的时候,数据和代码都是放在内存中的,在一个程序的执行过程中,都需要读取和写入数据的。在java中,可以是对本地变量的读写、对对象后属性的读写、或者是对类变量的读写等等。这些读写操作都是需要与内存进行交互的(这一点是由计算机的体系结构决定的),那么在与内存进行交互的过程中,对一个语言来说,哪些交互是合法的?语言本身又对这些读写操作...
cpu 内存模型和java内存模型
java 锁 内存模型, 对于想了解cpu锁,内存模型的同学是很不错的资料
Java内存模型 && JVM 内存模型
Java 内存模型是通过各种操作来定义的,包括对变量的读/写操作,监视器的加锁喝释放操作,以及线程的启动和合并操作。JMM为程序中的所有操作定义了一个偏序关系,称之为Happens-Before。 线程内的代码能够按先后顺序执行,这被称为程序次序规则。 对于同一个锁,一个解锁操作一定要发生在时间上后发生的另一个锁定操作之前,也叫做管程锁定规则。 前一个对volatile的写操作在后一个volat...
什么是java内存模型(Java Memory Model,JMM)
之前在看关于java内存模型的相关博客时,感觉有些云里雾里,看完之后,一直无法给java内存模型下一个定义。导致一直对这个概念有些模糊,理解其相关内容也不太容易。 然后,我从网上搜罗了各种关于,java内存模型的概念,这里做一个总结,希望对正在学习的人一个参考。 首先看一下,维基百科给的描述: 上面说: java内存模型描述了java编程语言中的线程是如何通过内存进行交互的。 还有说:Java...
chapter16_Java内存模型_1_什么是内存模型及为什么需要它
底层中出现一些的问题 (1) 编译器中生成的指令顺序, 未必与源代码中的顺序相同 (2) 编译器会把变量保存在寄存器而非内存中 (3) 处理器可以乱序或并行执行指令 (4) 缓存可能会改变将写入变量提交到主内存的次序 (5) 保存在处理器本地缓存中的值, 对于其他处理器是不可见的 JVM保证的__偏序关系__ (1) 程序顺序规则 如果程序中操作A在操作B之前, 那么当前线程中A操作将在B...
Java内存模型
并发编程中,共享内存模型是线程之间通信机制之一,线程之间通过读写内存进行隐式通信。Java内存模型就是一种典型的共享内存模型,多线程程序的内部通信过程对编程人员来说是完全透明的,容易遇到奇怪的内存可见性问题。Java内存模型中的happens-before规则给编程人员提供了很强的内存可见性保证,使程序天然具有序性。本文将对比顺序一致性内存模型,happens-before内存模型与Java内存模型来介绍Java多线程的通信机制。
java内存模型
懂的其中价值的人来,java内存整理。u can touch with me to the email: 13760613402@163.com
JAVA内存模型
[quote] http://blog.chinaunix.net/u3/96294/showart_2276175.html http://blog.csdn.net/winniepu/archive/2009/11/18/4829087.aspx [/quote] [code="java"] 软引用 特点:只有当内存不够的时候才回收这类内存,同时又保证在Java抛出OutOfM...
java 内存模型
图后续补 计数器:指令技术器,主要用于记录指令的行号。作用就是用于循环,跳转,进入分支代码等都要依赖这个计数器来实现。这块区域是唯一不会发生内存溢出都区域。每个线程都有单独的指令计数器。 虚拟机栈:每个线程都有自己的虚拟机栈,虚拟机栈是有栈帧构成的,每个栈帧包含着临时变量表、动态链接、计数器,方法出口。临时变量表里面存放着数据类型,包括值类型和引用类型。这个区域容易出现stackoverflo...
JAVA 内存模型
简介 内存模型描述了程序中各个变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存中取出变量这样的底层细节,对象最终是存储在内存里面的,这点没有错,但是编译器、运行库、处理器或者系统缓存可以有特权在变量指定内存位置存储或者取出变量的值。【JMM】(Java Memory Model的缩写)允许编译器和缓存以数据在处理器特定的缓存(或寄存器)和主存之间移动的次...
Java 内存模型
NULL 博文链接:https://wangwengcn.iteye.com/blog/1600469
[java]-[内存模型]
一种语言的内存模型决定了该语言的运行机制,运行效率以及各种高级特性的性能(比如多线程并发)。因此要想编写出高效率的程度,达到对某种语言的精通,必须对该语言的内存模型有比较深入的认识。
Java的内存模型
Java内存结构见java运行原理 不要把概念弄混淆了。 内存模型实际上是描述程序的可能行为。 从java代码到class编译的过程当中,编译器会进行优化,指令重排,编译器将不会对存在数据依赖性的程序指令进行重排,这里的依赖性仅仅指单线程情况下的数据依赖性;多线程并发情况下,此规则将失效。 Java编程语言内存模型是java 虚拟机的规范,至于具体怎么实现可以任意,包括操作的重新排序和删除不必要...
Java之内存模型
深入理解Java内存模型之系列篇 这篇文章还是不错,推荐看下,后续看到好文章再来添加吧。参考: 1.http://www.iteye.com/topic/634530 2.http://blog.csdn.net/suifeng3051/article/details/52611310 3.http://blog.csdn.net/ithomer/article/details/625255
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数