1.python的执行过程
1)对python源代码进行编译,产生字节码
2)将编译结果交给python虚拟机,由虚拟机按照顺序一条一条地执行字节码,产生执行结果
图7-1
2.Python编译器的编译结果——PyCodeObject对象
Python编译器的编译结果中包含了字符串、常量值、字节码等在源代码中出现的一切有用的静态信息。
在Python运行期间,这些静态信息被PyCodeObject对象中
在Python运行结束后,这些信息会被存储在pyc文件中
PyCodeObject对象和pyc文件是...
分类:
编程语言 时间:
2014-06-16 22:23:17
阅读次数:
228
NGINX中的进程能够绑定到指定的CPU 进程绑定CPU 线程绑定CPU...
分类:
其他好文 时间:
2014-06-15 18:53:27
阅读次数:
225
1. PyStringObject --> 变长不可变对象
typedef struct{
PyObject_VAR_HEAD//ob_size变量保存着对象中维护的可变长度内存的大小
longob_shash; //缓存该对象的hash值,用于dict的查询
intob_sstate; //标志该对象是否经过intern机制的处理
char ob_sval[1];// 字符指针,指向一段内存
} PyStri...
分类:
编程语言 时间:
2014-06-14 17:30:48
阅读次数:
309
1. PyIntObject --> long的一个简单包装
typedef struct{
PyObject_HEAD
long ob_ival;
} PyIntObject;
PyInt_Type --> PyIntObject的类型对象。与对象相关的元信息实际上都是保存在与对象对应的类型对象中的
PyTypeObject PyInt_Type = {
PyObject_HEAD_INIT(&PyType_Type)
0,
“int”,
//…
}
PyIntObject 所...
分类:
编程语言 时间:
2014-06-14 10:42:19
阅读次数:
313
1. 在python中,对象就是为C中的结构体在堆上申请的一块内存。对象不能被静态初始化,也不能在栈空间生存。但内建的类型对象都是被静态初始化的。
2. 对象创建后大小不变。可变对象有一指针指向可变大小的内存区域。
3. 对象机制的基石:PyObject...
分类:
编程语言 时间:
2014-06-14 10:20:49
阅读次数:
309
一.
Reactor模式简介Reactor释义“反应堆”,是一种事件驱动机制。和普通函数调用的不同之处在于:应用程序不是主动的调用某个API完成处理,而是恰恰相反,Reactor逆置了事件处理流程,应用程序需要提供相应的接口并注册到Reactor上,如果相应的时间发生,Reactor将主动调用应用程...
分类:
其他好文 时间:
2014-05-22 16:56:30
阅读次数:
278
从今天起我们来看一下Android中的多线程的知识,Android入门容易,但是要完成一个完善的产品却不容易,让我们从线程开始一步步深入Android内部。一、线程基础回顾package com.maso.test;
public class TraditionalThread {
public static void main(String[] args) {
/*
* 线程的第...
分类:
移动开发 时间:
2014-05-21 15:46:53
阅读次数:
372
前言
UglifyJS会对JS文件的变量名进行混淆处理,要理解Javascript变量混淆的细节,我们需要回答以下几个问题:
1.遇到一个变量myName,我们怎么知道这个myName变量要不要混淆
2.混淆名字怎么生成才合适,新的名字替换旧的名字时有什么要注意的地方?
3.哪些关键字会产生一个作用域?
4.作用域链跟符号表在UglifyJS里边是怎么体现?
5.UglifyJS混...
分类:
编程语言 时间:
2014-05-18 10:18:26
阅读次数:
348
[QQ群: 189191838,对算法和C++感兴趣可以进来] 直接逼入正题。Standard
Template
Library简称STL。STL可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adaptors)、算法(algorit...
分类:
其他好文 时间:
2014-05-14 03:55:43
阅读次数:
273