心寄笔端 附庸风雅

甘草的技术博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2010年2月24日

摘要: 这些都是我以前玩的,写到了Live Spaces上面了,以后把技术文章,都转过来。【玩,没有轻蔑的意思。按照那天在饼子堂的聊天说法,没有深入的研究,才叫玩。】用机器码写Hello World (2006/1/24)http://healerkx.spaces.live.com/blog/cns!9485ffc4816f2cad!267.entry 为了做到这一点,我写了4个小程序。 一个是Serv... 阅读全文
posted @ 2010-02-24 14:27 甘草 阅读(671) 评论(1) 推荐(0) 编辑

2010年2月7日

摘要: Hello, 开始写一些关于Silverlight3的BLOG。1. Silverlight3,在VS2008+SP1中,还不支持ChildWindow的可视化开发,我都是在Runtime的时候看效果的。我尚且没有试验过Blend3的情况。【】 2. obj.Visibility = Visibility.Visible这个比较爽因为真实的开发中,不可能把所有的东东都写在XAML里面,【此时的我还... 阅读全文
posted @ 2010-02-07 00:25 甘草 阅读(205) 评论(0) 推荐(0) 编辑

2009年2月17日

摘要: Java的GC。因为我们要在这里,介绍一些更为深入的知识,所以把Java的GC放到了Python的后面。Java的四种引用不客气的说,很多使用了Java若干年的朋友,都不知道Java有四种引用(其实我也是在饼子堂里面,聊天的时候才得知的)。 是的,能好好的理解Java的四种引用,恐怕比学会C++的指针和引用(别名)更难。它们分别是强引用,弱引用,软引用和虚引用。强引用我们平时使用Java,就在不经... 阅读全文
posted @ 2009-02-17 22:31 甘草 阅读(351) 评论(0) 推荐(0) 编辑

2009年1月14日

摘要: 本来应该先写最具有代表性的Java的GC的,但是目前我正在看Python的源代码,而且Python和Java的GC,有着很多相似点,所以就用这个顺序了,Python的GC章节,我打算更多地着眼于实现和我的疑问,Java的GC章节,更多放在使用上。GC in Python Python是走多种GC技术路线相结合的路线的,我以为有可取之处。首先Python采用了原始的Ref Counting技术【1】... 阅读全文
posted @ 2009-01-14 14:36 甘草 阅读(669) 评论(0) 推荐(0) 编辑

2009年1月8日

摘要: GC About, History, Java GC, .Net GC, Python GC, C++09 GC, COM, ... ... 阅读全文
posted @ 2009-01-08 10:13 甘草 阅读(321) 评论(0) 推荐(0) 编辑

2008年11月21日

摘要: 在词法分析的时候,以下面的代码为例。[代码]这里面,每一个Token的长度往往不超过7,所以这个String在处理string length的长度小于7的字符串的时候,不需要在堆上分配内存。而且整个类的sizeof(String)只有8,远远小于VC实现的std::string的sizeof(std::string)==28。缺点是,很多关于字符串的操作会判断一个标志位,影响了速度,但是从词法分析... 阅读全文
posted @ 2008-11-21 16:46 甘草 阅读(372) 评论(0) 推荐(0) 编辑

2008年11月20日

摘要: 刚刚写了一个fast的memcpy,叫做Pz_memcpy;至于Pz,就是Proze的缩写,而Proze是什么,你们以后就知道了。代码随便用,no copyright。[代码] 阅读全文
posted @ 2008-11-20 11:37 甘草 阅读(547) 评论(0) 推荐(0) 编辑

2008年11月9日

