关闭

JAVA 对象内存管理

标签: Java内存管理对象new
1257人阅读 评论(0) 收藏 举报
分类:
在JAVA中,JVM会将申请的内存从逻辑上划分为三个区域:堆、栈、方法区。这三个区域分别用于存储不同的数据。

JVM在其内存空间开辟了一个称为“堆”的存储空间,这部分空间用于存储使用new关键字所创建的对象。代码如下:
Cell   c  = new  Cell ();

栈中的对象有引用则代表不是垃圾

当声明好对象之后,对该对象(堆中的Cell)的访问需要依靠引用变量(栈中的c),那么当一个对象没有任何引用时,该对象被视为废弃的对象,属于被回收的范围,同时该对象中的所有成员变量也随之被回收。

如下的代码,演示了对象不再被引用:

Cell   c  =  new  Cell();
c = null

堆中的对象不再有引用则视为垃圾

每次new一个新的对象都会生成一个新的对象存入堆中,方法区只有一个,无论new多少个新的对象,方法区都不会改变。方法区读取该类的.class文件中的方法后就不会再改变。

每次new 都会生成一个新的对象放入堆中

调用方法区中的方法,栈会自动产生一个栈桢去指向这个方法,用完后栈桢自动消失

调用方法栈中会自动产生一个栈桢去指向这个方法

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Java对象及内存管理

在同一个JVM内,每个类只对应一个Class对象,但每个类可以创建多个Java对象。      类中变量分为:实例变量和类变量。    类变量在分配内存时会在使用类时就开始分配内存,一个类的类变量只...
  • wangjinyang_123
  • wangjinyang_123
  • 2015-06-08 09:36
  • 301

Java对象及其内存管理

一 实例变量和类变量   Java中的变量大体可分为成员变量和局部变量。其中局部变量可分为如下三类:     形参;     方法内的局部变量;     代码块内的局部...
  • u011946255
  • u011946255
  • 2015-03-26 20:40
  • 309

对象内存管理

标签: OCiosios学习黑马面向对象 2015-12-22 02:46 481人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载。 ...
  • zxl2016
  • zxl2016
  • 2016-09-19 02:56
  • 416

java对象内存管理的简单认识!

java里面有句名言:Everything is object!但是java还算不上是纯面向对象的语言。它的数据类型包括基本数据类型(byte,short,int,char,long ,float,d...
  • superxiaolong123
  • superxiaolong123
  • 2017-03-22 20:36
  • 180

C/C++内存管理与Java内存的各种分配

最近在看一些面试题,于是就查找了java与C/C++在内存上的差异 Java的内存管理实质上就是JVM的内存管理   JVM的内存分为两部分:stack和heap   Stack...
  • Losteng
  • Losteng
  • 2016-03-10 23:03
  • 1201

Java性能优化(5):消除过期的对象引用

当你从一种手工管理内存的语言(比如C/C++)转换到一种具有垃圾回收功能的语言的时候,作为一个苦逼的程序猿,工作这时候变得更加容易。因为当你用完了对象后,它们会自动被回收(现实中的对象可不能这样啊(ฅ...
  • pangjiuzala
  • pangjiuzala
  • 2015-08-20 15:52
  • 1623

java对象在内存中的分配

ava中内存主要包含4块,即heap(堆内存)、stack(栈内存)、data segment(静态变量或是常量存放区)、codesegment(方法区).  堆内存中存放的是new出的对象,new...
  • qq_30753945
  • qq_30753945
  • 2017-02-10 22:45
  • 2411

内存管理的基本概念及范围

为什么要内存管理 因为内存有限,要确保应用流畅的运行需要提供合理的空间并且要合理的释放空间 一个app应用当内存达到  20M  系统会向该app发送警告  45M  系统会再次向该app发送...
  • q1989424
  • q1989424
  • 2015-11-08 21:23
  • 510

Java内存管理

Java程序实际上是把内存控制的权力交给了Java虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那排查错误将会成为一项异常艰难的工作。而且了解了Java的内存管理,有助于...
  • wdong_love_cl
  • wdong_love_cl
  • 2016-06-06 20:28
  • 2621

JAVA面向对象与内存分析

从代码加载,及内存分析
  • lidaasky
  • lidaasky
  • 2014-06-06 11:47
  • 1892
    个人资料
    • 访问:129681次
    • 积分:1533
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:2篇
    • 译文:0篇
    • 评论:16条
    文章分类
    最新评论