zoukankan      html  css  js  c++  java
  • Java内存空间的划分

    堆内存:new创建的对象和数组(成员变量存放在堆内存中),由Java虚拟机的自动垃圾回收器来管理

    栈内存:基本类型的变量数据和对象的引用变量都在函数的栈内存中分配(局部变量存放在栈内存中),当该变量退出该作用域后,Java会自动释放掉为该变量所分配的内存空间

    常量池:final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。

    (1)java中基本类型的包装类的大部分都实现了常量池技术,即Byte,Short,Integer,Long,Character,Boolean这6种包装类默认创建了数值[-128,127]的相应类型的缓存数据,如果超出则存入堆内存不存入常量池中

    (2)两种浮点数类型的包装类Float,Double并没有实现常量池技术。

    实际上,栈中的变量指向堆内存中的变量(栈中的变量引用了堆中的变量),这就是Java中的指针!

    一个程序中的内存调用图:

  • 相关阅读:
    mysql插入中文数据变成问号怎么处理
    项目第二阶段
    项目第一阶段
    项目测试
    常用mysql操作
    常用的mysql操作
    mysql操作
    土地档案管理系统需求分析
    土地档案管理系统架构图,ER图,用例图
    Load data local infile
  • 原文地址:https://www.cnblogs.com/ztz-99a/p/9189047.html
Copyright © 2011-2022 走看看