摘要: 发现一个CSDN的网友,通读了这个系列的blog,我觉得我的工作没有白做。于是我想我应该继续维护这份文档。今天想说说关于Singleton的一些事情,Singleton算是最easy的面向对象概念和设计模式之一了,我觉得我还是能讲出一些不常见的东西的。1. C++的Singleton,几年前,我狂热于C++的时候,写了一些自己的classes(classes,有时候可以翻译为类库,其实我本是打算写... 阅读全文
posted @ 2008-11-09 23:22 甘草 阅读(612) 评论(0) 推荐(0) 编辑

摘要: LSP,Liskov~? 阅读后,“LSP原则解决的问题是IS-A关系的正确性”就成为本文的第一句话。【1】现在开始我们的正文部分。记得在前面的章节中,我们提到过LSP,当时是以一个矩形和正方形的例子引出的。是的,关于LSP,我们还有更多要说的。How To Do?[代码] 如果系统“依赖”new Base().doAction();的行为,那么系统... 阅读全文
posted @ 2008-11-09 23:21 甘草 阅读(337) 评论(0) 推荐(0) 编辑

摘要: Re 阅读全文
posted @ 2008-11-09 23:21 甘草 阅读(232) 评论(0) 推荐(0) 编辑

2008年8月5日

摘要: OCP Open-Closed Principle 这是一个总得原则,是面向对象理论中一个最基本的原则了。 什么是OCP? OCP是对扩展开放,而对修改封闭。它的英文原文是:OPEN FOR EXTENSION, CLOSED FOR MODIFICATION. 而我想用一句中文更好的表达出它的目标。以不变应万变。 我们依然用IDraw的例子来解说,在这个例子中,我们抽象出了IDraw接口,... 阅读全文
posted @ 2008-08-05 17:27 甘草 阅读(380) 评论(0) 推荐(1) 编辑

2008年7月7日

摘要: 让我们来谈一些关于面向对象理论的有趣的话题。 正方形和矩形的故事 正方形是一个特殊的矩形。 ----《几何》 在面向对象理论的讨论中,有一个很令人不解的问题,就是为什么正方形不能从矩形派生?因为从几何数学的定义出发,正方形就是一个矩形,一个特殊的矩形。 首先,我们要看看矩形的封装。我们这里有很多种矩形的封装。 Code hi... 阅读全文
posted @ 2008-07-07 12:37 甘草 阅读(431) 评论(0) 推荐(0) 编辑

2008年7月4日

摘要: 对象的粒度 粒度的变化 对象关系的演化我们依然用Button作为例子来说明对象关系中粒度的变化。我们在ImageButton的OnDraw方法中加入了许多的代码,这些代码完成了一个按钮的绘制工作,可能要绘制按钮的3D边框,或者表明的渐变色,以及上面的文本,比如OK或者Cancel,此外还有一个Icon,这里我们就认定它为一个 Image。 Code highlighting produced ... 阅读全文
posted @ 2008-07-04 16:17 甘草 阅读(697) 评论(0) 推荐(0) 编辑

2008年7月1日

摘要: 面向接口编程(B) 约束的理解是一个很辩证的问题,我觉得我们需要一个好的例子才能把这个事情论述清楚。我很喜欢鸟儿在天上飞这个例子,因为它和大自然紧紧的联系了起来。 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->class Bird { ... 阅读全文
posted @ 2008-07-01 16:31 甘草 阅读(403) 评论(0) 推荐(0) 编辑

摘要: 面向接口编程(A) 前面的章节对于本篇来说,只是基础和铺垫,而且讲的很简单,因为那些很容易理解。我们从这个章节开始,用大量的代码的配合,来阐述面向接口编程。 接口的演化形式 现在我们回顾一下继承相关的知识。我们现在给出一组新的继承体系。它们是和图形相关的,我们可以假设这样的一种需求,就是我们要实现一个画图板(例如Windows的画图板),至少要能在上面绘制几个圆形和矩形。于是,我们很自然底定义了... 阅读全文
posted @ 2008-07-01 15:45 甘草 阅读(1114) 评论(0) 推荐(1) 编辑

2008年6月19日

摘要: 多态 多态是面向对象理论中至关重要的概念。它关注的是对象行为方面的问题,在派生关系中的对象的行为发生变化,这就是所谓的多态性。 我们本节的代码基本用C++代码作为例子(因为我们有机会深入到虚表去论证一些重要的问题,尽管也许没有这个必要),而对于Java开发者或是C#的开发者来说,也都是可以理解和接受的。我们依然以Button作为例子: class Button { public: v... 阅读全文
posted @ 2008-06-19 09:09 甘草 阅读(371) 评论(0) 推荐(0) 编辑

2008年6月13日

摘要: 继承 继承是面向对象中扩展对象的一种方法。子类通过继承父类,以获得父类的属性和方法。 我们通常称子类也为派生类,而称父类为基类。 下面的代码中,Button类就是继承关系中的基类,ImageButton类派生自Button类,于是,Button就是ImageButton类的父类(基类)。ImageButton就是Button类的一个派生类。 Code highlighting produced... 阅读全文
posted @ 2008-06-13 15:20 甘草 阅读(521) 评论(0) 推荐(2) 编辑

2008年6月6日

摘要: 面向对象初步面向对象初步我们开始讲述和程序设计相关的面向对象理论,主要涉及到消息,封装,继承,多态等内容。消息其实我并不喜欢消息这个概念,因为当时我学习面向对象导论的时候,已经有过Windows编程的经验了,而面向对象的消息和Windows的消息机制并无关系。因为面向对象强调对象的行为和对象之间的相互作用,而这种行为是以消息体现出来的。当某一个对象收到消息的时候,则对象对此做出反应。而实际体现到具... 阅读全文
posted @ 2008-06-06 12:19 甘草 阅读(552) 评论(0) 推荐(0) 编辑

摘要: 什么是对象? 万事万物皆对象。 我以为这句话很精彩,因为它带有佛偈一样的色彩。 于是,不同的人理解这句话,有着不同的看法。我们并不想在这句话本身做更多的讨论,那太“宗教哲学”了。 你们看那天上的飞鸟,不稼不穑,我尚且养活它们,你们不比那飞鸟贵重得多吗? ----《马太福音》 我们在这里至少看到了飞鸟就是一个对象,而在我们的世界中,充满了各式各样的对象,人,飞鸟,百合花。 齿轮,轴... 阅读全文
posted @ 2008-06-06 10:48 甘草 阅读(536) 评论(0) 推荐(0) 编辑

摘要: Preview不久前,我在CSDN的blog上写了几篇关于面向对象理论的小文章。http://blog.csdn.net/Slugfest/category/359453.aspx但是现在,我觉得还有更多的东西可以讲,就是已经写出来的东西,也还有必要再修改修改,目的就是把我对面向对象理论的认识比较系统地表达出来。也希望可以给一些开发者以启示作用。这章的小标题,我所以称其为Preview,是因为我现... 阅读全文
posted @ 2008-06-06 10:11 甘草 阅读(740) 评论(0) 推荐(1) 编辑

Baidu
Google
心寄笔端
TEST
以后我会加上Power By的,先别介意