- 浏览: 96649 次
- 性别:
- 来自: 北京
-
最新评论
-
rstevens:
呵,这是我以前写的,重新整理了贴在这里的有什么问题,可以一起交 ...
Linux内核文件系统学习:虚拟文件系统(多图) -
liuxuejin:
好文章啊!不知道小弟有问题可以请教吗?
Linux内核文件系统学习:虚拟文件系统(多图)
文章列表
这是我的一篇旧文,发表在 CSDN,现重新进行了整理发表到 JAVAEYE。
分析是基于 Linux内核 2.4.30。
一、概述
Linux 文件系统是相当复杂的,本文只分析虚拟文件系统的实现,对具体的文件系统不涉及。
即使是虚拟文件系统,要在一篇文章中讲清楚也是不可能的,况且我自己的理解也不够透彻。
为什么选择 Linux 2.4.30?因为可以参考《Linux 源码情景分析》一书,减少学习难度。
二、基本概念
先介绍一些文件系统的基本概念:
1、一块磁盘(块设备),首先要按照某种文件系统格式(如 NTFS、EXT2)进行格式化,然后才能在其上进行创建目录、保存文件等操作。
2 ...
一套分布式系统的开发总结 (草稿)
一、“分布式系统”的定义:
分布式系统到底如何定义,我不了解;
我这里的“分布式系统”,指的是具有如下特点的系统:
1、 有多种业务逻辑组成
2、 业务之间需要通信
3、 业务有分布式的需求。
二、 分布式系统的需求:
1、 分布式
1)、 业务逻辑可部署在多台物理机器上
2)、 可扩展性: 当性能等遇到瓶颈后,可通过扩展来解决
3)、 可重新部署
2、 业务逻辑的控制:
1)、 启动、停止
2)、 重启
3、 业务状态监控:
1)、 运行状态
2)、 资源占用情况
4、 业务逻辑更新
1)、 程序升级
2)、 配置修改
3)、 模块升级
5 ...
本文例子来自于 <<lex & yacc >> 第二版
LEX 负责词法分析,每次解析出一个 token。
一、 token 的类型和值
token 具有类型,在计算器例子中,包括如下类型:
1)、 NUMBER 一串数字
2)、 NAME 一个名称
3 ...
1、 什么是装饰器
装饰器是对函数的修饰,形式如下:
@decorator(deco_args)
def func(func_args):
pass
它等价于
func = decorator(func)
调用 func() 相当于 decorator(func)()
也就是先调用 decorator, 并将 func 作为参数传递, decorator 进行一些装饰性处理,然后返回一个新的函数对象。 该函数对象必须与 func() 使用相同的参数形式
然后以传递给 func() 的参数,调用这个新的函数对象。
2、 带参数的装饰器
装饰器注意事项
当 ...
1、 什么是生成器
生成器是执行一个带 yield 语句的函数所返回的对象
def foo():
yield 1
yield 2
f = foo()
其中, type(foo) 是 function, 而 type(f) 是 generaotr
2、 生成器同时是迭代器
生成器对象,实现了 __iter__() 和 next() ,因此,生成器同时是一个 iterable 对象,即“可迭代”对象,可出现在 iterable 对象出现的场合。
3、 为什么需要生成器?
生成器的特点,在于它可以记住运行状态
以 foo() 函数为例,第一次调用的时候,返回 1 ...
1、 什么是迭代器
迭代器就是提供 next() 方法的对象
2、 如何使用迭代器
for v in it:
python 的 for 语句可对迭代器进行处理,它自动调用迭代器的 next() 方法进行遍历,并在遇到 StopIteration 异常后终止循环
3、 有哪些迭代器?
list, dict, 文件对象,都属于迭代器
4、 为自己的类增加迭代器功能
如果你的类满足迭代器的特性,那么只需要实现 __iter__() 和 next() 方法即可成为一个迭代器
5、 其它
凡是实现了 __iter__() 和 next() 方法的对象,都是迭代器;
实际上,pyth ...
对于一个用 python 实现的,长期运行的后台服务进程来说,如果内存持续增长,那么很可能是有了“内存泄露”。
最近在我的项目中,就出现了内存持续增长的情况,goolge 了一下,发现 Tracing Python memory leaks 讲了一种诊断方式, ...