现在位置: 首页 > escalate发表的所有文章
  • 05月
  • 06日
综合 ⁄ 共 1117字 评论关闭
  上面我已经介绍了schedule.c文件中调度部分的代码,那么接下来正式进入主题,说说sched_credit.c文件中的主要涉及调度的数据结构与函数。     首先我们说说Xen的Credit调度器:管理员为每个domain分配weight值来决定credit值,Xen按照credit值公平调度各个domain。Domain中VCPU有两种状态,UNDER和OVER。OVER表示Domain中VCPU的credit值已用完,UNDER表示credit值还有剩余。在进行调度时,调度器只关心VCPU所处的状态,而不会进一步关心其剩余的credit值,处于UNDER状态的VCPU总是优先于OVER状态的VCPU被调度,只有当UNDER状态的V......
阅读全文
  • 09月
  • 08日
综合 ⁄ 共 2494字 评论关闭
什么是对象:对象无非就是一组实例变量外加一个指向其类的引用。对象的方法并不存在与对象本身,而是存在与对象的类中。在类中,这些方法被称为类的实例方法 什么是类 : 类无非是一个对象(class 的实例)外加一组实例方法和一个指向其超类的引用。Class类是Module类的子类,因此一个类也是一个模块 跟任何其他对象一样,类有自己的方法如new(),这些是Class的实例方法,跟其他类一样,需要引用才能用访问 1.Array.each_with_index beikong-eshare(demo): irb 2.0.0p247 :001 > a=['1','a','b','c'] => ["1", "a", "b",......
阅读全文
  • 07月
  • 28日
综合 ⁄ 共 866字 评论关闭
public static byte[] compressData(){ //数据压缩的算法 byte[] data=new byte[]{12,56,56,23,82,82,82,82,89,91,90,90,90};//12,56,56,23,0,4,82,89,91,0,3,90 byte[] tempData=new byte[data.length]; int i=0,temp=0,cindex=0,s=data.length; for(;i<data.length;i++){ for(int j=i;j<data.length;j++){ if(data[i]==data[j]){ temp++; s--; if(j==data.length-1){ if(temp>2){ tempData[cindex]=0; tempData[cindex+1]=(byte)(temp); tempData[cindex+2......
阅读全文
  • 05月
  • 24日
综合 ⁄ 共 289字 评论关闭
好久没写博客了。 全都归于自己的懒惰,而且日复一日的简单工作已经让我失去了激情,工作完全是copy,paste;没有任何一点点的创新, 也许真的该走了...... 我自认为是一个爱学习的人,专业书买了一大堆,C,C++,VC++,C#,Java,Python,DirectX游戏开发,数字电路,FPGA,单片机,QT,Linux等等都有, 坚持看了,但是实际工作用的很少,很多懂的只是皮毛。 真希望去一个好的公司多学点东西,可惜没有机会,哎,人生不如意之事十之八九。 还是坚持学习,坚持博客吧,天道酬勤! 以后每周至少一篇博客!计划深入学习Linux下C/C++......
阅读全文
  • 04月
  • 21日
综合 ⁄ 共 1436字 评论关闭
多校第四场 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; typedef long long LL; #define Ls rt<<1 #define Rs rt<<1|1 #define Lson l,m,rt<<1 #define Rson m+1,r,rt<<1|1 int const MAXN = 1000010; struct Tree{ int l,r; int v,add; }tree[MAXN<<2]; int Gcd(int a,int b){ if(!b) return a; return Gcd(b,a%b); } inline void PushUp(int rt){ if(tree[Ls].v == tree[Rs].v)tree[rt......
阅读全文
  • 04月
  • 10日
综合 ⁄ 共 2254字 评论关闭
写在前面:        本文将使用 Vertical Scroll Bar ,创建一个聊天界面,如下图所示:     欢迎大家纠错、拍砖!原创很辛苦,如有转载,请注明出处。 Scroll Bar -- 滚动条 滚动条这个东西,跟基本控件有点区别。它是控制其他控件的,所以要配合其他控件,才能正常工作。 ■ 创建滚动条   在NGUI 3.5中,创建控件都可以通过【搜索】,然后【拖拽】实现(也是NGUI推荐的方法)。 (1)在Project面板中,【搜索】“Control”,也就是搜索控件。之后,会发现NGUI的一堆控件。 (2)找到“ Control - Simple Vertical Scroll Bar ”,......
阅读全文
  • 12月
  • 22日
综合 ⁄ 共 723字 评论关闭
linux融合了bsd,以及贝尔实验室的unix版本的通信方式(单机的进程通信): 1.管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;    2.信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本 身;Linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于 BSD......
阅读全文
  • 12月
  • 09日
综合 ⁄ 共 1859字 评论关闭
  一 基本知识 1、插入节点 Element.insert(index, element) 、Element(tag[, attrib][, **extra]) 、SubElement(parent, tag[, attrib[, **extra]]) 、Element.append(subelement) 2、删除节点 Element.remove(subelement) 删除一个节点、Element.clear()删除该节点下所有子节点 3、在节点中插入属性 Element.set(key, value) 4、查找节点 a) Element.getiterator   b) Element.getchildren   c) Element.find   d) Element.findall   二 读取xml 1)xml为 <?xml version="1.0" encoding="UTF-8"?> <employees>   &......
