一.栈vs堆深入理解堆栈、堆在内存中的实现二.Socket深入探析c# Socket三.多线程c# 多线程 --Mutex(互斥锁)
一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放 , 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分...
分类:
其他好文 时间:
2015-06-02 13:08:42
阅读次数:
133
一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒...
分类:
编程语言 时间:
2015-05-30 00:36:30
阅读次数:
211
深入Java核心 Java内存分配原理精讲引言:栈、堆、常量池虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同。本文将深入Java核心,详细讲解Java内存分配方面的知识。Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收...
分类:
编程语言 时间:
2015-05-29 11:25:40
阅读次数:
120
转自:http://blog.csdn.net/hxz_qlh/article/details/13135433 在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* ptr=new A;这两种方式是有区别的。 1、静态建立类对象:是由编译器为对象在栈空间中分配内存,...
分类:
其他好文 时间:
2015-05-28 00:17:36
阅读次数:
974
前言Reading makes a full man; conference a ready man; and writing an exact man.Francis Bacon优秀的程序员应该具备两方面能力:良好的程序设计能力:掌握常用的数据结构和算法(例如链表,栈,堆,队列,排序和散列);理解...
分类:
其他好文 时间:
2015-05-24 00:06:26
阅读次数:
134
堆栈是操作受限的线性表。堆栈只能对表尾进行读出写入操作,这个表尾称为栈顶,表头称为栈底,没有数据元素的称为空栈。堆栈是后进先出的线性表。 在java中,因为Stack<E>的父类是Vector<E>,所以Stack<E>也是线程...
分类:
其他好文 时间:
2015-05-21 07:53:35
阅读次数:
132
在C++中,程序员拥有每一个对象的所有权,但与此同时还肩负着释放对象内存空间的责任;而Java由于有了虚拟机的帮助,程序员拥有对象的所有权的同时不再需要释放对象的内存空间。由于是JVM自动进行对象内存的释放,所以内存泄漏和内存溢出的问题也很少出现。Java虚拟机在运行时将内存空间分成5个部分,分别是:方法区、虚拟机栈、本地方法栈、堆、程序计数器。程序计数器
本质
程序计数器本质上是一块较小的内存空...
分类:
编程语言 时间:
2015-05-15 21:34:05
阅读次数:
170
2.1用引用操作对象虽然一切皆对象,但实际上用的是对象的“引用”。理解:引用可以理解为别名,引用“知道”对象实际的存放地址,并通过引用可以操作对象2.2创建对象new操作符2.2.1 对象存储位置 1)寄存器:不能直接控制 2)堆栈:位于RAM,对象引用,基本类型存于堆栈 3)堆:位于RAM的...
分类:
编程语言 时间:
2015-05-13 00:28:55
阅读次数:
158
堆是堆,栈归栈在阅读以下内容之前,请了解一下几点:第一:坚决澄清:堆是堆,栈归栈。第二:曾经的“堆栈”再不允许重谈,简直就是扯淡!第三:下面内容均属于从内存分配角度的阐述,不要与数据结构混淆。【1】程序的内存分配(1)内存分配详解一个由C/C++编译的程序占用的内存分为以下几个部分栈区(stack)...
分类:
其他好文 时间:
2015-05-11 19:27:54
阅读次数:
137