JVM的内存管理主要分为两大块,每一块里面也会分为各自的部分

1. 线程共享区 - 这个等于所有线程,共享的一些内容

  • 程序计算器 - 这个就是程序运行时的一个代码读取器,用于管理和记录当前运行的代码 栈

    • Java虚拟机栈,方法执行的动态内存模型,每一个方法执行都会创建一个栈,用于记录局部变量表,操作数栈,动态链接,方法出口等,局部变量表在编译的过程中,已经分配好内存,在运行期间是不会改变局部变量的大小,一般如果遇到死循环,都会出现StackOverFlowError
    • 本地方法栈,与Java虚拟机栈差不多,区别是,Java虚拟机为JAVA 方法服务,而本地方法栈,就是提供native方法服务  

2. 线程独占区 - 这个等于线程内,自己独有的一些内容

  • 堆 - 存放实例对象,是垃圾回收最主要的区域 方法区 - 加载的类信息,常量,静态变量,即时编译器编译后的代码, 方法区里面有一个常量池

    • 运行时常量池 - "abc"这样的创建字符串就会存放在常量池当中,如果new String("abc")就会存放在堆中

转载于:https://www.cnblogs.com/oscar1987121/p/10926577.html

JVM - 内存管理相关推荐

  1. 详解JVM内存管理与垃圾回收机制2 - 何为垃圾

    随着编程语言的发展,GC的功能不断增强,性能也不断提高,作为语言背后的无名英雄,GC离我们的工作似乎越来越远.作为Java程序员,对这一点也许会有更深的体会,我们不需要了解太多与GC相关的知识,就能很 ...

  2. JVM内存管理:深入Java内存区域与OOM

    Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来. 概述: 对于从事C.C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝 ...

  3. JVM内存管理及GC机制

    转载自:http://blog.csdn.net/suifeng3051/article/details/48292193 一.概述 Java GC(Garbage Collection,垃圾收集,垃 ...

  4. 形式参数内存在哪java_深入浅出Java中JVM内存管理

    原标题:深入浅出Java中JVM内存管理 Java岗位面试,JVM是对程序员基本功考察,通常会问你对JVM了解吗?可以分几部分回答这个问题,首先JVM内存划分 | JVM垃圾回收的含义 | 有哪些GC ...

  5. 【JVM调优】JVM内存管理调优浅谈

    什么是JVM Java Virtual Machine,Java虚拟机 Java虚拟机有自己完善的硬件架构,如处理器.堆栈等,还具有相应的指令系统. Java虚拟机本质上就是一个程序,当它在命令行上启 ...

  6. JVM内存管理机制和垃圾回收机制

    JVM内存管理机制和垃圾回收机制 JVM结构 图片描述: java源码编译成class文件 class文件通过类加载器加载到内存 其中方法区存放的是运行时的常量.静态变量.类信息等,被所有线程共享 堆 ...

  7. JVM内存管理------JAVA语言的内存管理概述

    转载自  JVM内存管理------JAVA语言的内存管理概述 引言 内存管理一直是JAVA语言自豪与骄傲的资本,它让JAVA程序员基本上可以彻底忽略与内存管理相关的细节,只专注于业务逻辑.不过世界上 ...

  8. JVM内存管理------GC算法精解(五分钟教你终极算法---分代搜集算法)

    转载自   JVM内存管理------GC算法精解(五分钟教你终极算法---分代搜集算法) 引言 何为终极算法? 其实就是现在的JVM采用的算法,并非真正的终极.说不定若干年以后,还会有新的终极算法, ...

  9. JVM内存管理------GC算法精解(五分钟让你彻底明白标记/清除算法)

    转载自  JVM内存管理------GC算法精解(五分钟让你彻底明白标记/清除算法) 相信不少猿友看到标题就认为LZ是标题党了,不过既然您已经被LZ忽悠进来了,那就好好的享受一顿算法大餐吧.不过LZ丑 ...

  10. JVM内存管理------GC算法精解(复制算法与标记/整理算法)

    转载自  JVM内存管理------GC算法精解(复制算法与标记/整理算法) 本次LZ和各位分享GC最后两种算法,复制算法以及标记/整理算法.上一章在讲解标记/清除算法时已经提到过,这两种算法都是在此 ...

最新文章

  1. python os.path.exists()(用于判断文件夹路径是否存在)
  2. Linux SVN 命令详解
  3. Java super和this
  4. IOC 容器中那些鲜为人知的细节
  5. redis安装_Redis安装
  6. 302状态码_你见过 HTTP 哪些状态码?
  7. 如何在服务器上部署若依开源框架?(Linux版)
  8. APUE读书笔记-08进程控制(08)
  9. 学习使用DCMTK工具
  10. 【历史上的今天】2 月 22 日:Red Hat Enterprise Linux 问世;BASIC 语言作者出生;计算机协会创始人诞生
  11. 松翰单片机数码管c语言,松翰单片机定时中断数码管程序
  12. 数据结构几类排序的总结和完整代码 待续。。
  13. sourceinsight 的好处_代码阅读神器——Sourceinsight
  14. 中国通史—春秋战国的学术思想
  15. win10:Python3.7安装PyQt4
  16. 面试中一些较为复杂的常见的算法
  17. vm virtualbox识别U盘并挂载
  18. 消防栓系统市场现状及未来发展趋势
  19. CiteSpace分析文献(二)
  20. CSS 文本超出两行显示省略号

热门文章

  1. 用Microsoft Application Center Test测试Web应用程序性能
  2. php 两次post,ajax跨域往php程序post数据时,php程序总是执行两次的解决办法
  3. python在哪里写代码比较适合-适合练习的10个Python项目,每个项目都不到500行代码...
  4. python语言if语句-Python中if语句是怎么用的?本文详解
  5. python基本使用-python基本用法笔记合集
  6. python编程和c语言编程的区别-通过实例浅析Python对比C语言的编程思想差异
  7. php和python写爬虫-为什么选择用python做爬虫
  8. python代码大全表解释-【初学】Python异常代码含义对照表
  9. python培训班排行榜-西安Python培训班排行榜
  10. python类装饰器详解-Python类装饰器实现方法详解