本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- arpenker
- tanling8334
- gaojingsong
- kaizi1992
- xpenxpen
- 龙儿筝
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- siemens800
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
最新文章列表
volatile的使用
本文主要介绍volatile关键字的用法
一、cpu缓存模型
计算机的存储设备与处理器的运算速度有量级的差异,因此添加一个硬件设备,使其读写速度尽可能接近cpu的处理速度,该设备就是高速缓存。
高速缓存的存储交互解决了处理器与内存之间速度的矛盾,但也引入了一个新问题,缓存一致性问题(下文讲解)。
高速缓存:内存与处理器之间的桥梁。将运算需要使用的数据复制到缓存中, ...
堆内存快照( Java Heap Dump )
有以下方法l触发 Heap Dump。
· 使用$JAVA_HOME/bin/jmap -dump 命令来触发, JMap 是 JDK 自带的一个调试程序, 例如 jmap -dump :format=b,fi le=/home/longhao/heamdump.out;。
· 使用$JAVA_HOME/bi叫cosole 这个 JDK 自动调试工具的 MBean 子功能, 通过选择 ...
Java多线程高并发基础篇(六)-JMM重排序规则
我们知道,重排序的目的是在不改变程序执行结果的前提下,提高编译器和处理器对程序的执行性能。但是,重排序不是任意的,所谓无规矩不成方圆。理解重排序就需要知道重排序必须遵守的规则,总结起来就是我们今天要说的Happens-Before规则。在JSR-133: JavaTM Memory Model and Thread Specification中有相关描述,原版英文请见pdf文件,下载了一份供大家 ...
Java多线程高并发基础篇(五)-Java内存模型(JMM)
在虚拟机的规范中,定义了Java的内存模型(JMM),来屏蔽各种硬件和操作系统内存访问的差异。在JDK1.5(实现了JSR-133)发布后,Java内存模型就逐渐的完善起来了。
一. 并发编程要解决的关键问题
我们知道,JMM是围绕着并发过程中如何处理原子性,可见性,有序性这3个特征建立的。
1.原子性:有关原子性的内容请参考http://zhaodengfeng1989.iteye ...
Java多线程高并发进阶篇(一)-volatile实现原理剖析
我们知道,在JVM的类加载机制中,是将外围的源码文件编译成字节码文件(.class)后加载到JVM中,然后Java通过执行引擎执行字节码,最终转化为汇编指令由CPU执行.我们说的并发编程机制,当然离不开JVM的实现和CPU的指令集.
了解JMM(Java Memory Model,Java内存模型)都知道,JMM是围绕着原子性,有序性,可见性展开的.后面我会专门写一篇,阐述Java内存模型以及 ...
Java内存模型-JMM 和 jvm优化
一、Java内存模型简介
Java内存模型是Java里面高级技术也是很难理解的部分,希望能通过这篇文章让大家对JMM不在那么陌生,当很了解Java内存模型后Java多线程也就就会变得容易许多。
二、堆、栈和方法区存储了些什么
堆区:
1、存储的全部都是对象,每个对象包含一个与之对应的class的信息。
2、jvm只有一个堆区被所有的线程共享,堆中不存放基本类型和对象的引用
栈区 ...
JAVA并发-DCL与JMM
首先必须声明,在volatile出现之前,错误的DCL代码如下。在volatile出现之后,正确的DCL代码如下。代码如下:
//错误的代码
public class Singleton {
private stat ...
BigMemroy系列文章--11. BigMemory中的SizeOf问题
转载请注明出处哈:http://carlosfu.iteye.com/blog/2237511
感谢博主:hot66hot.iteye.com/
一:BigMemory如何使用DirectMemory内存
以下是bigMemory启动时打印的DirectMemory分区概述:
Maximum Size (specified) : 32MBMinimum Chunk ...
Java 内存模型 JMM
原文地址:http://coderbee.net/index.php/concurrent/20131219/650
JMM,Java Memory Model,Java 内存模型。
什么是内存模型,要他何用?
假定一个线程为变量var ...
JMM
Java的内存模型JMM(Java Memory Model)JMM 主要是为了规定了线程和内存之间的一些关系。根据JMM的设计,系统存在一个主内存(Main Memory),Java中所有实例变量都储存在主存中,对于所有线程都是共享的。每条线程都有自己的工作内存(Working Memory),工作内存由缓存和堆栈两部分组成,缓存中保存的是主存中变量的拷贝,缓存可能并不总和主存同步,也就是缓存 ...