chenssy的文章

不想当厨师的程序员不是好的架构师....
Java Core

Java内存模型的一些知识

chenssy阅读(43)评论(0)赞(0)

内存模型:为了能够保证共享内存的原子性,可见性,有序性,内存模型定义了共享内存系统中多线程程序读写操作行为的规范。 原子性:指的是某个操作在CPU上执行时,CPU不可以中途暂停执行该操作然后去调度其它操作,这个操作要么全部执行完,要么不执行...

Java Core

【深入浅出JVM】——浅谈Java内存模型

chenssy阅读(43)评论(0)赞(0)

本文主要分析介绍Java虚拟机内存的各个区域,主要介绍这些区域的作用,而且会着重讲解了一下堆内存。 程序计数器 程序计数器是一块较小的内存空间,它可以看做当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一...

Java Core

Java虚拟机内存区域模型,读完便入门

chenssy阅读(41)评论(0)赞(0)

最近抽空看了一点《深入理解Java虚拟机》,本篇文章主要来总结一下Java虚拟机内存的各个区域,以及这些区域的作用、服务对象以及其中可能产生的问题,作为大家的面试宝典。 首先我们来看一下Java运行时的数据区域,Java虚拟机在执行Java...

Java Core

JVM java虚拟机内存模型

chenssy阅读(38)评论(0)赞(0)

一:Java技术体系模块图 二:JVM内存区域模型 1.方法区 也称”永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize ...

Java Core

java内存模型之二—重排序

chenssy阅读(37)评论(0)赞(0)

数据依赖性 如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性。数据依赖分下列三种类型: 名称 代码示例 说明 名称 代码示例 说明 写后读 a=1;b=a; 写一个变量之后,再读这个位置。 写后写...

Java Core

JAVA内存模型及结构

chenssy阅读(37)评论(0)赞(0)

原文链接译文链接 作者:Tai Truong 译者:Jaxon 所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢? Java内存模型 ...

Java Core

JMM-Java内存模型

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

JMM由来 Java语言规范规定了JVM要维护内部线程类似顺序化语言: 只要程序的最终结果等同于它在严格顺序化环境中执行的结果,允许编译器生成指令的次序跟源代码的次序不同,并且处理器可以乱序或者并行地执行指令,可以改变将处理器的高速缓存(寄...

Java Core

并发编程:Java内存模型JMM详解

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

1、并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 在...