zoukankan      html  css  js  c++  java
  • 面向对象内存分析

    Java虚拟机的内存可以分为三个区域:栈(stack)、堆(heap)、方法区(method area)

    方法区也在堆里面。

    栈的特点:

      1.栈描述的是方法执行的内存模型。每个方法被焦勇都会创建一个栈帧(存储局部变量、操作数、方法出口等)

      2.JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量等)

      3.栈线程私有,不能实现线程间的共享

      4.栈的存储特征是“先进后出,后进先出”

      5.栈是由系统自动分配,速度快!栈是一个连续的内存空间

    堆的特点:

      1.堆用于存储创建好的对象和数组(数组也是对象)

      2.JVM(java虚拟机)只有一个堆,被所有线程共享

      3.堆是一个不连续的内存空间,分配灵活,速度慢

    方法区(静态区)的特点:

      1.JVM只有一个方法区,被所有线程共享

      2.方法区实际也是堆,只是用于存储类、常量相关的信息

      3.用来存放程序中永远是不变或者唯一的内容(类信息【class对象】、静态变量、字符串常量等)

    程序内存分析

          

  • 相关阅读:
    BZOJ3509: [CodeChef] COUNTARI
    BZOJ3790: 神奇项链
    BZOJ3527: [Zjoi2014]力
    BZOJ2194: 快速傅立叶之二
    解题:BJOI 2006 狼抓兔子
    解题:SDOI 2017 数字表格
    解题:TJOI 2015 弦论
    解题:NOI 2016 优秀的拆分
    解题:AHOI2017/HNOI2017 礼物
    解题:洛谷2093 JZPFAR
  • 原文地址:https://www.cnblogs.com/fax1996/p/9305766.html
Copyright © 2011-2022 走看看