(一)内存分配: 栈 数据结构 :用于保存局部变量值,包括: ① 基本数据类型; ② 引用数据类型; 需注意的是: 基本数据类型在栈中保存的就是该变量的实际值, 而引用数据类型保存的是它所指向在堆内存中保存值的首地址。 2. 堆:用来存放动态产生的数据 例:new出来的对象 ,堆只保存属性,不保存....
分类:
其他好文 时间:
2015-04-12 19:17:42
阅读次数:
115
0.参考资料:http://www.j2megame.org/index.php/content/view/2246/125.html1.Java的内存机制 Java 把内存划分成两种:一种是栈内存,另一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代...
分类:
编程语言 时间:
2015-04-12 01:21:48
阅读次数:
153
Java的内存分配A:栈 存储局部变量 B:堆 存储所有new出来的 C:方法区(面向对象部分详细讲解) D:本地方法区(系统相关) E:寄存器(CPU使用) 注意: a:局部变量 在方法定义中或者方法声明上定义的变量。 b:栈内存和堆内存的区别 栈:数据使用完毕,就消失...
分类:
编程语言 时间:
2015-04-10 22:23:31
阅读次数:
146
内存泄露Java和C++一个很大的区别就是Java有垃圾回收GC(Garbage Collection)自动管理内存的回收。但是我们在实际的项目中仍然会遇到内存泄露的问题。
Java中对内存对象得访问是通过引用的方式,通过一个内存对象的引用变量来访问到对应的内存地址中的对象。
GC会从代码栈的引用变量开始追踪,从而判断哪些内存是正在使用,如果无法跟踪到某一块堆内存,那么GC就认为这块内存不再使用...
分类:
其他好文 时间:
2015-04-10 15:34:21
阅读次数:
346
在运行java程序时,遇到问题"Could not create the Java Virtual Machine."如下截图:大概原因,就是java堆内存不足以运行JVM,需要增加内存。网上搜索此问题,大部分都是针对某个程序进行修改JVM内存的解决方法,比如eclipse,等。试问,若是其他程序出...
分类:
编程语言 时间:
2015-04-10 13:28:53
阅读次数:
273
一、成员变量和局部变量
1、区别
1)在类中的位置不同
成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上
2)在内存中的位置不同
成员变量:在堆内存 局部变量:在栈内存
3)生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
4)初始化...
分类:
其他好文 时间:
2015-04-08 21:35:08
阅读次数:
126
有次去面试,面试官突然问我这个问题,当时我只知道怎么写最优化,但是具体不知道为什么那样写,身价立马下降哦1. 以下开发习惯,你怎么看? for(int i=0;i<2;i++){ Person person = new Person(); }如下图:循环一次,会在堆内存中开辟一个内存空间,...
分类:
编程语言 时间:
2015-04-08 12:23:40
阅读次数:
215
0.参考资料:http://www.j2megame.org/index.php/content/view/2246/125.html1.Java的内存机制 Java 把内存划分成两种:一种是栈内存,另一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代...
分类:
编程语言 时间:
2015-04-08 10:27:41
阅读次数:
175
转自:http://www.iteye.com/topic/528230 java程序内存主要分为了2个部分,包括stack segment(栈内存区)、heap segment(堆内存区)。 在分析Java程序内存分配情况时,我们从下面这个经常被使用的例子开始吧。 下面程序将...
分类:
编程语言 时间:
2015-04-07 17:08:41
阅读次数:
136
(1)String ok1=new String(“ok”);(2)String ok2=“ok”;画出这两个字符串的内存示意图: String ok1=new String(“ok”)。首先会在堆内存申请一块内存存储字符串ok,ok1指向其内存块对象。同时还会检查字符串常量池中是否含有ok字符串,...
分类:
其他好文 时间:
2015-04-07 13:23:28
阅读次数:
117