1.什么是jvm?(1)jvm是一种用于计算设备的规范,它是一个虚构出来的机器,是通过在实际的计算机上仿真模拟各种功能实现的。(2)jvm包含一套字节码指令集,一组寄存器,一个栈,一个垃圾回收堆和一个存储方法域。(3)JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上 ...
分类:
其他好文 时间:
2017-09-20 19:25:22
阅读次数:
192
昨天看了一篇关于《Java后端程序员1年工作经验总结》的文章,其中有一段关于String和StringBuffer的描述,对于执行结果仍然把握不准,趁此机会也总结了下JVM内存模型。 1、JVM运行时数据区域 关于JVM内存模型之前也了解过一些,也是看过就忘,好记性比如烂笔头,记下来吧。参考此文章h ...
分类:
其他好文 时间:
2017-09-16 20:50:23
阅读次数:
281
今天周六,又开始啃一遍《深入理解java虚拟机》每次读的感觉不一样,大学代码量较少,读起来也就死记硬背。 1.堆:长度可变,运行时使用的变量;存放对象(new )和数组之类; 2.栈:长度可变,在分配内存之前,固定了其大小,分配之后大小不可变。存放基本数据类型和对象引用 3.堆栈:JVM的调用链 J ...
分类:
其他好文 时间:
2017-09-16 19:07:50
阅读次数:
293
转自:http://blog.csdn.net/lifuxiangcaohui/article/details/37992725 最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一记录。 一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New( ...
分类:
其他好文 时间:
2017-09-09 16:30:01
阅读次数:
224
覆盖和重载 正则源码 hashmap源码 hashmap与hashtable区别 threadlocal源码 concurrenthashmap源码 序列化 反序列化需要默认构造函数? jvm垃圾回收 jvm引用类型及区别 jvm内存模型 线程 工作内存 主内存 http://www.jianshu ...
分类:
其他好文 时间:
2017-09-03 17:08:47
阅读次数:
157
JVM性能调优: JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配, ...
分类:
其他好文 时间:
2017-09-02 12:55:53
阅读次数:
184
Java虚拟机(Java VirtualMachine 简称JVM)是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一。 JVM内存模型 1.方法区和堆是所有线程共享的数据区 1)堆:存放对象的实例 2)方法区:存放已被虚拟机加载的类信息、常量、静态变量 ...
分类:
其他好文 时间:
2017-08-25 18:52:45
阅读次数:
114
前提JVM运行时数据区和JVM内存模型是两回事,JVM内存模型指的是JVM堆内存模型。那JVM运行时数据区又是什么?它包括:程序计数器、虚拟机栈、本地方法栈、方法区、堆。来看看它们都是干嘛的程序计数器:保存当前线程执行的指令的地址(大意如此)。虚拟机栈:由栈帧组成,而每个栈帧又包括局部变量表、操作数... ...
分类:
其他好文 时间:
2017-08-24 22:37:38
阅读次数:
169
一、前言 volatile的关键词的使用在JVM内存模型中已是老生常谈了,这篇文章主要结合自己对可见性的一些认识和一些直观的例子来谈谈volatile。文章正文大致分为三部分,首先会介绍一下happen-before,接着讲解volatile的一些使用场景,最后会附上一些例子来论证使用与不使用vol ...
分类:
其他好文 时间:
2017-08-24 01:04:01
阅读次数:
152
运行时数据区(runtime data area) jvm定义了几个运行时数据区,这些运行时数据区存储的数据,供开发者的应用或者jvm本身使用。按线程共享与否可以分为线程间共享和线程间独立。 线程间独立的运行时数据区 线程间独立的区域随线程的创建而创建,随线程销毁而销毁。线程独立的区域内存储的数据只 ...
分类:
其他好文 时间:
2017-08-08 22:52:14
阅读次数:
168