一、JAVA中的栈内存与堆内存 1.栈内存:存放局部变量,超出作用域会被回收; 2.堆内存:创建出来的对象,有java垃圾回收器回收。 二、static与类共存亡; 非static与对象共存亡!! 三、对象的比较: 1.== :比较的是栈内存中的值(地址) 2.equals : 比较的是内容,重写该 ...
分类:
编程语言 时间:
2016-04-12 15:54:53
阅读次数:
129
赋值传值和引用传址 在JavaScript中基本数据类型都是赋值传值,复合数据类型都是引用传址(传地址) 基本数据类型的变量名和数据是直接存在"快速内存"(栈内存)中,而复合数据类型(对象和数组)的存储分两个部分:实际数据存在"慢速内存"(堆内存)中,栈内存中只存变量名和数据在堆内存中的位置(地址) ...
分类:
Web程序 时间:
2016-04-05 07:02:30
阅读次数:
139
对于很多学习过c语言的同志们来说都知道指针是c语言中最最精粹的地方。就拿我现在主攻的php语言来说,php这种动态脚本语言底层也是用c来实现的,当我们实例化一个对象时,其实真正的过程也是一个在栈内存中的地址指向堆内存中真正的对象的过程,也就是说真正的对象时放在堆内存中,栈内存中放的是指向堆内存中对象 ...
分类:
其他好文 时间:
2016-04-03 00:20:27
阅读次数:
162
1.浅复制VS深复制 本文中的复制也可以称为拷贝,在本文中认为复制和拷贝是相同的意思。另外,本文只讨论js中复杂数据类型的复制问题(Object,Array等),不讨论基本数据类型(null,undefined,string,number和boolean),这些类型的值本身就存储在栈内存中(stri ...
分类:
Web程序 时间:
2016-04-01 23:24:39
阅读次数:
310
目前为止我们使用过的静态内存,栈内存和内存池,静态内存用来保存局部static对象、类static成员,以及定义在任何函数之外的成员。栈内存用来保存定义在函数内部的非static成员,分配在静态内存或栈内存中的对象由编译器自动创建或销毁,对于栈对象仅在其定义的程序块运行时才..
分类:
编程语言 时间:
2016-04-01 16:11:06
阅读次数:
231
一、概述 Block是C级别的语法和运行时特性。Block比较类似C函数,但是Block比之C函数,其灵活性体现在栈内存、堆内存的引用,我们甚至可以将一个Block作为参数传给其他的函数或者Block(嵌套)。在实际开发中,Block是使用非常广泛的,可以说它与GCD是绝配。如果GCD没有了Bloc ...
分类:
其他好文 时间:
2016-03-31 02:01:02
阅读次数:
205
一 数据类型 基本类型:undefined,null,boolean,number,string 保存在栈内存中 占用空间固定 变量直接从栈内存中存取的是该值 引用类型:array,object,function,regexp 保存在堆内存中 占用空间不固定 变量从栈内存中读取指针,再通过指针在堆内 ...
分类:
编程语言 时间:
2016-03-26 23:57:01
阅读次数:
394
本周学习教材第四、五章,这两章主要讲述了java语言中“对象”的相关知识,认识对象以及对象封装。 1. 类与对象 1对象的一些使用和c语言中的指针极为相似,例如Clothes c1 = new Clothes();,其中c1是在栈内存中产生,而对象c1则是产生在堆内存中,c1可以近似看成指向堆内存中
分类:
其他好文 时间:
2016-03-20 14:23:47
阅读次数:
161
一.准备知识 Java中变量分为基本数据类型和引用类型,前者分配在栈内,出了作用域就自动释放,后者分配在堆内或者常量池(比如字符串常量和基本数据类型常量),需要new出来。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。堆内存用于存放由new创建的对象和数组。数组和对象在没
分类:
编程语言 时间:
2016-03-19 12:49:50
阅读次数:
234
Java把内存分成两种: 栈内存 : 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。 堆内存 : 堆内存
分类:
编程语言 时间:
2016-03-13 22:27:38
阅读次数:
202