`
xubindehao
  • 浏览: 239124 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JAVA内存模型和多线程

阅读更多

先了解一下java内存模型

IBM:http://www.ibm.com/developerworks/cn/java/j-jtp03304/

http://www.ibm.com/developerworks/cn/java/j-jtp02244/

百度文库:

http://wenku.baidu.com/view/bc890df5f61fb7360b4c654b.html

 

对JMM的理解

 

volatile和synchronized的区别:


1.volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取;synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。
2.volatile仅能使用在变量级别;synchronized则可以使用在变量、方法、和类级别的
3.volatile仅能实现变量的修改可见性,并能保证原子性;而synchronized则可以保证变量的修改可见性和原子性
4.volatile不会造成线程的阻塞;synchronized可能会造成线程的阻塞。
5.volatile标记的变量不会被编译器优化;synchronized标记的变量可以被编译器优化

 

 

进程间通讯

Socket/RMI/WEBService/WebServer,   这些都可以实现直接的数据交换
Database/File,   这些可以实现间接的数据交换

看你的业务是否要求实时,   如果不需要,   用数据库交换比较简单

分享到:
评论

相关推荐

    Java内存模型和线程安全

    Java内存模型和线程安全,多线程开发,高并发处理,内存模型分析

    java内存模型和一些多线程的资料

    NULL 博文链接:https://zdsyouxiang.iteye.com/blog/939284

    java内存模型(有助理解多线程)

    java内存模型,对初学者比较实用,理解后有助于多线程编程等

    并发编程基础知识,java内存模型及多线程、volatile

    Java内存模型,即:JMM。当程序执⾏并⾏操作时,如果对数据的访问和操作不加以控制,那么必 然会对程序的正确性造成破坏。因此,我们需要在深⼊了解并⾏机制的前提下,再定义⼀种规则, 来保证多个线程间可以有效地...

    深入理解Java内存模型.程晓明(带书签文字版).pdf

    Java 内存模型的抽象 4 重排序 6 处理器重排序与内存屏障指令 7 happens-before 10 重排序 13 数据依赖性 13 as-if-serial 语义 13 程序顺序规则 15 重排序对多线程的影响 15 顺序一致性 19 数据竞争与顺序...

    深入理解java内存模型

    Java内存模型的抽象 重排序 处理器重排序与内存屏障指令 happens-before 重排序 数据依赖性 as-if-serial 语义 程序顺序规则 重排序对多线程的影响 顺序一致性 数据竞争与顺序一致性保证 顺序一致性内存模型 同步...

    java多线程详解,线程池原理,8种锁,java内存模型......

    首先希望大家喜欢我制作的文档,如果文档中有什么误解的地方,望告诉一下,5分是也不多,是系统默认的,那么就5分咯,java多线程详解,线程池原理,8种锁,java内存模型......

    27道顶尖的Java多线程、锁、内存模型面试题!.pdf

    27道顶尖的Java多线程、锁、内存模型面试题!.pdf

    深入理解Java内存模型

    java 内存 多线程 并发 锁。深入理解Java的内存模型,线程的同步,可以编写高效的多线程代码!

    一篇文章弄懂Java多线程基础和Java内存模型

    文章目录一、多线程的生命周期及五种基本状态二、Java多...本篇文章将分为两部分第一部分是讲解多线程基础、第二部分讲解Java内存模型。 一、多线程的生命周期及五种基本状态 Java多线程生命周期,首先看下面这张经典

    java内存模型介绍

    从JVM的角度介绍java的内存模型,包含多线程的内存分配情况

    【多线程与高并发原理篇:3_java内存模型】.doc

    【多线程与高并发原理篇:3_java内存模型】.doc

    java内存模型jmm

    java内存模型jmm

    Java线程安全问题_动力节点Java学院整理

    不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的。...JVM定义了自己的内存模型,屏蔽了底层平台内存管理细节,对于java开发人员,要清楚在jvm内存模型的基础上,如果解决多线程的可见性和有序性。

    Java理论与实践:修复Java内存模型1

    关于同步和线程安全的许多底层混淆是Java内存模型的一些难以直觉到的细微差别。本文还介绍了JMM有一些严重的缺点,如果正确地编写并发的类太困难的话,那么许多并发的类不能按预期工作,并且这是平台中的一个缺点。...

    java会话管理、多线程.docx

    java多线程的创建,主流的几种创建方式都有详细的讲解。线程的交互以及线程的同步锁的问题都有具体的实例。java的内存模型,java会话都有讲解,如果是刚接触java多线程,可以下载来看看

    java并发之内存模型.docx

    Java的并发采用的是共享内存模型,Java线程之间的通信总是隐式进行,整个通信过程对程序员完全透明。如果编写多线程程序的Java程序员不理解隐式进行的线程之间通信的工作机制,很可能会遇到各种奇怪的内存可见性问题...

    java多线程设计模式详解(PDF及源码)

    去睡觉吧 第11章 Thread-Specific Storage——每个线程的保管箱 第12章 Active Object——接受异步消息的主动对象 总结 多线程程序设计的模式语言 附录A 练习问题的解答 附录B Java的内存模型 附录C Java线程的...

    Java线程/内存模型的缺陷和增强

     一、Java内存模型 在了解Java的同步秘密之前,先来看看JMM(JavaMemoryModel)。 Java被设计为跨平台的语言,在内存管理上,显然也要有一个统一的模型。而且Java语言最大的特点就是废除了指针,把

Global site tag (gtag.js) - Google Analytics