摘要: 目录 1.组成 1.1 translator 1.2 optimizer 1.3 Code Generator 2.IR 2.1 控制流图 3.JET 3.1 架构 3.2 处理流程 1.组成------1.1 translator--------------将复杂的bytecode翻译成HIR,HIR相比于字节码更加低级,它将复杂的字节码拆分成多条简单语句,从而暴露出更多的优化机会。例如:load一个对象成员的字节码被拆分成一条断言对象引用不为空的语句、一条load对象基地址的语句、计算成员地址的语句和load成员地址的值的语句。翻译过程分为两步: 1.建立基本块边... 阅读全文
posted @ 2013-02-05 00:06 buaaspy 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 目录 1.Builder(生成器模式) 2.Bridge(桥接模式) 3.Decorate(装饰模式) 4.Visitor(访问者模式) 5.Command(命令模式) 6.Strategy(策略模式) 7.Iterator(迭代器模式) 8.Singleton(单件模式) 9.State(状态模式) 10.Abstract Factory(抽象工厂模式)理解1.Builder(生成器模式)----------------------应用场景 创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时 当构建过程必须允许被构造的对象有不同的表示时我的理解 将复杂... 阅读全文
posted @ 2013-01-23 22:13 buaaspy 阅读(220) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h>#include <string.h>#include <stdlib.h>#include <signal.h>#include <unistd.h>#include <errno.h>#include <sys/epoll.h>#include <fcntl.h>#include "aytype.h"#include "aylist.h"#include <vector>using namespace std 阅读全文
posted @ 2013-01-06 21:50 buaaspy 阅读(226) 评论(0) 推荐(0) 编辑
摘要: notes-on-effective-cpp----------------------item13 以对象管理资源(RAII) 1)[ Lambda + tr1::function ] VS [ auto_ptr ] item32 确定你的public继承正确模塑出is-a关系item35 考虑virtual以外的方案 1) 2)itemnotes-on-more-effective-cpp---------------------------item01 指针和引用 1)指针可以指向空值,引用必须在初始化时就指定对象 2)指针可以变更指向的对象,引用从始至终无法改变item0... 阅读全文
posted @ 2012-12-30 22:49 buaaspy 阅读(213) 评论(0) 推荐(0) 编辑
摘要: man sed-------------------------------------------------------------------------------------------------- g:[address[,address]]g 将hold space中的内容拷贝到pattern space中,原来pattern space里的内容清除 G:[address[,address]]G 将hold space中的内容append到pattern space\n后 h:[address[,address]]h 将pattern space中的内容拷贝到hold sp... 阅读全文
posted @ 2012-12-01 18:48 buaaspy 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 0.加载内核1.启动init进程(/sbin/init) /etc/rc.d/rc.sysinit 主要做在各个运行模式中相同的初始化工作 掉入keymap以及系统字体 启动swapping 设置主机名 设置NIS域名 检查并mount文件系统 打开quota 装载声卡模式 设置系统时钟 /etc/rc.d/rc-$RUNLEVEL-.d 根据/etc/inittab中指定的启动级别调用对应的启动脚本 /etc/rc.d/ |-- init.d | |-- functions | |-- l... 阅读全文
posted @ 2012-11-24 15:57 buaaspy 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 0.--------------------------------------------------draft mostly come from [http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/index.html]1.RPM文件格式--------------------------------------------------RPM包文件包含四节。第一节负责标记文件为一个RPM包。剩余的分别是:signature、header和payload。signature 签. 阅读全文
posted @ 2012-11-24 15:07 buaaspy 阅读(331) 评论(0) 推荐(0) 编辑
摘要: import re###################################################### date:2012-11-13# desc:Stack Class -- Utils#####################################################class AyStack: def __init__(self, rsize = 100): self.data = [] self.rsize = rsize self.esp = -1 def size(self): ... 阅读全文
posted @ 2012-11-14 17:32 buaaspy 阅读(309) 评论(0) 推荐(0) 编辑
摘要: #!/usr/bin/bash################################################################################ name:Robot# date:2012-11-09# desc:download porn pictures from baixingsex###############################################################################FIRSTUSE=64USER_CHOOSE_QUIT=65UNKNOWN_CHOICE=66BAD_AR 阅读全文
posted @ 2012-11-10 00:41 buaaspy 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 1.函数式风格 为何要把大多人忽略掉的函数式风格作为序幕呢?既然我们选择的是一门脚本语言, 就是因为他的可移植性和书写方便的特性,试想下如果我们的程序运行在远端Linux 服务器上,而本地则是Windows环境,每次我们要完成一些小的功能时,都要打开 Eclipse,import一堆头文件,然后编写一个main函数,然后编译出可执行文件,然 后再上传到服务器上,然后还要处理好程序的崩溃处理,错误输出等,是不是很烦? 而在已经濒临崩溃的情绪下,还要去写出类似于for (int i = 0; i < max; i++)这 样的代码,是不是感到血压急剧上升?所以我们需要的是更快更方便!... 阅读全文
posted @ 2012-11-09 21:30 buaaspy 阅读(384) 评论(0) 推荐(0) 编辑