`
rstevens
  • 浏览: 94598 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
这是我的一篇旧文,发表在 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 讲了一种诊断方式, ...
Global site tag (gtag.js) - Google Analytics