04 2013 档案

摘要:try { //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 } catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 } finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally } 阅读全文
posted @ 2013-04-23 11:14 JustinYo 阅读(1717) 评论(0) 推荐(1) 编辑
摘要:vim的方法步骤:vi file按shift :然后输入g/../s///回车!sedsed -i 's/^..//' file 阅读全文
posted @ 2013-04-22 20:53 JustinYo 阅读(490) 评论(0) 推荐(0) 编辑
摘要:对于一个patch文件,有两种常用使用方法:1.代码:cat new-patch | patch -p02.代码:patch -p0 < new-patchpatch命令里面的层数(-p0?-p1?)参数-p来指定从第几层开始比较。比如有一个patch文件的补丁头是这样的:代码:--- old/modules/pcitableMon Sep 27 11:03:56 1999+++ new/modules/pcitableTue Dec 19 20:05:41 2000如果使用参数-p0,就表示从当前目录,找一个叫作new的目录,在它下面找一个叫modules的目录,再在它下面找一个叫pc 阅读全文
posted @ 2013-04-17 10:41 JustinYo 阅读(807) 评论(0) 推荐(0) 编辑
摘要:国内生产总值(Gross Domestic Product,简称GDP)是指在一定时期内(一个季度或一年),一个国家或地区的经济中所生产出的全部最终产品和劳务的价值,常被公认为衡量国家经济状况的最佳指标。同比就是今年第n月与去年第n月比。同比发展速度主要是为了消除季节变动的影响,用以说明本期发展水平与去年同期发展水平对比而达到的相对发展速度。如,本期2月比去年2月,本期6月比去年6月等。其计算公式为:同比发展速度的公式应该改成:同比发展速度=本期发展水平/去年同期水平×100%;同比增长速度=(本期发展水平-去年同期水平)/去年同期水平×100%。在实际工作中,经常使用这个 阅读全文
posted @ 2013-04-16 23:13 JustinYo 阅读(209) 评论(0) 推荐(0) 编辑
摘要:汇率者,货币间的市场之价也。譬如近来又吵得沸沸扬扬的人民币汇率,无非就是多少人民币换一美元的市价问题。以变动的趋势着眼,用比今日之汇价更少一点的人民币就可换得一美元,人民币就是升值了。反过来,用更多的人民币才换得同样一美元,人民币则贬了。市价有什么好吵的呢?在日常生活里,你我不是天天要进市场,时时要与市价打交道吗?经验很真实:早餐之价不要吵,铅笔文具之价不要吵,衣帽鞋袜之价也不要吵。市场之道,可以讨价还价,但不需要吵。讲不成价钱也好办,买卖不成仁义在,还有下回哩。从没见过“白菜升值派”,隆重其事写下白菜应升值的理论及其政策主张的——卖白菜的只要对其他买家的光顾信心满满,不改口自己的出价就足够了 阅读全文
posted @ 2013-04-16 22:14 JustinYo 阅读(175) 评论(0) 推荐(0) 编辑
摘要:最近看新闻都在报道中国M2突破100万亿元,是美国的1.5倍, 这个M2是什么玩意呢?我国对货币层次的划分是:M0=流通中的现金;狭义货币(M1)=M0+活期存款(企业活期存款+机关团体部队存款+农村存款+个人持有的信用卡类存款);广义货币(M2)=M1+城乡居民储蓄存款+企业存款中具有定期性质的存款+信托类存款+其他存款。另外还有M3=M2+金融债券+商业票据+大额可转让定期存单等。M2表示的就是国民拥有的具有购买力的货币,M2越多,表示购买力越强,但是M2的数量如果超过实际货物的价值的话,那么就会出现通货膨胀,就是手上的钱越来越不值钱了, 就是每一行代码的价值降低了-_- 阅读全文
posted @ 2013-04-15 00:31 JustinYo 阅读(233) 评论(0) 推荐(0) 编辑
摘要:OwnPtr和RefPtr有什么区别呢?看他们的构造函数和析构函数RefPtr:PassRefPtr<Frame> Frame::create(Page* page, HTMLFrameOwnerElement* ownerElement, FrameLoaderClient* client){ RefPtr<Frame> frame = adoptRef(new Frame(page, ownerElement, client)); if (!ownerElement) page->setMainFrame(frame); return frame.relea. 阅读全文
posted @ 2013-04-15 00:19 JustinYo 阅读(718) 评论(0) 推荐(0) 编辑
摘要:C++最新标准C++11中已将基于引用计数的智能指针share_prt收入囊中,智能指针的使用门槛越来越低,不需要使用boost库,我们也能轻松享受智能指针给我们带来的方便。智能指针,正如它的名字一样,似乎是个近乎完美的聪明角色,程序员不用再纠结于new出来的内存在哪释放比较合适这种问题。比如当一个资源被多个模块共享时,程序员需要在所有模块的生命周期都结束时,由最后一个不使用该指针的模块触发指针的释放行为,而模块的生命周期可能根本在写代码时就确定不了。智能指针的出现,给不支持垃圾回收机制的C++带来了一丝曙光。下面简单介绍一下智能指针的运行机制:当我们需要从堆上申请空间时,可以将new出来的指 阅读全文
posted @ 2013-04-14 23:24 JustinYo 阅读(645) 评论(0) 推荐(0) 编辑
摘要:转换函数 转换函数又称类型强制转换成员函数,它是类中的一个非静态成员函数。它的定义格式如下: class<类型说明符1> { public: operator<类型说明符2>(); … } 这个转换函数定义了由<类型说明符1>到<类型说明符2>之间的映射关系。可见,转换函数是用来将一种类型的数据转换成为另一种类型。下面通过一个例子说明转换函数的功能。#includeclass Rational{public:Rational(intd, int n){den= d;num= n;}operator double();//类型转换函数private 阅读全文
posted @ 2013-04-14 23:02 JustinYo 阅读(581) 评论(0) 推荐(0) 编辑
摘要:类型转换就是将给定类型的表达式转换为另一种类型。C++中的转型可分为两种:隐式类型转换和显式类型转换。下面将详细介绍这两种转型操作,以及各自的适用场景,潜在问题,最终将总结使用类型转换操作应牢记的原则。一,隐式类型转换隐式类型转换是C中的遗留物,在C++中并不推荐使用(C++有专门的转型操作符,见下文的显式转型)。将某种类型的对象拷贝到另一种不同类型的对象中时就会发生隐式转型。比如异型赋值,返回值(函数声明的返回值与代码块实际返回值不同的情况下),按值传递异型参数等情况均会发生隐式类型转换。shorta=128;intb;b=a;如上所示,short 类型的对象被赋值给 int 型的对象,这是 阅读全文
posted @ 2013-04-14 22:46 JustinYo 阅读(502) 评论(0) 推荐(0) 编辑
摘要:修改文件WebCore/page/SecurityOrigin.cpp中的bool SecurityOrigin::canRequest(const KURL& url) const让它返回true网上有人说让bool SecurityOrigin::canAccess(const SecurityOrigin* other) const返回true,试了下不行另外, chrome浏览器运行加--disable-web-security可以支持跨域 阅读全文
posted @ 2013-04-14 22:23 JustinYo 阅读(492) 评论(0) 推荐(0) 编辑
摘要:RefCounted:提供引用计数器功能。使用时继承之[cpp]view plaincopyclassFoo:publicRefCounted<Foo>为了更为方便安全地使用引用计数功能,webkit提供了RefPtr。ThreadSafeShared多线程版本的引用计数RefPtr / PassRefPtr保存支持引用计数的指针(如RefCount,ThreadSafeShared等子类, 又如StringImpl),防止cyclic references?RefPtr 与 PassRefPtr 基本类似,区别在于作为参数进行传递时引用计数的变化。RefPtr 作为参数对 Ref 阅读全文
posted @ 2013-04-14 22:21 JustinYo 阅读(370) 评论(0) 推荐(0) 编辑
摘要:WebKit中的许多对象是引用计数的(reference counted),采用的模式就是类具有ref和deref成员函数增加和减少引用计数。每个ref调用必须有一个deref与之匹配。当在引用计数值为1的对象上调用deref方法时,对象删除。WebKit中的许多类通过继承RefCounted类模板应用该模式。时间回溯到2005年,我们发现存在许多由于不正确调用ref和deref而引起的内存泄露,特别是HTML编辑的代码。我们希望使用智能指针来减少这一问题。但是早期的试验表明智能指针会进行额外的引用计数处理而影响性能。例如,一个函数有一个智能指针的参数并返回该指针指针作为返回值,仅仅传入该参数 阅读全文
posted @ 2013-04-14 20:01 JustinYo 阅读(1110) 评论(0) 推荐(0) 编辑
摘要:从打开电源到开始操作,计算机的启动是一个非常复杂的过程。 我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示......这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。 零、boot的含义 先问一个问题,"启动"用英语怎么说? 回答是boot。可是,boot原来的意思是靴子,"启动"与靴子有什么关系呢? 原来,这里的boot是bootstrap(鞋带)的缩写,它来自一句谚语:"pull oneself up by one's bootstraps" 字面意思是"拽着鞋带把自己拉起来" 阅读全文
posted @ 2013-04-14 18:58 JustinYo 阅读(149) 评论(0) 推荐(0) 编辑
摘要:类型需要虚析构函数的另外一个特征 是该类型具有指针成员或引用成员。如果有指针成员和引用成员,则该类型通常需要实现析构函数以及拷贝操作。通常,一个实现了析构函数的类型同时也需要实现拷贝构造函数与拷贝复制函数。作为一个经验法则:如果你有一个带有虚函数功能的类,则它需要一个虚析构函数,原因如下:1.如果一个类有虚函数功能,它经常作为一个基类使用。2.如果它是一个基类,它的派生类经常使用new来分配。3.如果一个派生类对象使用new来分配,并且通过一个指向它的基类的指针来控制,那么它经常通过一个指向它的基类的指针来删除它(如果基类没有虚析构函数,结果将是不确定的,实际发生时,派生类的析构函数永远不会被 阅读全文
posted @ 2013-04-14 18:08 JustinYo 阅读(270) 评论(0) 推荐(0) 编辑
摘要:先执行析构函数的函数体,然后按跟声明顺序相反的顺序执行所有非静态数据成员对象的析构函数。如果有父类,接下来执行父类的析构函数。class Derived:Base{Object member0;Object member1;~Derived(){..}};先执行~Derived,再是member0和member1的析构,再是Base.~Base派生类继承了基类的成员,实现了代码的重复利用,但基类的构造函数和析构函数不能被继承。如果在派生类中需要对新增加的成员进行初始化,则需要加入派生类的构造函数。同样派生类也需要添加析构函数来实现一些结束工作。当创建对象时,编译系统会自动调用构造函数。当撤销对 阅读全文
posted @ 2013-04-14 18:03 JustinYo 阅读(750) 评论(0) 推荐(0) 编辑
摘要:WebKit源代码里的RefPtr智能指针的一些心得。OverviewWebKit的智能指针由类族 RefPtr 来实现,其核心由三个类组成:RefCountedRefPtrPassRefPtr其中RefCounted提供了引用计数器(一个int型成员),而RefPtr和PassRefPtr则提供了自动管理引用计数器的功能。根据RefPtr and PassRefPtr Basics的说法,最初并没有RefPtr和PassRefPtr,这两个类是2005年才加入的,在它们出现之前完全是靠找死的人工管理RefCounted的引用计数。RefCounted类本身是没有问题的,但它的使用方法相当繁琐 阅读全文
posted @ 2013-04-14 17:38 JustinYo 阅读(260) 评论(0) 推荐(0) 编辑
摘要:第一:private,public,protected的访问范围:private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问.protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问public: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问注:友元函数包括两种:设为友元的全局函数,设为友元类中的成员函数第二:类的继承后方法属性变化:使用private继承,父类的所有方法在子类中变为private;使用protected继承,父类的protected和public方法在子类中变为protect 阅读全文
posted @ 2013-04-14 16:46 JustinYo 阅读(236) 评论(0) 推荐(0) 编辑
摘要:问题的提出 我们已知道类具备封装和信息隐 藏的特性。只有类的成员函数才能访问类的私有成员,程式中的其他函数是无法访问私有成员的。非成员函数能够访问类中的公有成员,但是假如将数据成员都定义 为公有的,这又破坏了隐藏的特性。另外,应该看到在某些情况下,特别是在对某些成员函数多次调用时,由于参数传递,类型检查和安全性检查等都需要时间开 销,而影响程式的运行效率。 为了解决上述问题,提出一种使用友元的方案。友元是一种定义在类外部的普通函数,但他需要在类体内进行说 明,为了和该类的成员函数加以区别,在说明时前面加以关键字friend。友元不是成员函数,但是他能够访问类中的私有成员。友元的作用在于提高.. 阅读全文
posted @ 2013-04-14 16:42 JustinYo 阅读(272) 评论(0) 推荐(0) 编辑
摘要:Ubuntu上的输入法主要有小小输入平台(支持拼音/二笔/五笔等),Fcitx,Ibus,Scim等。其中Scim和Ibus是输入法框架。在Ubuntu的中文系统中自带了中文输入法,通过Ctrl+Space可切换中英文输入法。这里我们主要说下Ubuntu英文系统中,中文输入法的安装。安装输入法的第一步,是安装语言包。我们选择System Settings-->Language Support-->Install/Remove Languages,将弹出以下窗口: www.2cto.com 输入密码后,系统会安装简体中文语言包。第二步,安装IBus框架,在终端输入以下命令:sudo 阅读全文
posted @ 2013-04-14 15:48 JustinYo 阅读(137) 评论(0) 推荐(0) 编辑
摘要:如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题。线程安全问题都是由全局变量及静态变量引起的。若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则就可能影响线程安全。线程安全性不是一个非真即假的命题。 Vector 的方法都是同步 阅读全文
posted @ 2013-04-14 14:28 JustinYo 阅读(203) 评论(0) 推荐(0) 编辑
摘要:pthread_setschedparamIt seems that the source code did not match the executablebeing debugged.rebuild the code again, you must made a mistake 阅读全文
posted @ 2013-04-01 22:34 JustinYo 阅读(147) 评论(0) 推荐(0) 编辑
摘要:1. A Fragment URL Specifies A Location Within A PageAny URL that contains a # character is a fragment URL. The portion of the URL to the left of the # identifies a resource that can be downloaded by a browser and the portion on the right, known as the fragment identifier, specifies a location within 阅读全文
posted @ 2013-04-01 00:33 JustinYo 阅读(290) 评论(0) 推荐(0) 编辑