阅读全文
  • 11月
  • 18日
综合 ⁄ 共 11484字 评论关闭
(一)断点续传的原理    其实断点续传的原理很简单,就是在Http的请求上和一般的下载有所不同而已。    打个比方,浏览器请求服务器上的一个文时,所发出的请求如下:    假设服务器域名为wwww.sjtu.edu.cn,文件名为down.zip。    GET /down.zip HTTP/1.1    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-    excel, application/msword, application/vnd.ms-powerpoint, */*    Accept-Language: zh-cn    Accept-Encoding: gzip, deflate    User-Agent: Mozilla/4.0 (......
阅读全文
  • 11月
  • 10日
综合 ⁄ 共 591字 评论关闭
调试环境搭建: 1、安装Google发布的ADT,下载地址:http://developer.android.com/sdk/index.html 该ADT包含以下软件: Eclipse + ADT plugin Android SDK Tools Android Platform-tools The latest Android platform The latest Android system image for the emulator 2、安装Cygwin软件,模拟Linux环境,下载地址为:http://www.cygwin.com/ 3、下载NDK,可以使用ndk-gdb命令,下载地址为:http://developer.android.com/tools/sdk/ndk/index.html#download 4、设置SDK和NDK的环境变量。 具体调试步骤: 1.在java代码中设置......
阅读全文
  • 10月
  • 31日
综合 ⁄ 共 439字 评论关闭
python的变参   *args和**dargs是Python的两个可 变参数,两者有所不同的是*args是个tuple,**dargs是个dict。 *args 和**dargs并用时,*args必须放在**dargs的前面。   例如: def func(a,b, *c):     pass 函数func至少有两个参数变参数放在tuple  c中 def func(*c): 或者 def  func(**dc) 参数不确定   def func(a, *c, **dc):  可以共用*args和**dargs,不过一定要把*args放在前       def func(**args):     print('arg len %d' % len(args))     if 'proxy' in args:         print('proxy: %s' % args['proxy'])         i......
阅读全文
  • 08月
  • 24日
综合 ⁄ 共 6549字 评论关闭
"------------------------------------------------------------------------------- "使用quickfix显示结果 "------------------------------------------------------------------------------- set cscopequickfix=s-,c-,d-,i-,t-,e- "------------------------------------------------------------------------------- "基本设置 "------------------------------------------------------------------------------- set tabstop=4 " 设置tab键的宽度 set backspace=2 " 设置退格键可用 set nu! " ......
阅读全文