10 2013 档案

摘要:以前看过很多次关于垃圾回收相关的文章,都只是看过就忘记了,没有好好的整理一下,发现写文章可以强化自己的记忆。java与C,c++有很大的不同就是java语言开发者不需要关注内存信息,不会显式的直接操作内存,而是通过jvm虚拟机来实现。java虚拟机运行的时候内存分配图如下图:jvm虚拟机栈:一个是线程独有的,每次启动一个线程,就创建一个jvm虚拟机栈,线程退出的时候就销毁。这里面主要保存线程本地变量名和局部变量值。本地方法栈: 调用本地jni方法的时候而创建的。这里分配的jvm之外的内存空间。方法调用结束之后销毁。pc寄存器 : 这个保存线程当前执行的字节码指令堆:主要保存创建的对象。方法区: 阅读全文
posted @ 2013-10-31 17:07 oayx 阅读(610) 评论(0) 推荐(0) 编辑
摘要:as3垃圾回收机制 垃圾回收机制详解能力越大责任越大,这对actionscript3.0来说一点没错。引入这些新控件带来一个副作用:垃圾收集器不再支持自动为你收集 垃圾等假设。也就是说Flash开发者转到actionscript3.0之后需要对关于垃圾收集如何工作以及如何编程使其工作更加有效具备较深入的理 解。没有这方面的知识,即使创建一个看起来很简单的游戏或应用程序也会出现SWF文件内存泄露、耗光所有系统资源(CPU/内存)导致系统挂起甚至机器重启。Part1:目前我暂时在研究ActionScript3.0,它的能力让我很激动。它的原生执行速度带来诸多可能(此句原 文The raw exec 阅读全文
posted @ 2013-10-31 17:06 oayx 阅读(738) 评论(0) 推荐(0) 编辑
摘要:1.显示对象:1.1.静态的不需互动的图形,使用Shape对象。(eg:getSize(newShape())=236)1.2.不需要时间轴的互动图形,使用Sprite对象。(eg:getSize(newSprite())=412)1.3.需要使用时间轴的动画,使用MovieClip对象。(eg:getSize(newMovieClip())=440)2.触发垃圾回收的方法:varcleanup:Shape=newShape;...cleanup=null;...cleanup=null;...cleanup=null;......当系统认为内存使用不算多的情况下,运行时不会主动触发垃圾回收( 阅读全文
posted @ 2013-10-30 11:24 oayx 阅读(1287) 评论(0) 推荐(0) 编辑
摘要:在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。因此TCP的socket编程,收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于分辨出来了,必须提供科学的拆包机制。 对于UDP,不会使用块的合并优化算法,这样,实际上目前认为,是由于UDP支持的是一对多的模式,所以接收端的skbuff(套接字缓冲区)采用了链式结构来记录每一个到达的UDP包,在每个UDP包中就有了消息头(消息来源地址,端口等 阅读全文
posted @ 2013-10-28 14:59 oayx 阅读(3388) 评论(0) 推荐(1) 编辑