
coding
crzc123
这个作者很懒,什么都没留下…
展开
-
线程同步的场景
主要是限制两个分别位于不同线程的方法,必须不能同时执行,这样避免了脏数据。一种思路是,锁住多个方法,比如读和写的方法都加上对象锁,这样就保证了通过同一个对象来调用读和写方法的两个线程中,读和写不能同时进行。代码设计如下:假设写方法耗时5s,用sleep来模拟。读方法几乎不耗时。当程序中的线程A(AThread)开始写的时候,线程B(BThread)此时需要读数据(模拟的时候原创 2015-05-26 16:49:23 · 977 阅读 · 0 评论 -
head first之面向接口编程
明白了什么是面向接口编程,以及面向接口编程的重要性之后。接下来看看如何做面向接口编程。比如一个Duck类,将其可能变化的行为部分从Duck类剥离,放入一个接口。Duck类通过声明一个接口类型如FlyBehavior flyBehavior,并动态地设置fyBehavior以在运行时引用正确的行为类型如FlyWithWings。Duck类通过FlyBehavior的具体实现类原创 2015-07-28 07:31:13 · 304 阅读 · 0 评论 -
使用多进程会造成的问题
当应用使用了多进程,各种奇怪的现象都有可能出现。所以进程间通信一般的使用场景是不同的应用之间通信,包括android framework中的service和client这样的。一般来说,如果在一个安卓应用中使用了多进程,那么以下问题需要注意:1.静态成员和单例模式失效。2.线程同步失效。3.SharedPreference的可靠性下降。4.Application会多次创建。原创 2016-02-27 20:10:32 · 1844 阅读 · 0 评论 -
python 单例模式的实现
1.把实例变量绑定到类。class A(object): def init(cls): if not hasattr(cls, "_instance"): cls._instance=A()原创 2015-12-02 12:49:48 · 388 阅读 · 0 评论 -
编程思想之封装
封装,非常形象的两个字,就是用一个袋子把一坨东西装起来,只留一个开口处。衡量封装的好坏,就是看开口处的数量,越少越好。然而,也不必过度封装,对于一些万年不可能变的逻辑,就没必要封装了,毕竟袋子多了也是件麻烦事。原创 2016-01-29 00:06:41 · 1102 阅读 · 0 评论 -
进程和线程的使用
1.什么是线程,什么是进程。2.单个线程和单个进程的使用场景。3.多个线程和多个进程的使用场景。-什么时候需要开启新的线程或者进程。原创 2016-02-03 13:40:31 · 400 阅读 · 0 评论 -
编程之路
编程是开发的重要部分。编程之路包括,语言学习,操作系统,网络,数据库,算法。语言学习,包括语法,语言特性等。语言特性,包括面向对象,线程使用,同步等。原创 2016-02-19 21:38:29 · 322 阅读 · 0 评论 -
未实例化,先使用
本例子来源: http://bbs.youkuaiyun.com/topics/380032132原创 2015-05-26 16:57:13 · 432 阅读 · 0 评论 -
python 类成员的访问权限
_method1 表示是私有方法,除非定义方法的类实例,否则是访问不到的。__init__好像除外?__method1 为了和子类区分,会被认作是_className__method1.仍然还是私有方法。原创 2015-10-30 13:15:27 · 3456 阅读 · 0 评论 -
head first读书收获
关于游戏鸭子的设计。程序设计包括:1.功能实现,这是为用户现预期的功能。2.代码可读性,这是为代码阅读者提供友好的阅读体验,所谓优美的代码。3.扩展性,这是为后续功能开发提供便利。在我看来,设计模式主要关注点是程序的扩展性和可读性。现在看到12页了,收获了几个观点,也就是书中用小方框框起来的设计原则:1.找出应用中可能需要变化之处,把它们独立出来。比如鸭子的行为,有些会原创 2015-07-25 18:49:35 · 316 阅读 · 0 评论 -
重写(override),重载(overload),多态(polymorphism)
表面看起来似乎很容易混淆,其实区别很大,主要是使用场景不同。1.重写,一般是用于子类在继承父类时。父类和子类,只是函数内部的实现不一样,其他都必须一样。2.重载,一般是用于在一个类内实现若干重载的方法,这些方法的名称相同而参数形式不同。最常见的例子,就是一个类有多个构造方法。再比如,一个形状类,其getSides方法根据具体形状比如三角,矩形而具有不同的输入输出参数。和其他类无关,原创 2015-06-25 22:07:55 · 707 阅读 · 0 评论 -
coding的共通原则
或许要买本代码大全看看了。不过我自己总结的话,coding就像写文章,不管用英语,法语,日语,还是中文。其都有一些共通的实践原则。比如,列好提纲,总分总结构等等。在通常的项目中,我们选择一门编程语言来使用,并不一定要把该语言的语法,特性全部搞懂。只要能很好地表达我我们的意图,让计算机和人,都能很好的理解,这就够了。大多数情形,我们都还不到非要完全吃透这门编程语言的地步,就好原创 2015-06-17 22:12:38 · 502 阅读 · 0 评论 -
UML
继承实现依赖:用船过河关联:客户和订单聚合:强关联,has a,可分组合:强聚合,contain a,不可分内部类原创 2016-03-25 13:53:05 · 414 阅读 · 0 评论