设计模式是从许多优秀的软件系统中总结出来的代码设计经验,也就是一些扩展性、灵活性好,易于维护和复用的设计方案,这可是前辈们的头破血流换来的。我们要站在巨人的肩膀上,吸取宝贵的经验,设计出优秀的软件系统来面对这个需求日新月异的信息时代。
设计模式以实现”六大原则“为方针,主要有23个,分为三大类。...
分类:
其他好文 时间:
2014-06-05 03:51:39
阅读次数:
214
IO中读写文件操作方法(file-like对象)汇总!----The_Third_Wave的学习笔记!...
分类:
编程语言 时间:
2014-06-05 01:05:48
阅读次数:
612
近日在写一个简易的操作系统,经常受到bug的偷袭,由于开发OS的特殊性,一些常规的debug手段用不上,于是打算记录下自己的debug过程,用于交流。
Problem:
在做图层叠加时,引入结构体SHTCTL进行各个图层的管理,但遭遇了黑屏,原因可能来自于图层管理模块、内存管理模块或其他未知原因。
Solution:
恢复到上次不黑屏的版本(即去掉图层管理模块),果然可以进行显示。在此基础...
分类:
其他好文 时间:
2014-06-05 07:16:45
阅读次数:
199
无高见
1.缓存
from functools import wraps
lineseq = '==' * 20
def memo( func ):
cache = {}
@wraps( func )
def wrapper( *args ):
result = cache.get( args )
if resul...
分类:
编程语言 时间:
2014-06-05 11:07:06
阅读次数:
324
【题目】
You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
【题意】
有个梯子有n阶,每次只能爬1阶或者2阶,为爬到梯子顶共有多少种爬法
【思路】
依次确定跳到每一阶上的爬法数目
这其实是一...
分类:
其他好文 时间:
2014-06-05 07:16:08
阅读次数:
203
; WIP Last Changed Rev: 2172
;**************************************************************************************
; Copyright 2011 Aptina Imaging Corporation. All rights reserved. ...
分类:
其他好文 时间:
2014-06-05 10:55:01
阅读次数:
330
二者区别,简而言之,在于StringBuffer内部实现了线程同步,而StringBuilder没有。
二者均继承自AbstractStringBuilder。
JDK源码中可以看得更清楚些。
=============================
从源码中可以看出,子类AbstractStringBuilder已经实现了所有的操作,String...
分类:
其他好文 时间:
2014-06-05 06:47:58
阅读次数:
220
算法训练 数组查找及替换
时间限制:1.0s 内存限制:512.0MB
问题描述
给定某整数数组和某一整数b。要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在A到Z的ASCII之间,替换为对应字母。元素个数不超过100,b在1至100之间。
输入格式
第一行为数组元素个数和整数b
第二行为数组...
分类:
其他好文 时间:
2014-06-05 12:27:12
阅读次数:
224
谈到三层,大家脑子里会立马浮出:显示层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。就是将整个业务应用划分为这三个层次。
三层结构是基于模块化程序设计的思想,为实现分解应用程序的需求,而逐渐形成的一种标准模式的模块划分方法。目的是为了解耦合,也是就是实现“高内聚、低耦合”的思想。
显示层UI
通俗的讲就是展现给用户的界面,及用...
分类:
其他好文 时间:
2014-06-05 06:47:21
阅读次数:
214
总结下python中线程调度机制.
对于线程调度机制而言,同操作系统的进程调度一样,最关键是要解决两个问题:
1.在何时选择挂起当前线程,并选择处于等待的先一个线程呢?
2.在众多等待的线程中,选择哪一个作为激活线程呢?
在python多线程机制中,这个两个问题是有两个层次解决的。
如,进程间的切换,当发生了时钟中断,操作系统响应时钟中断,并在这个时候开始进程的调...
分类:
编程语言 时间:
2014-06-05 10:07:35
阅读次数:
314
在Android 4.0 之前可以通过下面的方式获取屏幕的宽高:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int
mScreenW = dm.widthPixels; //得到宽度
...
分类:
移动开发 时间:
2014-06-05 09:30:38
阅读次数:
213
集合框架总览:
Collection 接口常用方法
//1.add()向集合中添加数据
c.add(apple01);
c.add(apple02);
c.add(apple03);
c.add(apple04);
c.add(apple05);
//2.isEmepty()检测当前集合是否为空
boolean empty = c.isEmpty();
System.out.println("i...
分类:
编程语言 时间:
2014-06-05 08:52:09
阅读次数:
323
POSIX信号量相关函数:
sem_open
sem_close
sem_unlink
sem_init
sem_destroy
sem_wait
sem_post
POSIX互斥锁
pthread_mutex_init
pthreaad_mutex_lock
pthread_mutex_unlock
pthread_mutex_...
分类:
其他好文 时间:
2014-06-05 12:39:14
阅读次数:
412
阅读java.util.TreeMap的笔记,对类既成关系,定义,要点,关键函数实现进行了描述...
分类:
其他好文 时间:
2014-06-05 08:02:38
阅读次数:
254
在ie、firefox、chrome浏览器上显示的效果不太一样,主要是前面的空格宽度不同。网上资料说不同的浏览器会有不同的默认字体,一般 IE默认字体都是宋体,而firefox和chrome的默认字体是Times New Roman,宋体是字符等宽的字体,但Times New Roman不是字符等宽的字体,因为浏览器默认字体的不同,空格符 在不同的浏览器下面的显...
分类:
其他好文 时间:
2014-06-05 11:06:30
阅读次数:
234
阅读java.util.HashMap的笔记,对类既成关系,定义,要点,关键函数实现进行了描述,也思考并提出了一些问题。...
分类:
其他好文 时间:
2014-06-05 06:46:43
阅读次数:
325