51CTO博客开发测试/python博客java学习博客
1.多线程基本概念1.1 进程和线程进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进程中的线程共用相同的地址空间,同时共享进程锁拥有的内存和其他资源。1.2
Linux下的备份技术1、备份前因考虑的因素● 可移植性(即在Red Hat Linux系统下执行的备份在另外一个系统上恢复的能力)。 ● 是否自动备份。 ● 执行备份的周期。 ● 需要把归档的备份保存多长时间。 ● 用户界面的友好性(决定是否需要选择基于GUI界面的工具还是基于文本的)。 ● 是否需要使用压缩技术、直
使用"'$var'"(或者'"$var"')形式root@ypyu-VirtualBox:/usr/local/shellscript/code/CH12# awk 'BEGIN{print "'$var'"}'testroot@ypyu-VirtualBox:/usr/local/shellscript/code/CH12# awk 'BEGIN{print "$var"}'$var如果var中
由于内存管理的一些机制,进程的用户空间是相互独立的,一般是不能相互访问的,唯一例外的是共享内存。因此我们需要利用一些介质来完成进程间的通信。进程间通信方式:(1)管道linux中的管道分为无名管道和有名管道,前者用于父进程和子进程间的通信,后者用于任意两个进程间的通信。无名管道由pipe(int filedis[2])函数创建。参数filedis返回两个文件描述符。filedes[0]为读而打开,
面向对象强调系统的结构应该直接与现实世界的结构相对应,系统应该是围绕对象来构造的,而非功能。从程序设计的角度来看,面向对象的程序设计应该是对象及其相互之间关系的语言成分。可用以下几句话慨括面向对象程序设计:系统一切皆对象;对象是属性和操作的封装体;对象可按性质划分为类;对象称为类的实例;实例关系和继承关系是对象的静态关系;消息传递时对象的动态联系;方法是消息的序列。面向对象的三个基本特征:封装、继
现在的操作系统基本都实现了TCP/IP协议,TCP/IP协议栈分为五层:应用层:向用户提供的一组常用的应用程序,如TELNET,FTP,SMTP,SNTP,DNS,HTTP,这些应用程序有一个端口用来标识。传输层:主要协议是TCP和UDP,提供应用程序的通信。网络层:主要协议是IP协议,定义了IP地址格式,是不同应用程序的数据在网络上通畅传输的关键。链路层:这是TCP/IP软件的最低层,负责接收I
1、什么是僵尸进程?僵尸进程是指子进程比父进程先结束,而父进程却没有回收子进程,释放子进程占用的资源。僵尸进程也一直在进程表中占着一个slot,但进程表容量有限,defunct进程不仅占用系统资源,还影响系统性能,如果其数目较多还可能导致系统瘫痪。这里有个形象的解释:进程在退出后就立刻变成了僵尸,然后等父进程收尸;如果这时它的父进程已经死了,也就是说这个进程是个孤儿,它的父进程临死前”托孤“的in
在C/C++中,需要程序员手动地回收分配的内存,否则一直被占用,这就会带来一些问题,当程序员忘记回收无用内存或者错误回收程序核心类库的内存,都会导致程序的崩溃。在java中不必程序员关心内存回收,当没有对象引用的对象所占用的内存(注意不是对象本身)时,java视其为垃圾,会有JRE在后台自动完成回收。这种机制称为垃圾回收机制(Garbage Collection ,简称GC)。下面我们来回答下面几
计算机高级语言按程序的执行方式可分为:编译型语言和解释型语言。编译型语言是指使用专门的编译器、针对特定的平台,将源程序编译成该平台可以执行的机器码(包括机器指令和操作数),即目标程序,编译结束后,可能还需要链接其他目标程序,最终生成可执行性程序,实现底层次的复用。编译生成的可执行性程序可以脱离开发环境,在特定的平台上独立运行。但是编译型语言的程序平台依赖性强,当移植到其他平台上时需要重新编译。这类
首先来了解一下进程和线程。进程是一个应用程序执行时的一个实例。从内核的观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。一个进程由几个线程组成(拥有很多相对独立的执行流的用户程序共享应用程序的大部分数据结构),线程与同属一个进程的其他的线程共享进程所拥有的全部资源。简单的来说就是,进程
触发器是一种特殊的存储过程,它在插入、删除或修改数据库中的数据时触发执行,它使得数据库能更精准地对数据控制。数据库触发器有如下作用:(1)安全性。可以基于数据库的某些值对用户的权限进行限制,例如:可以基于时间限制用户的操作,例如不允许下班后和节假日修改数据库数据。或者基于数据库中的数据限制用户的操作。(2)审计。可以跟踪用户对数据库的操作。(3)实现复杂数据的完整性。(4)同步实时地复制表中的数据
功能测试的优缺点:优点:(1)功能性测试与软件如何实现无关,如果实现发生了变化,功能性测试用例仍可用。(2)测试用例编写可以与软件开发同时进行缺点:(1)测试用例的数量大(2)测试用例可能产生很多冗余(3)功能性测试的覆盖范围不可能达到100%黑盒测试用例设计方法(1)等价类划分法测试用例是一组测试输入、执行条件和预期结果,我们可以对测试输入进行合理分类,划分成若干子集,然后从每个子集中选择一些有
二叉树的二叉树节点的描述public class BiTNode{char data;BiTNode lc,rc;}下面我们分别用递归和非递归实现前、中、后序遍历,以及使用了两种方法来进行层次遍历二叉树,一种方法就是使用STL中的queue,另外一种方法就是定义了一个数组队列,分别使用了front和rear两个数组的下标来表示入队与出队。1、前序遍历未完待续。。。
asynchat 是 asyncore 的扩展,提供面向行协议的支持,并提供增强的缓冲区支持,完成对socket数据的读写操作。Twisted框架层次比较多,在此只简单介绍一些常用的接口:1、asynchat提供了抽象类async_chat,在这个类中包括很多方法,其中collect_incoming_data:found_terminator()方法。async_chat.push(data):
Mysql数据库三种基本操作:DDL--数据定义语言(create,alter,drop,declare)DML--数据操纵语言(select,delete,update,insert)DCL--数据控制语言(grant,revoke,commit,rollback)Mysql基础语句1、创建数据库create database database_name2、删除数据库drop database
数据库关心的两个问题:数据如何存储?--从发展轨迹来了解早期数据库->关系数据库->其他类型数据库(面向对象数据库、NoSQL)关系数据库——主键主键的任务是根据主键快速在数据表中定位某条记录,主键必须唯一,必须有索引,主键字段几乎总是被用做另一个表的外键。关系数据库——表间关系数据表间的关联关系可以细分为3种:1:1关系(不常见)1:n关系(常见)n:m关系(常见)在设计数据库时,需
“自动化测试”正如它的名字一样,能够自动化的测试完成各种测试,常见的有:功能(黑盒)自动化测试、功能(白盒)自动化测试、性能测试、压力测试、GUI测试、安全性测试,他们都可以由测试自动化技术来代替手工测试。如何做到自动化呢,我们通过一些脚本代码实现,即用程序测试程序、用代码代替思维、用脚本运行代劳手工测试。影响自动化测试的关键因素是流程,它就像软件开发的过程一样,需要经历各类分析、框架及测试用例设
python中有很多的内置函数,所谓内置函数,就是在python中被自动加载的函数,任何时候都可以用。内置函数,这意味着我们不必为了使用该函数而导入模块。不必做任何操作,Python 就可识别内置函数。在今后的学习中,不断地去学习这些内置函数。getattr(object, name[, default])官网上对getattr()函数的说明如下:Return the value of the
1、嵌套函数定义在python中有一种特殊函数,这种函数定义在函数的内部,像这样定义在其他函数内的函数叫做内部函数,内部函数所在的函数叫做外部函数。我们还可以定义多层嵌套函数,即内部函数定义一个内部函数。内部函数定义很简单,同样使用def定义,只是定义在一个函数的内部,举个例子:>>> var=90 >>> def test():
面向对象中一个重要的特性就是继承,继承的好处就是提高代码的重用率,减少不必要的代码。继承是父类与子类的关系,当子类继承了父类后,就具有了父类的所有变量和方法。在python中定义继承的语法是:class 派生类名(基类名)。在使用python的继承时需要注意一下几点:(1)当父类定义了__init__()初始化方法时,子类不会自动调用,而需要我们显示调用,如果我们要扩展父类的变量,可以在
主机A的IP:192.168.10.2,网关:192.168.10.1主机B的IP:192.168.20.2,网关:192.168.20.1现在通过主机A ping 主机B来说明IP路由过程。1、因特网控制报文协议将创建一个回应请求包,将把这个有效负核交给因特网协议,然后因特网协议会创建一个数据包。这个数据包中会包含源IP地址、目的IP地址和值为01h的协议字段。当数据包到达目的地时,所有这些内容
环境:ubuntu 12.04前提:已经成功安装了JDK和Ecplise1、安装floodlightapt-get install build-essential default-jdk ant python-devgit clone git://github.com/floodlight/floodlight.gitcd&nb
一、登陆。QQ登录到QQ服务器时,会建立一个TCP连接来保持在线状态,TCP连接的远程端口一般是80,采用UDP方式登陆时是8000,但服务器不会一直保持与客户端的tcp通信,之后使用udp每隔一段时间发送心跳数据包来确定qq客户端是否还在网络中存活。由于qq客户端的ip地址不定,但账号是唯一的,因此当客户端a发送连接请求,服务器接收后,知道a上线了,会把qq端的a的账号和ip记录下来,保存在一个
正则表达式并不是python的一部分,正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。下
字符串方法str.strip([chars])返回字符串的副本,删除前导符和尾随符,chars参数为需要被删除的字符集,默认情况下删除空格,chars参数不是前缀或后缀,而是所有chars参数中的组合都被删除例如:>>> 'www.example.com'.strip('cmowz.') 'example' >>> '
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号