- 博客(254)
- 收藏
- 关注
转载 C++ STL源码剖析
C++ STL源码剖析stl_config.hdefalloc.hstl_alloc.hmemory.cppstl_construct.hstl_uninitialized.hstl_iterator.htype_traits.hstl_vector.hstl_pair.hstl_list.hstl
2013-09-28 16:46:49 913
转载 O(1)时间复杂度求栈的最小元素
题目: 定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。 思路: 栈数据结构的特点是先进后出,push和pop操作都是对栈顶元素进行的操作,所以都是常数时间复杂度,即O(1),但是由于栈中数据是无序的,所以仅仅通过栈是无法得到最小元素的,又由于每次出栈和进栈都可能会使栈的最小元素发生变化,所以考虑用
2013-09-26 18:17:21 1176
转载 MySQL数据库引擎的快速指导
关键字: 如果你是个赛车手并且按一下按钮就能够立即更换引擎而不需要把车开到车库里去换,那会是怎么感觉呢?MySQL数据库为开发人员所做的就好像是按按钮换引擎;它让你选择数据库引擎,并给你一条简单的途径来切换它。 MySQL的自带引擎肯定是够用了,但是在有些情况下,其他的引擎可能要比手头所用更适合完成任务。如果愿意的话,你甚至可以使用MySQL++ API来创
2013-09-26 00:53:07 823
转载 MySQL数据库中存储引擎的详解
关键字: 存储引擎是什么? MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。 例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎。内存存储引擎能够在内存
2013-09-26 00:52:17 5442 1
转载 MySql数据库索引原理
本文主要是阐述mysql索引机制,主要是说明存储引擎Innodb第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。第二部分结合MySQL数据库中InnoDB数据存储引擎中索引的架构实现讨论聚集索引、非聚集索引及覆盖索引等话题。第三部分讨论MySQL中高性能使用索引的策略。 一、数据结构及算法理论
2013-09-26 00:42:06 9397 1
转载 数据库索引的实现原理
数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时
2013-09-26 00:40:26 932
转载 SphinxClient 类
SphinxClient 类(PECL sphinx >= 0.1.0)简介SphinxClient 为 Sphinx 提供了面向对象的接口.类摘要SphinxClient {/* 方法 */public int addQuery (string $query [, string$index = "*" [,string
2013-09-26 00:19:19 5596
转载 Sphinx速成指南
目录1. Sphinx简介1.1. 什么是全文检索1.2. 介绍1.3. Sphinx的特性2. Sphinx安装(For MySQL)2.1. Windows下安装2.2. Linux下安装3. 实例说明4. Sphinx配置5. 运行Sphinx6. 搜索(翻译)6.1. 匹配模式6.2. 布尔查询语法(Boolean query syntax)6.3. 扩展查询语法(
2013-09-26 00:17:24 1295
转载 sphinx
1. 为什么要使用Sphinx假设你现在运营着一个论坛,论坛数据已经超过100W,很多用户都反映论坛搜索的速度非常慢,那么这时你就可以考虑使用Sphinx了(当然其他的全文检索程序或方法也行)。2. Sphinx是什么Sphinx由俄罗斯人Andrew Aksyonoff 开发的高性能全文搜索软件包,在GPL与商业协议双许可协议下发行。全文检索是指以文档的全部文本信息作
2013-09-26 00:15:44 906
转载 C++中Static作用和使用方法
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; // global variable
2013-09-22 11:21:00 822
转载 java 多线程 start()和run()方法的区别
java中多线程的实现方式有两种,一种是继承java.lang.Thread类,另一种是实现java.lang.Runnable接口。下面是两种方式的简单代码。继承Thread类方式:[java] view plaincopyimport java.lang.Thread; //用集成Thread类方式实现多线程。
2013-09-17 19:49:13 922
转载 牛顿迭代法快速寻找平方根
下面这种方法可以很有效地求出根号a的近似值:首先随便猜一个近似值x,然后不断令x等于x和a/x的平均数,迭代个六七次后x的值就已经相当精确了。 例如,我想求根号2等于多少。假如我猜测的结果为4,虽然错的离谱,但你可以看到使用牛顿迭代法后这个值很快就趋近于根号2了:( 4 + 2/ 4 ) / 2 = 2.25( 2.25 + 2/ 2.2
2013-09-16 21:38:10 935
转载 各大IT公司校园招聘程序猿笔试、面试题集锦
百度一面1、给定一个字符串比如“abcdef”,要求写个函数编程“defabc”,位数是可变的。这个比较简单,我用的是strcpy和memcpy,然后他问有什么优化的办法,我就不知道了。2、socket过程就是socket的server和client整个流程写下来,这个还是没啥问题的。http://blog.csdn.net/aoxiangzhiguanjun/ar
2013-09-16 11:16:45 2480
转载 js调用可执行性文件
今天做了一个测试,源码是相当简单的,地球人中的编程人员是都知道写的,可是有个地方却始终是被忽略的,IE的安全级别要更改,否则会禁止跳出你所调用的系统exe文件,核心的说了不多说了~~~~~~~~源码如下:http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/1999/xhtml">
2013-09-13 09:24:28 1481
转载 phpmyadmin更改root密码
今天在家捣鼓php的wamp环境,用phpmyadmin打开mysql之后,发现提示我的默认用户root密码为空,不安全。于是我一时兴起将在phpmyadmin中将root用户的密码修改成了sa。如图: 点击最后面的编辑按钮,可以找到修改密码的地方。如图: 点击执行之后。就出问题了。系统报了入下错误:#1045 - Acces
2013-09-07 02:08:26 1788
转载 Linux系统的头文件和库文件搜索路径
原文:http://www.examda.com/linux/fudao/20080220/124013897.html Include的header文件,连结数据库,系统定义,总共有下列来源指定gcc去那找。 当初在编译时指定的(在~gcc/gcc/collect2.c:locatelib() 写在specs内的 后来用-D -I -L指定
2013-09-04 19:30:20 885
转载 linux 环境变量设置(临时 + 永久)
进入特权模式,编辑/etc/profile文件#vi /etc/profile在文件后加入:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mysql/lib/mysql/执行:#source /etc/profile一、环境变量环境变量是具有特殊名字的一个特定对象,包
2013-09-04 19:15:15 30648
转载 pkg-config与LD_LIBRARY_PATH
最近遇到的几个问题, 都和LD_LIBRARY_PATH有关, 想整理一篇心得, 但发现一片比较好的介绍文章, 就不再赘笔了。一、编译和连接一般来说,如果库的头文件不在 /usr/include 目录中,那么在编译的时候需要用 -I 参数指定其路径。由于同一个库在不同系统上可能位于不同的目录下,用户安装库的时候也可以将库安装在不同的目录下,所以即使使用同一个库,由于库的路径的不同,
2013-09-04 17:58:32 915
转载 LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,二者的含义和作用分别如下: LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目录。 LD_LIBRARY_PATH环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径,注意
2013-09-04 17:57:51 739
转载 Linux curses库使用
相信您在网路上一定用过如 tin,elm 等工具, 这些软体有项共同的特色, 即他们能利用上下左右等方向键来控制游标的位置. 除此之外, 这些程式的画面也较为美观. 对Programming 有兴趣的朋友一定对此感到好奇, 也许他能在 PC上用Turbo C轻易地写出类似的程式, 然而, 但当他将相同的程式一字不变地移到工作站上来编译时, 却出现一堆抓也抓不完的错误. 其实, 原因很简单, 他
2013-09-04 15:08:57 3110
转载 C++拷贝构造函数详解
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plaincopyint a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。
2013-09-04 15:01:09 729
转载 sigaction函数解析
sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作)。他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该使用这个接口)给信号signum设置新的信号处理函数act, 同时保留该信号原有的信号处理函数oldactint sigaction(int signo,
2013-09-03 16:37:01 7926
转载 UMD文件结构
概要介绍 UMD文件有三种格式类型,一种叫纯文本格式,一种叫漫画&写真集格式,以及连环画(文字+图画)。本文只涉及纯文本格式的UMD,后面将直接使用UMD指代这类格式的文件。 UMD文件总体上是由一组连续的块组成的,每一块按照约定的顺序先后排列在一起构成了UMD文件的结构。根据块的职责,我将其分成两类:功能块和数据块。有的功能块自身就可以完全的描述信息,而有的一些由于信息量大,特别地
2013-09-03 09:33:44 885
转载 gcc 4.7.1编译小结 bits/predefs.h等错误
最近想用gcc来dump一些信息出来,比如说文件依赖关系,ast。google了一下,有两种方法:hack跟plugin。codeviz是通过修改gcc3.4.6来dump出函数调用关系,而VCG是gcc的一个插件,用来可以用来分析控制流图,函数调用图等诸多信息。但gcc是到4.5之后才支持plugin的机制,我机器版本太低,下了gcc4.7.1(各版本的地址http://ftp.gnu.org/
2013-09-02 10:31:26 8259 1
转载 Ubuntu10.04下安装Qt4和创建第一个Qt程序
1.首先安装Qt4并采用Qt Creator进行开发演示(1)在Terminal中输入: sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer 其中: qt4-dev-tools 中包括了Qt Assistant,Qt Linguist,Qt
2013-09-02 00:51:43 785
转载 Java文件读写
java文件读取。(单字节读取和按行读取读取)java中很多关于文件读取的工作。操作也很平凡。所以java的文件读取是很重要的一部分。首先是单字节的读取工作。见源代码: 1package ReadFile; 2 3import java.io.FileReader; 4import java.io.IOException; 5 6publ
2013-07-31 01:21:10 975
转载 open与fopen的区别
1.open函数原型:int open(const char *path, int access,int mode)path 要打开的文件路径和名称 access 访问模式 宏定义和含义如下: O_RDONLY 1 只读打开
2013-07-25 16:11:40 858
转载 Eclipse导出jar
在Eclipse中通过Export直接打包jar文件,在操作正确的情况下,纯代码的工程中完全可以运行,没有任何意外;可是我们在工程中时常需要使用到图片、音频、或者是外部的jar文件,这时候再通过直接的Export导出jar时,Eclipse会给你一个惊喜(图片、音频、或者是外部的jar文件无法载入)其实这种情况eclipse完全考虑到了,他们提供了一个专门打包的插件“net.sf.fjep
2013-07-25 01:50:02 1206
转载 PHP 执行系统外部命令 system() exec() passthru()
区别: system() 输出并返回最后一行shell结果。 exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。 passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。 相同点:都可以获得命令执行的状态码 demo: 复制代码代码如下://system('dir'); // exe
2013-07-19 22:18:45 954
转载 JFreeChart
JFreeChart核心类库介绍: 研究jfreechart源码发现源码的主要由两个大的包组成:org.jfree.chart,org.jfree.data。其中前者主要与图形 本身有关,后者与图形显示的数据有关。具体研究如果大家有兴趣的话可以自己研究,以后有时间我会告诉大家怎么去 研究源码。 核心类主要有:
2013-07-19 22:01:51 848
转载 OpenMP(五)线程的调度优化
线程的调度优化1. 引言 通过前边的介绍,知道了并行区域,默认情况下会自动生成与CPU个数相等的线程,然后并行执行并行区域中的代码。对于并行区域中的for循环有特殊的声明方式,这样不同的线程可以分别运行for循环变量的不同部分。通过锁同步(atomic、critical、mutex函数)或事件同步(nowait、single、section、master)来实现并行区域的同步控制。
2013-07-19 21:54:22 2364
转载 OpenMP(四)线程同步之互斥锁函数
线程同步之互斥锁函数前文介绍了互斥锁同步的两种方法:atomic和critical,本章介绍OpenMP提供的互斥锁函数。互斥锁函数类似于Windows、Linux下的mutex。 1. 互斥锁函数 函数声明 功能 void omp_init_
2013-07-19 21:53:19 9005
转载 OpenMP(三) 线程同步
OpenMP --- 线程同步1. 引言 在OpenMP中,线程同步机制包括互斥锁同步机制和事件同步机制。 2. 互斥锁同步 互斥锁同步的概念类似于Windows中的临界区(CriticalSection)以及Windows和Linux中的Mutex以及VxWorks中的SemTake和SemGive(初始化时信号量为满),即对某一块代码操作进行保护,以保证同时只能
2013-07-19 21:51:12 2460
转载 OpenMP(二)
数据的共享和私有化1. 引言 在并行区域内,若多个线程共同访问同一个存储单元,并且至少会有一个线程更新数据单元中的内容时,会发生数据竞争。本节的数据共享和私有化对数据竞争做一个初步探讨,后续会涉及同步、互斥的内容。 2. 并行区域内的变量的共享和私有 除了以下三种情况外,并行区域中的所有变量都是共享的: > 并行区域中定义的变量 > 多个线程用来
2013-07-19 21:49:26 919
转载 OpenMP (一)
项目背景: 为了提升项目的运行效率,考虑多线程技术。最近OpenMP技术很热,咱也凑凑热闹,也为了充分发挥电脑硬件的能力。 硬件: 酷睿2双核 2.2GHz 3G 内存 软件: Visual Studio 2010 旗舰版 Windows 7 旗舰版 32bit 难点: 由于多个线程操作同一个文件,很
2013-07-19 21:48:09 850
转载 Linux下动态共享库加载时的搜索路径详解
对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似“error while loading shared libraries”这样的错误,这是典型的因为需要的动态库不在动态链接器ld.so的搜索路径设置当中导致的。具体说来,动态链接器ld.so按照下面的顺序来搜索需要的动态共享库:1.ELF可执行文件中动态段中DT_RPATH所指定的路径。这实际上是通过一种不算很常用,却比较实用的方法所
2013-07-15 17:56:29 907
转载 OpenMP中的数据处理子句
相关文档连接:多核编程中的任务随机竞争模式的概率分析多核编程中的任务分组竞争模式 多核编程中的负载平衡难题多核编程中的锁竞争难题多核编程的几个难题及其应对策略(难题一)OpenMP并行程序设计(二) OpenMP并行程序设计(一) 双核CPU上的快速排序效率 OpenMP创建线程中的锁及原子操作性能比较10.1.1
2013-07-15 10:33:08 633
转载 /proc/stat 详解
在Linux系统中,可以用/proc/stat文件来计算cpu的利用率。这个文件包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计到当前时刻。cat /proc/stat cpu 65376847 362756 2405159 10834971593 3765180 93399 2395097 0cpu0 7680302 5263 111909 1355640955 476
2013-07-12 11:47:38 1687
转载 Linux中通过/proc/stat等文件计算Cpu使用率
Linux平台Cpu使用率的计算proc文件系统/proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc目录中的文件时,proc文件系统是动态从系统内核读出所需信息并提交的。/pro
2013-07-12 11:45:13 702
转载 linux 下动态链接库的制作与使用
linux 下动态链接库的制作与使用动态链接库*.so的编译与使用- -动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一点帮助。1、动态库的编译下面通过一个例子来介绍如何生成一个动态库。这里有一个头文件:so_test.h,三个.c
2013-07-05 18:50:06 658
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人