- 博客(21)
- 收藏
- 关注
原创 垃圾回收趣史
引用计数(循环引用,Stop-The-World)----JavaScript |标记-清除(碎片,占CPU,Stop-The-World) | 双区复制(浪费一半内存,Stop-The-World) |标记-压缩(Stop-The
2011-03-28 15:02:00 1605
原创 【我的定义】
HTML:网页标准POSIX(Portable Operating System Interface):(Unix系统)API标准端口号:进程标识 (进xxx端口) HTTP通过socket调用TCP,TCP都必须使用socket 类:同类对象的抽象 overhead:额外负担 Node.js:封装过的V8驱动:(操作系统与外设间的)双向解释器(
2011-03-27 12:25:00 657
转载 .Net内存管理、垃圾回收
<br />1. Stack和Heap<br /> 每个线程对应一个stack,线程创建的时候CLR为其创建这个stack,stack主要作用是记录函数的执行情况。值类型变量(函数的参数、局部变量等非成员变量)都分配在stack中,引用类型的对象分配在heap中,在stack中保存heap对象的引用指针。GC只负责heap对象的释放,heap内存空间管理<br /><br />Heap内存分配<br /> <br /> 除去pinned object等影响,heap中的内存分配很简单,一个
2011-03-25 14:23:00 1088
转载 CLR内存管理
<br />自动内存管理是公共语言运行时在托管执行过程过程中提供的服务之一。公共语言运行时的垃圾回收器为应用程序管理内存的分配和释放。对开发人员而言,这就意味着在开发托管应用程序时不必编写执行内存管理任务的代码。自动内存管理可解决常见问题,例如,忘记释放对象并导致内存泄漏,或尝试访问已释放对象的内存。本节描述垃圾回收器如何分配和释放内存。分配内存<br />初始化新进程时,运行时会为进程保留一个连续的地址空间区域。这个保留的地址空间被称为托管堆。托管堆维护着一个指针,用它指向将在堆中分配的下一个对象的地址。
2011-03-25 13:50:00 853
转载 .Net Framwork概述
.NET Framework 概述.NET Framework 4本节提供对 .NET Framework 的主要功能的概念性概述,包括公共语言运行时、.NET Framework 类库和跨语言互操作性。本节内容.NET Framework 概念概述介绍 .NET Framework 结构及其组成部分。安装 .NET Framework提供有关 .NET Framework 独立可执行文件包和 Web 引导程序包、语言包和安装要求的信息。公共语言运行时 (CLR)解释公共语言运行时的功能和优点。公共语言运行
2011-03-25 11:34:00 803
转载 C++的内存管理
<br />C++内存区:全局/静态,堆,栈,常量区,自由区<br /> 堆:比栈大,可穿越作用域<br />库:管理内存<br />RAII(resource acquisition is initlization):初始化获取资源,销毁释放资源<br /> <br /> <br /> <br />摘要:C++是一种流行且功能强大的程序设计语言,利用C++已经产生出世界上各异的程序软件包。C++是在C语言的基本之上发展而来,它能够对C语言向下兼容,所以它也C语言的许多不足,其中内存管理就
2011-03-25 11:11:00 569
原创 属性访问器(Property Accessor)----Setter/Getter
Setter/Getter:属性/成员变量的封装 本质上是实例方法,但是在类的外部作为属性来访问,它允许创建只读和只写属性。使用:getter方法:必须有返回类型,且和要访问的私有属性类型一致。必须有返回语句,返回要访问的私有属性。setter方法:必须要有
2011-03-24 11:06:00 2332
转载 Windows内存管理 - 隐藏在new和malloc背后的heap
先来说,heap是什么,heap就是堆,在不知道具体细节的时候,我们只知道,通过new和malloc,我们可以动态获得一个内存区域,用来存放自己的对象和变量,而这些内存区域都是在heap上的。heap应该就是一个内存区域吧。应该会有很多人这么认为过。 后来,学习了Win
2011-03-21 14:08:00 1149
转载 Windows内存管理
关于内存管理 32位的Windows系统,每个进程都有4GB内存(Gigabytes)大小的虚拟内存空间可以寻址(因为32位指针可以使用从0x00000000 – 0xFFFFFFFF内的任何一个值),而64位的Windows系统,每个进程有8TB(Terabyt
2011-03-16 16:34:00 1358
原创 内存管理
(32位)每个进程4GB独立的虚拟内存(虚拟地址空间). 分配内存:(1)分配虚拟内存 (2)访问时映射 到 物理内存/Swap/文件 MMU管理虚拟内存和物理内存的映射 内存映射:虚拟内存映射到 物理内存/
2011-03-16 13:37:00 722
转载 VirtualAlloc和VirtualCopy----VirtualFree
<br />VirtualAlloc 和VirtualCopy<br />VirtualAlloc 首先会从我们的虚拟地址空间中申请(或者说预留)一块虚拟空间,准备接下来要用它。注意此时,可用的物理内存并没有减少,只是虚拟地址少了一块可用的区域。 <br />真正把这块之前reserved的虚拟空间映射到物理的内存区域就是由VirtualCopy来干的,此时,MMU的页表就会增加一个entry,来表示物理--虚拟的映射关系。 <br /> <br />VirtualFree<br />VirtualF
2011-03-11 16:16:00 1145
转载 Hotspot垃圾回收
Hotspot VM 使用分代回收算法(Generational Collector) GC堆的分代:(1)Young Generation(年青代):大多数对象 Eden区+Survivor_1区+Survivor_2区(2)Old Gene
2011-03-09 15:43:00 1055
转载 全面分析Java的垃圾回收机制
引言 Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码
2011-03-09 14:52:00 581
转载 Java垃圾回收
在Java中,通常通讯类型的服务器对GC(Garbage Collection)比较敏感。通常通讯服务器每秒需要处理大量进出的数据包,需要解析,分解成不同的业务逻辑对象并做相关的业务处理,这样会导致大量的临时对象被创建和回收。同时服务器如果需要同时保存用户状态的话,又会产生很多永
2011-03-09 14:33:00 694
转载 Android Makefile分析
<br />首先是可能用得到的基础知识,必须了解基础Makefile的语法,然后下面是Andriod用来编译相应模块使用的核心makefile,当然如果要速成的话也可以不看这些东西,直接按照后面的例子添加就可以了:<br /> 1、prebuilt<br /> /build/core/base_rules.mk<br /> /build/core/prebuilt.mk<br /> /build/core/multi_prebuilt.mk<br /> 2、.s
2011-03-09 10:14:00 1490
原创 内存管理和垃圾回收
垃圾回收器:管理内存(1)分配内存(2)保留被引用内存(确保所有被引用的对象留在内存)(3)释放内存(不被引用的内存) 垃圾回收的时间:堆耗尽或达到一个阈值 内存泄露:(应用程序)引用没了,(堆)内存没释放 垃圾回收算法
2011-03-09 10:02:00 633
转载 Windows Shell命令
一、Windows下Shell命令概述<br />Windows的Shell命令又是Windows的CMD命令。而cmd命令又是原来MS-DOS系统保留下来。Shell来源路径与配置<br />对应的命令资源配置在windows的环境变量中:<br />Windows Shell命令是基于配置好的Path环境变量,对Shell命令在Path路径中依次从前至后搜寻到对应命名的可执行入口。<br />也就是可以自行编写一些Shell程序,C、Java、Perl等等,然后配置到环境变量中,就可以有自己的私有She
2011-03-02 10:26:00 8316
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人