自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (1)
  • 收藏
  • 关注

转载 如果在Linux平台可以用gdb进行反汇编和调试

<br />如果在Linux平台可以用gdb进行反汇编和调试。(转自http://www.cppblog.com/liu1061/articles/53762.html)<br /><br />2. 最简C代码分析<br /><br />    为简化问题,来分析一下最简的c代码生成的汇编代码:<br />    # vi test1.c<br />      <br />    int main()<br />    {<br />        return 0;<br />    }   <b

2011-05-13 23:14:00 621

转载 Oracle 备份与恢复

<br /><br />备份与恢复是数据库管理中最重要的方面之一。如果数据库崩溃却没有办法恢复它,那么对企业造成的毁灭性结果可能会是数据丢失、收入减少、客户不满等。不管公司是使用单个数据库还是多个数据库来存储数百 GB 或 TB 的数据,它们都有一个共同点,即需要制订一个备份与恢复方案来备份重要数据并使自身免于灾难。<br />备份与恢复基础<br />备份是数据的一个代表性副本。该副本会包含数据库的重要部分,如控制文件、重做日志和数据文件。备份通过提供一种还原原始数据的方法保护数据不受应用程序错误的影响并

2011-01-08 15:50:00 507

转载 如何删除归档日志文件

<br />我们都都知道在controlfile中记录着每一个archivelog的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的<br />controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了!这时候我们要做手工的清除的话,下面我经过实验,可以尝试这种方法:<br /><br />

2011-01-07 13:08:00 672

转载 Orcale学习---表空间、数据文件和控制文件——数据库概念

<br /><br />这章介绍了表空间、数据文件和控制文件的概念。<br /> <br /><br />数据库、表空间和数据文件是紧密相关的,它们的关系如下:<br />一个Oracle数据库由一个或多个逻辑存储单元——表空间构成,表空间存储着数据库中所有的数据;<br />Oracle数据库中的每个表空间由一个或多个文件组成,这些文件就是数据文件,它们是Oracle所在操作系统上的物理结构。<br />Oracle数据库中的所有数据物理的存储在数据文件中。<br /> <br />除了普通表空间外,Or

2011-01-06 15:37:00 724

转载 《深入解析ORACLE》学习笔记(1)---ORACLE数据库启动与关闭

<br /><br /> 转自:http://blog.csdn.net/kanon_lgt/archive/2010/09/14/5883427.aspx<br />[声明:本文是学习著名ORACLE DBA盖国强先生的大作《深入解析ORACLE--DBA 入门 进阶与诊断案例》的学习笔记与心得体会。在此声明,文中摘录了书中部分内容,非是出于抄袭目的,而是有感于盖国强先生所写确实经典。在此声明对原作者的尊重与敬佩。]<br />第一章 ORACLE启动与关闭 <br />   <br />一.Oracle

2010-12-21 21:44:00 653

转载 登录oracle数据库时常用的操作命令整理

登录oracle数据库时常用的操作命令整理1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。2、sqlplus /nolog 或sqlplus system/manager 或./sqlplus system/manager@ora9i;3、SQL>connect / as sysdba ;(as sysoper)或connect internal/oracle AS SYSDBA ;(scott/tiger)conn sys/change_on_ins

2010-12-21 21:14:00 527

转载 启动关闭数据库

1. 启动和关闭数据库:Oracle体系结构参考:1.1 ORACLE数据库的启动: 启动ORACLE的一般步骤:第一步是实例(instance)本身启动。此时,内存被分配,各种后台进程启动。第二步是挂载(mount)数据库,此时可访问数据库文件。最后一步是打开数据,此时用户可访问数据库中的数据。 尽管通常情况下启动数据库ORACLE要经历三个步骤。在启动过程中,有时候需要使ORACLE停在某一步。以下是相关操作的语法 (假设ORACLE已启动,可使用shutdown命令先关闭ORACLE)STARTUP或

2010-12-21 20:52:00 575

转载 C/C++——字符串和字符数组

<br /><br /> C语言中没有专门的字符串变量,如果要将一个字符串存放在变量中,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中每一个元素存放一个字符。<br /><1> 定义: char c[10]<br />字符型与整型互相通用,因此 int c[10] 也可以定义字符数组。但由于两种类型分配字节不同, 用整型来定义会浪费空间, 另外这样定义实际意义也不大, 只是为了说明其合法性。<br /><br /><2> 初始化: <br /><br />    最简单的方法即逐个赋值:

2010-12-10 16:54:00 608

转载 Java关键字final、static使用总结

<br /><br />一、final <br /> 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 <br />final类不能被继承,没有子类,final类中的方法默认是final的。 <br />final方法不能被子类的方法覆盖,但可以被继承。 <br />final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 <br />final不能用于修饰构造方法。 <br

2010-12-10 15:58:00 307

转载 关于C++ const 的全面总结

<br /><br />C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。<br />Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。<br /> <br />一、Const作用<br />   如下表所示:<br />No.<br />作用<br />说明<br />参考代码<br />1<br />可以定义const常量<br /><br

2010-12-10 15:49:00 310

原创 数组与指针的区别

我们在定义一个字符数组的时候,可以用两种方法,一是定义成字符指针形式,一是定义成字符数组形式。例如:char *p="123456";        char q[]="abcdef";很多时候我们就把这两者混淆了,认为p就等于q。其实两者是有区别的。如下例:源程序:#include "stdio.h"int main(){        char *p="123456";        char q[]="abcdef";        printf("%p/n",p);   //打印p中保存的内容,其内

2010-12-03 21:52:00 351

转载 通过 ulimit 改善系统性能

<br />转自:http://www.ibm.com/developerworks/cn/linux/l-cn-ulimit/<br /> <br />孙 翎, 软件工程师, WSO2 Inc叶 光昶, 软件工程师, EMC潘 宁河, 软件工程师, EMC<br /> <br />简介: 本文介绍了 ulimit 内键指令的主要功能以及用于改善系统性能的 ulimit 使用方法。通过这篇文章,读者不仅可以了解 ulimit 所起的作用,并且可以学会如何更好地通过 ulimit 限制资源的使用来改善系统性能

2010-12-03 21:06:00 510

转载 SHA1算法实现及详解

<br /><br />1 SHA1算法简介<br />安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。<br />SHA1有如

2010-12-03 11:30:00 358

转载 SHA1算法实现及详解

<br /><br />1 SHA1算法简介<br />安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。<br />SHA1有如

2010-12-03 11:30:00 722

转载 MD5算法详解

<br />转载自http://blog.163.com/cissyxxy0629@126/blog/static/28702276201022691836522/<br /> <br />最近读一本书《加密与解密》,其中讲解MD5算法的那一段让人不知所云,云里雾里。我甚至怀疑作者是否真的懂MD5算法,抑或是从网上胡乱攒了些文字冒充行家。为了使我对作者的鄙视更有力,我决定自己整理一份较清晰明了,通俗易懂的中文的MD5算法说明。<br /><br />●MD5算法简介<br />      MD5算法是单向散

2010-12-02 17:04:00 6845 2

转载 MD5详解(附代码)

<br />/************************************************ MD5 算法的Java Bean @author:Topcat Tuppin Last Modified:10,Mar,2007 *************************************************/  package publicBean;  /************************************************* md5 类实现了RSA

2010-12-02 16:40:00 4321

转载 CreateThread 使用不当引起内在泄露? CreateThread 和 _beginthreadex 区别。

<br /> <br />在 Win32 API 中,创建线程的基本函数是 CreateThread,而 _beginthread(ex) 是C++ 运行库的函数。为什么要有两个呢?因为C++ 运行库里面有一些函数使用了全局量,如果使用 CreateThread 的情况下使用这些C++ 运行库的函数,就会出现不安全的问题。而 _beginthreadex 为这些全局变量做了处理,使得每个线程都有一份独立的“全局”量。所以,如果你的编程只调用 Win32 API/SDK ,就放心用 CreateThread;

2010-11-20 10:37:00 540

转载 open和fopen的区别

<br /><br />UNIX环境下的C 对二进制流文件的读写有两套班子:1) fopen,fread,fwrite ; 2) open, read, write<br />这里简单的介绍一下他们的区别。<br /><br />1. fopen 系列是标准的C库函数;open系列是 POSIX 定义的,是UNIX系统里的system call。<br />也就是说,fopen系列更具有可移植性;而open系列只能用在 POSIX 的操作系统上。<br /><br />2. 使用fopen 系列函数时要定义

2010-09-26 16:22:00 432

转载 extern用法详解

对于回车换行符:1:在windows创建好文件保存时,会写入“/r/n”,而当以文本文件方式打开读fopen("file.txt","r")时,会将“/r/n”自动转化为“/n",然后送到缓存。而如果以二进制文件方式打开读fopen("file.txt","rb")时,则不会转化,同样会读出”/r“。2:而对于Linux系统,回车换行符就只有一个”/n“,读文件时均以二进制方式读取,所以读取方式中加“b”并无实际意义。3:windows下创建的文件到Linux下读取会读到“/r”,在windows下以文本文

2010-09-26 15:32:00 374

转载 Linux-epoll

在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明: #define __FD_SETSIZE    1024表示select最多同时监听1024个fd,当然,可以通过修改头文件再重编译内核

2010-07-22 17:40:00 410

转载 linux epoll技术介绍

 转自 http://blog.chinaunix.net/u3/94284/showart_2052563.html在 linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于 select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd 数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:<br />#d

2010-07-22 17:29:00 346

转载 关于硬链接和软连接(符号链接)的区别

linux系统下提供ln指令来进行文件链接。文件链接主要分为硬链接和软链接。   硬链接:由于linux下的文件是通过索引节点(Inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配inode。每添加一个一个硬链接,文件的链接数就加1。    可以用:ln命令来建立硬链接。语法: view plaincopy to clipboardprint?ln [options] existingfile newfile  ln[options] existingfile-li

2010-06-24 15:33:00 937 1

转载 Linux 系统命令及其使用详解(大全)

<br /><br />(来源: 中国系统分析员)<br />  cat cd <br />  chmod chown <br />  cp cut<br />  名称:cat <br />  使用权限:所有使用者 <br />  使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName <br />  说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案) <br />  参数: <br />  -n 或 --number 由 1

2010-06-20 14:58:00 367

转载 探究Windows内核你知多少

<br />如上所述,现代操作系统的一个明显特征就是用户空间和系统空间的划分,从UNIX时代以来,人们一直把存在于系统空间的代码和数据的集合称为“内核(Kernel)”,因此内核是有明确边界的。空间的不同,或者说CPU运行模式(系统态和用户态)的不同,是不会被混淆的本质区别。可是,在Windows的术语中却不同,微软并不把系统空间的所有代码和数据的集合称为内核,而是把这里面的一部分,即比较低层、与硬件靠得最近因而最为核心的一部分称为“内核”,即Kernel。实际上,这也反映了当初微软在决策上的举棋不定,因为

2010-06-20 14:52:00 427

转载 关于GDT

书中《80x86编程》(杨季文)对段选择子是这样解释的: 段选择子长16位,其格式如下表所示。从表中可见,段选择子的高13位是描述符索引(Index)。所谓描述符索引是指描述符在描述符表中的序号。段选择子的第2位是引用描述符表指示位,标记为TI(Table Indicator),TI=0指示从全局描述符表GDT中读取描述符;TI=1指示从局部描述符表LDT中读取描述符。 选择子确定描述符,描述符确定段基地址,段基地址与偏移之和就是线性地址。所以,虚拟地址空间中的由选择子和偏移两部

2010-06-20 14:51:00 964 2

转载 关于GDT

书中《80x86编程》(杨季文)对段选择子是这样解释的: 段选择子长16位,其格式如下表所示。从表中可见,段选择子的高13位是描述符索引(Index)。所谓描述符索引是指描述符在描述符表中的序号。段选择子的第2位是引用描述符表指示位,标记为TI(Table Indicator),TI=0指示从全局描述符表GDT中读取描述符;TI=1指示从局部描述符表LDT中读取描述符。 选择子确定描述符,描述符确定段基地址,段基地址与偏移之和就是线性地址。所以,虚拟地址空间中的由选择子和偏移两部

2010-06-20 14:51:00 583

转载 Linux用Nasm巧汇编

<br />随着Linux的普及,如何在Linux平台下进行编程,尤其是汇编成为大家关注的一个问题,但是这方面资料却很少。在遍访网站和论坛后,我把收集到的资料结合本人总结的一些经验跟大家分享一下。<br /><br />  Nasm介绍<br /><br />  Linux下的汇编编译器有多种,语法也不尽相同,其中GAS是比较基本的汇编工具。但是GAS采用的不是我们通常在DOS体系下使用的汇编语法,它采用的是AT&T的语法格式,这是继承Unix的特点,与Intel语法格式有很大的不同。<br /><br /

2010-06-20 14:50:00 591

转载 在linux下安装NASM

参考《NASM中文手册.pdf》1.3.2 在unix 下安装NASM 如果你得到了 Unix 下的NASM 源码包'nasm-x.xx.tar.gz'(这里x.xx 表示该源码包中的 nasm 的版本号),把它解压压到一个目录,比如'/usr/local/src'。包被解压后会创建 自己的子目录'nasm-x.xx' NASM 是一个自动配置的安装包:一旦你解压了它,'cd'到它的目录下,输入'./configure', 该脚本会找到最好的 C编译器来构造 NA

2010-06-20 14:50:00 9658

转载 bochs在window环境下的调试

<br />最近头大之至,一直想用bochs调试,结果她的魅力远胜于想象。网上流传很多bochs的调试大多盲目转载且内容大为英文 帮助的翻译,下面是我在一大师的博客上转帖过来的,关于用bochs进行调试的步骤和实践过程中使用的例子。<br />     注:1.大师博客:http://www.cnblogs.com/smwikipedia/<br />           2.本文中所使用的bochs的版本为v2.1.1,否则有些命令不兼容<br />正文--------------------------

2010-06-20 14:49:00 1088

转载 从DOS命令到制作IMG的详细教程

<br />第一课  基本 DOS 命令集详细解说第一课  基本 DOS 命令集详细解说<br />path    指向路径命令:<br />           path=c:/dos;c:/windows;c:/ 这条命令就是说,当我们执行一个文件时,电脑先在当前目录下查找这个文件,找到则执行,如果没有找到,则电脑按照path命令所指定的目录顺序去查找,先在C盘dos目录下,然后在windows目录下,最后在C盘根目录下寻找这个文件<br /><br />edit    编辑命令:<br />     

2010-06-20 14:47:00 1641

转载 用Bochs调试NTLDR

<br />对一台安装了Windows NT 系列操作系统的PC来说,按下电源开关之后,CPU中首先开始运行的是Bios,然后是MBR,接着是引导扇,然后就是NTLDR。ntoskrnl.exe和 hal.dll 都是由NTLDR来加载的。也就是说,运行NTLDR的时候,系统中还没有任何应用程序或者驱动,当然也就没有任何基于软件的调试器可用。当然,无所不能的硬件调试器肯定是可以的,可惜我们没有硬件调试器。 幸好有了Bochs。Bochs是一个基于LGPL的开源x86 虚拟机软件。Bochs的CPU指令是完全

2010-06-20 14:45:00 436

转载 关于.bin格式的文件

<br />所有的文件, 无论后缀名是什么, 一律分为两种格式. text 和 binary. <br />一个后缀名为.bin的文件, 只是想表明它是binary格式. 但并不表明它与某种应用程序有必然的联系性. <br />虚拟光盘文件常用.bin作为后缀, 但并不意味着所有.bin文件都是虚拟光盘. <br />如果你的daemon无法正常安装它. 说明它很可能不是虚拟光盘.

2010-06-20 14:43:00 817

转载 汇编语言常识

<br />一 数据表示<br />1 <br />十进制结尾用D或d<br />二进制结尾用B或b<br />十六进制结尾用H或h<br />八进制结尾用Q或q<br />2 字符的ASCII表示<br />标准的ASCII字符集分为4组,每组32个字符。<br />第一组 0~1FH 是一组不可打印字符,称为控制字符<br />第二组 各种标点符号、专用字符和数字<br />第三组 26个大写字母(41H~5AH)及6个专用字符<br />第四组 26个小写字母及(61H~7AH)5个专用字符和一个控制

2010-06-20 14:42:00 4037 1

转载 编写汇编语言的工具

<br />  (1).编辑器:用于编辑源代码的ASCII文本,Windows下可供使用的主要编辑器有记事本,EditPlus,UlterEdit等.在Linux下可用的编辑器有Vi和Emacs等,DOS下可用Edit.<br />  (2).汇编编译器:把汇编语言源程序转换为机器语言的程序,汇编编译器也可以生成源代码列表文件,其中包括行号,内存地址,源代码语句,程序中使用的符号及变量,交叉引用列表.<br />在Windows/Dos 下可用的汇编编译器有Microsoft宏汇编编译器MASM,Borla

2010-06-20 14:41:00 5305

转载 汇编指令长度计算方法

<br />指令长度与寻址方式有关系,规律或原则如下:<br />一、没有操作数的指令,指令长度为1字节。如<br />es:<br />ds:<br />cbw<br />xlat<br />等。<br />二、操作数只涉及寄存器的指令,指令长度为2字节。如<br />mov al,[si]<br />mov ax,[bx+si]<br />mov ds,ax<br />等。<br />三、操作数涉及内存地址的指令,指令长度为3字节。如<br />mov al,[bx+1]<br />mov ax,[bx

2010-06-20 14:39:00 1091

转载 #ifndef宏定义用法

<br />#ifndef   #ifndef x<br />  #define x <br />  ...<br />  #endif<br />  这是宏定义的一种,它可以根据是否已经定义了一个变量来进行分支选择,一般用于调试等等.实际上确切的说这应该是预处理功能中三种(宏定义,文件包含和条件编译)中的一种----条件编译。 C语言在对程序进行编译时,会现根据预处理命令进行“预处理”。C语言编译系统包括预处理,编译和链接等部分。<br />  #ifndef x<br />  //先测试x是否被定义过<

2010-06-20 14:35:00 1202

转载 一致代码段和非一致代码段

<br />11111111111111111<br />一致代码段:<br />非一致代码段.<br />之所以出现这个定义是因为系统要安全:内核要和用户程序分开..内核一定要安全.不能被用户程序干涉.<br />但是有时候用户程序也需要读取内核的某些数据,怎么办呢?<br />于是os将内核程序开辟一些可以供用用户程序访问的段.但是不允许用户程序写入数据.<br />1.内核不用知道用户程序的数据.内核不用调用用户程序的数据.内核不用转移到用户程序中来.<br />2.用户程序只能访问到内核的某些共享的

2010-06-20 14:34:00 549

转载 保护模式下三个重要的系统表——GDT、LDT和IDT

<br />这三个表是在内存中由操作系统或系统程序员所建,并不是固化在哪里,所以从理论上是可以被读写的。这三个表都是描述符表。描述符表是由若干个描述符组成,每个描述符占用8个字节的内存空间,每个描述符表内最多可以有8129个描述符。描述符是描述一个段的大小,地址及各种状态的。<br /> <br />描述符表有三种,分别为全局描述符表GDT、局部描述符表LDT和中断描述符表IDT。<br /> <br /> <br />1. 全局描述符表GDT:<br /> <br />全局描述符表在系统中只能有一个,且可

2010-06-20 14:33:00 804

转载 com文件与exe文件

<br />COM文件是一种可执行程序的内存映象文件,它与只有16位地址线的8位机上的CP/M操作系统下的可执行程序结构相似。在COM程序执行过程中,除了调用DOS功能和 ROM BIOS 功能,以及用户特意安排外,段寄存器一般不发生变化。四个段寄存器具有同样的内容,都指向PSP,因此程序的大小仍限于64k以内。COM文件的入口必须是100H,而EXE文件可以有多个段。其中CS和SS以及IP和SP在程序装入时由DOS根据文件头中的信息初始化,ES和DS则指向PSP。EXE文件除了程序本身外,还要包括文件头(

2010-06-20 14:32:00 8806 2

转载 控制寄存器(CR0,CR1,CR2,CR3)

<br />控制寄存器<br />(控制寄存器(CR0,CR1,CR2,CR3)用于控制和确定处理器的操作模式以及当前执行任务的特性。)<br />    从上表可见,80386有四个32位的控制寄存器,分别命名位CR0、CR1、CR2和CR3。但CR1被保留,供今后开发的处理器使用,在 80386中不能使用CR1,否则会引起无效指令操作异常。CR0包括指示处理器工作方式的控制位,包含启用和禁止分页管理机制的控制位,包含控制浮点协处理器操作的控制位。CR2及CR3由分页管理机制使用。CR0中的位5—位30及

2010-06-20 14:30:00 869

搜索引擎-原理、技术与系统

pdf 高清文字版 本书比较系统地介绍了互联网搜索引擎的工作原理、实现技术及其系统构建方案。全书分三篇共13章内容,从基本工作原理概述开始,到一个小型简单搜索引擎实现的具体细节,进而详细讨论了大规模分布式搜索引擎系统的设计要点及其关键技术;最后面向主题和个性化的Web信息服务,阐述了中文网页自动分类等技术及其应用。本书层次分明,由浅入深;既有深入的理论分析,也有大量的实验数据,具有学习和实用双重意义。

2010-07-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除