目标: 理解 栈 与 队列 这两种数据结构, 并且知道如何应用。 算法 + 数据结构 = 程序 一、堆栈 堆栈是一组元素的集合,类似于数组,但数组可以按下标访问,堆栈的访问规则只能为push 与 pop 两种操作。 堆栈只能访问或者移出栈顶的元素。 ...
分类:
编程语言 时间:
2017-09-08 21:54:20
阅读次数:
153
一、数据类型初探 电脑是由什么来存储所使用的数据? 这个问题用一句话比较笼统的概括,那就是:电脑使用内存来记忆计算时所使用的数据。在现实生活中的数据各种各样,整数、小数、字符串、字符等等,它们都类型是不一样的,所以你要想在计算机中使用这些类型,就必须在内存中为它申请一块合适的空间。 数据类型总结起来 ...
分类:
其他好文 时间:
2017-09-03 16:40:35
阅读次数:
235
1、java运行时的数据区:程序计数器、方法区、虚拟机栈、本地方法栈、堆 ①、程序计数器:一块较小的内存空间,可看作当前线程所执行的字节码的行号指示器 ②、java虚拟机栈:与程序计数器一样,也是线程私有的,它的生命周期与线程相同,为虚拟机执行java方法服务(粗糙的讲就是栈内存) ③、本地方法栈: ...
分类:
编程语言 时间:
2017-08-31 11:11:10
阅读次数:
178
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。 ...
分类:
其他好文 时间:
2017-08-27 11:05:51
阅读次数:
148
8.1 物理内存与虚拟内存 8.2 内核空间与用户空间 8.3 在JAVA中哪些组件需要使用内存 8.3.1 JAVA堆 8.3.2 线程 8.3.3 类和类加载器 8.3.4 NIO 8.3.5 JNI 8.4 JVM内存结构 8.4.1 PC寄存器 8.4.2 Java 栈 8.4.3 堆 8. ...
分类:
其他好文 时间:
2017-08-20 10:26:17
阅读次数:
150
韩梦飞沙 yue31313 韩亚飞 han_meng_fei_sha 313134555@qq.com android 内存分哪些区 内存分哪些区 内存分为的5大区 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(hea ...
分类:
移动开发 时间:
2017-08-19 18:53:24
阅读次数:
365
Java虚拟机的内存模型分为五个部分。各自是:程序计数器、Java虚拟机栈、本地方法栈、堆、方法区。 这五个区域既然是存储空间,那么为了避免Java虚拟机在执行期间内存存满的情况,就必须得有一个垃圾收集者的角色。不定期地回收一些无效内存,以保障Java虚拟机可以健康地持续执行。 这个垃圾收集者就是寻 ...
分类:
其他好文 时间:
2017-08-17 12:35:44
阅读次数:
138
C/C++程序内存分配 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为下面几个部分 1、栈区(stack):由编译器自己主动分配释放 ,存放函数的參数值,局部变量的值等。其操作方式相似于数据结构中的栈。 2、堆区(heap): 一般由程序猿分配释放, 若程序猿不释放,程序结束 ...
分类:
编程语言 时间:
2017-08-14 12:42:15
阅读次数:
113
非常经典的解释=_= 堆和栈的区别 一、预备知识:程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap):一般有程序员分配释放,若程序员不释放,程序 ...
分类:
其他好文 时间:
2017-08-06 12:48:18
阅读次数:
155
一、堆与栈 堆和栈是程序运行的关键,其间的关系有必要理清楚,两者如下图所示: 1. 堆: 所有线程共享,堆中只负责存储对象信息。 2. 栈: 在Java中每个线程都会有一个相应的线程栈与之对应(因为不同的线程执行逻辑有所不同,因此需要一个独立的线程栈),栈是运行单位,因此里面存储的信息都是跟当前线程 ...
分类:
编程语言 时间:
2017-08-04 18:17:28
阅读次数:
105