一、线程概念
如果进程需要完成多个任务的时候,需要对其进行串行化操作。而如果其中一个任务(比如io操作),造成任务执行的挂起。则可以分解任务,将任务分开执行。
其中的每个任务就是所谓的线程。
线程包含了表示进程内执行环境必需的信息。
进程的所有信息对该进程的所有线程都是共享的。包括可执行的程序文本、程序的全局内存和堆内存、栈以及文件描述符。
二、线程创建
新增的线程可以...
分类:
编程语言 时间:
2015-07-01 18:32:58
阅读次数:
126
三种方式配置不同作用域的jvm的堆栈内存!
1、 设置Eclipse内存使用情况
修改eclipse根目录下的eclipse.ini文件
-vmargs //虚拟机设置
-Xms40m //初始内存
-Xmx256m //最大内存
-Xmn16m //最小内存
-XX:PermSize=128M //非堆内存...
分类:
其他好文 时间:
2015-06-23 20:09:46
阅读次数:
163
各类关于VC的书中都多少写到:
1、_stdcall调用约定:函数的参数自右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈。
2、__cdecl是C和C++程序的缺省调用方式。每一个调用它的函数都包含清空堆栈的代码,所以产生的可执行文件大小会比调用_stdcall函数的大。函数采用从右到左的压栈方式。注意:对于可变参数的成员函数,始终使用__cdecl的转换方式。
__...
分类:
其他好文 时间:
2015-06-11 17:11:39
阅读次数:
126
堆和栈,即是数据结构,又是分配存储空间的不同方式。在数据结构上,堆是树型层次结构,结点按关键字次序排列,常用的堆为二叉堆;栈是一种先进后出的数据结构。在内存分配上的堆和栈,首要区别在于申请方式不同,其次在存取速度、存储空间的大小、存储内容(一定要记住,栈中是第一条可执行语句地址,然后是各个参数,堆中头部是堆的大小描述,之后有程序员自己安排)、内存中的相对位置和系统对应的响应上都各有自己区别。在C语言 的学习过程中,堆和栈即是基础也是重点。...
分类:
其他好文 时间:
2015-06-08 11:49:07
阅读次数:
159
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.
2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)
3. 堆:存放所有new出来的对象。
4. 静态域:存放静态成员(static定义的)
5. 常量池:存放字符串常量和基本类型常量(public s...
分类:
编程语言 时间:
2015-05-26 12:43:34
阅读次数:
117
首先得会内存、寄存器还有程序运行的规则。
存储知识:
文件地址(File Offset):数据在PE文件中的地址,文件在磁盘上存放时相对于文件开头的偏移;
虚拟内存地址:每个进程都有的4G虚拟空间;
物理内存地址;
这三个地址要层层映射
内存:
代码区:存放二进制代码
数据区:存储全局变量
堆区:动态内存空间(还没太明...
分类:
其他好文 时间:
2015-05-08 00:04:00
阅读次数:
184
栈内存:顺序结构 基本数据类型在栈内存中分配 例如:int x = 100 x不是对象堆内存:离散结构 引用数据类型在堆内存中分配例如: person p1 = new person(); p1就是个对象 对象就是堆内存分配 怎么区分呢 p1. 对象加点就能出现属性 x. 不能出现属性 这样就能区分...
分类:
其他好文 时间:
2015-04-21 01:39:00
阅读次数:
143
1 线程包含线程ID,一组寄存器的值,栈,调度优先级和策略,信号屏蔽字,errno变量,以及线程私有数据。进程的所有信息对于该进程的所有线程都是共享的,包括可执行程序文本,程序全局内存和堆内存,栈以及文件描述符。线程可以通过pthread_self函数获得自身线程ID#includepthread_...
分类:
编程语言 时间:
2015-04-03 21:03:36
阅读次数:
223
java内存分两种:栈内存和堆内存栈用来存储基本类型变量和指向对象的引用类型变量,对象本身总是在堆中被创建堆内存用来存放由new创建的对象和数组以及成员变量堆内存被所有线程共享,但每个线程有自己的栈
分类:
编程语言 时间:
2015-03-11 19:54:53
阅读次数:
237
栈内存:在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存:堆内存用于存放由new创建的对象和数组。....
分类:
编程语言 时间:
2015-03-01 23:46:20
阅读次数:
245