Java8内存模型—永久代(PermGen)和元空间(Metaspace) 一、JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创 ...
分类:
编程语言 时间:
2020-01-16 10:56:22
阅读次数:
79
内存模型 深度好文推荐: 深入理解Java内存模型 1.理解概念 1.1 内存模型概念: 百度百科概念:内存模型描述了程序中各个变量(实例域、静态域和数组元素)之间的关系,和实际计算机系统中将变量存储到内存和从内存中取出变量的底层细节。 java内存模型主要目标是定义程序中的变量,(此处所指的变量是 ...
分类:
其他好文 时间:
2020-01-15 21:32:26
阅读次数:
88
一、Guava介绍 Guava是Google guava中的一个内存缓存模块,用于将数据缓存到JVM内存中。实际项目开发中经常将一些公共或者常用的数据缓存起来方便快速访问。 Guava Cache是单个应用运行时的本地缓存。它不把数据存放到文件或外部服务器。如果不符合需求,可以选择Memcached ...
分类:
编程语言 时间:
2020-01-14 13:24:40
阅读次数:
91
1. a=a+b 和 a+=b的区别 +=会有隐式的强制转换,编译不会报错 但a=a+b,如果两个byte相加,会将加数提升到int,编译会报错 2. String不可变(immutable)的原因 a. JVM内存中的常量池:保存在编译期间被确定并且在.class文件中(磁盘文件)的数据,包含8种 ...
分类:
编程语言 时间:
2020-01-12 19:59:18
阅读次数:
82
JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) ) 堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身 栈区: 1. ...
分类:
其他好文 时间:
2020-01-11 13:23:22
阅读次数:
55
1.JVM内存模型 说起JVM内存模型,都是知道是Java方法区、Java栈、Native方法区、Java堆和程序计数器五部分,不过具体是做什么的,又有什么关系可能大家就不太清楚了,所以话不多说,直接上干货。 首先是JVM内存规范。 编译器和类加载在上篇博客已经讲了,不了解的可去看一下。现在主要就是 ...
分类:
其他好文 时间:
2020-01-11 13:20:42
阅读次数:
75
JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) ) 1.堆:存储对象(实例),被所有线程共享 2.栈:存储对象引用和基本数据类型,每个线程都有一个线程栈 3.方法区:也叫静态区,存储class信息和static变量,被所有线程共享 public class Test { ...
分类:
其他好文 时间:
2020-01-11 11:50:54
阅读次数:
72
JVM中将内存分为若干部分:堆、方法区、虚拟机栈、本地方法栈、程序计数器程序计数器:该区域是内存中较小的一块区域 是当前线程在执行的字节码的行号指示器。程序计数器是线程私有的,每个线程都有一个程序计数器,线程之间的程序计数器相互独立,互不干扰。是java虚拟机规范中唯一一个没有规定任何OutOfMe ...
分类:
其他好文 时间:
2020-01-07 18:19:31
阅读次数:
92
JVM内存结构 Java内存模型是指Java虚拟机的内存模型,我们来看下Java内存模型的图片: VM内存模型主要分为三块:Java 堆内存(Heap)、方法区(Non-Heap)、JMV栈(JVM Stack)、本地方法栈(Native Method Stacks)、程序计数器(Program C ...
分类:
其他好文 时间:
2019-12-31 23:34:36
阅读次数:
102
Java虚拟机深入理解系列全部文章更新中...深入理解Java虚拟机-Java内存区域透彻分析深入理解Java虚拟机-常用vm参数分析深入理解Java虚拟机-JVM内存分配与回收策略原理,从此告别JVM内存分配文盲深入理解Java虚拟机-如何利用JDK自带的命令行工具监控上百万的高并发的虚拟机性能深入理解Java虚拟机-如何利用VisualVM对高并发项目进行性能分析深入理解Java虚拟机-你了解
分类:
编程语言 时间:
2019-12-31 00:54:06
阅读次数:
107