摘要:
在标记阶段,最重要的工作是区分垃圾对象。为了区分垃圾,首先要确定所谓Root set。Root set是内存对象的集合,在程序的当前上下文环境中,这些对象肯定可以访问。很明显,属于Root set的对象如果引用了其他的对象,那么那些被引用的对象也不是垃圾对象。标记的思路就是从Root set出发,遍历所有Root set能访问到的对象,对他们进行标记,表明这些对象不是垃圾对象,这是一个递归的搜索过程。当整个遍历结束之后,那些没有被标记的对象就是垃圾对象。 阅读全文
摘要:
1.awk简介awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。awk分别代表其作者姓氏的第一个字母。因为它的作者是三个人,分别是Alfred Aho、 阅读全文
摘要:
1.Sed简介sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。2.定址可以通过定址来定位你所希望编辑的行,该地址用数字构成,用逗号分隔的两个行数表示以这两行为起止的行的范围(包括行数表示的那两行)。如1,3表示1,2,3行,美元符号( 阅读全文