自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhouyayong09的专栏

我是一只蜗牛,我相信只要我坚持不懈的一步步向上爬,总有一天我会到达雄鹰的高度!

  • 博客(31)
  • 资源 (13)
  • 收藏
  • 关注

转载 Map 综述(二):彻头彻尾理解 LinkedHashMap

摘要:  HashMap和双向链表合二为一即是LinkedHashMap。所谓LinkedHashMap,其落脚点在HashMap,因此更准确地说,它是一个将所有Entry节点链入一个双向链表的HashMap。由于LinkedHashMap是HashMap的子类,所以LinkedHashMap自然会拥有HashMap的所有特性。比如,LinkedHashMap的元素存取过程基本与HashMap

2018-01-31 17:04:09 210

转载 Map 综述(一):彻头彻尾理解 HashMap

摘要:  HashMap是Map族中最为常用的一种,也是 Java Collection Framework 的重要成员。本文首先给出了 HashMap 的实质并概述了其与 Map、HashSet 的关系,紧接着给出了 HashMap 在 JDK 中的定义,并结合源码分析了其四种构造方式。最后,通过对 HashMap 的数据结构、实现原理、源码实现三个方面的剖析,深入到它底层 Hash 存储机

2018-01-31 16:56:01 161

转载 成功的BI需要多走一步

求本索源,先从BI的定义开始吧。商业智能是企业利用现代信息技术收集、管理和分析结构化和非结构化的商务数据和信息,创造和累计商务知识和见解,改善商务决策水平,采取有效的商务行动,完善各种商务流程,提升各方面商务绩效,增强综合竞争力的智慧和能力,它由前半部分的过程描述和后半部分的目的来解释的。而对于从事BI工作的技术人员来说,多半只是了解前半部分的过程,而客户和使用者来说是重点

2013-10-23 11:01:04 535

转载 ETL 入门基础

ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。 ETL是BI项目重要的一个环节。 通常情况下,在BI项目中ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败。 ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候我们也是从这三部分出发。数据

2013-10-09 17:49:38 904

转载 makefile(十四)

以下文章转自陈皓使用make更新函数库文件———————————函数库文件也就是对Object文件(程序编译的中间文件)的打包文件。在Unix下,一般是由命令"ar"来完成打包工作。一、函数库文件的成员一个函数库文件由多个文件组成。你可以以如下格式指定函数库文件及其组成:    archive(member)这个不是一个命令,而一个目标和依赖

2013-06-15 19:10:37 381

转载 makefile(十三)

以下文章转自陈皓五、定义模式规则你可以使用模式规则来定义一个隐含规则。一个模式规则就好像一个一般的规则,只是在规则中,目标的定义需要有"%"字符。"%"的意思是表示一个或多个任意字符。在依赖目标中同样可以使用"%",只是依赖目标中的"%"的取值,取决于其目标。有一点需要注意的是,"%"的展开发生在变量和函数的展开之后,变量和函数的展开发生在make载入Makefile时

2013-06-15 19:08:37 429

转载 makefile(十二)

以下文章转自陈皓隐含规则————在我们使用Makefile时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译C/C++的源程序为中间目标文件(Unix下是[.o]文件,Windows下是[.obj]文件)。本章讲述的就是一些在Makefile中的“隐含的”,早先约定了的,不需要我们再写出来的规则。“隐含规则”也就是一种惯例,make会按照这种“惯例”

2013-06-15 19:07:11 397

转载 makefile(十一)

以下文章转自陈皓make 的运行——————一般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前目录的makefile来执行,一切都是自动的。但也有时你也许只想让make重编译某些文件,而不是整个工程,而又有的时候你有几套编译规则,你想在不同的时候使用不同的编译规则,等等。本章节就是讲述如何使用make命令的。一、make的退出码mak

2013-06-15 19:06:05 384

转载 makefile(十)

以下文章转自陈皓四、foreach 函数 foreach函数和别的函数非常的不一样。因为这个函数是用来做循环用的,Makefile中的foreach函数几乎是仿照于Unix标准Shell(/bin/sh)中的for语句,或是C-Shell(/bin/csh)中的foreach语句而构建的。它的语法是:     $(foreach ,,)

2013-06-15 19:01:09 439

转载 makefile(九)

以下文章转自陈皓使用函数————在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。一、函数的调用语法函数调用,很像变量的使用,也是以“$”来标识的,其语法如下:    $( )或是    $

2013-06-15 18:59:42 357

转载 makefile(八)

以下文章转自陈皓六、多行变量 还有一种设置变量值的方法是使用define关键字。使用define关键字设置变量的值可以有换行,这有利于定义一系列的命令(前面我们讲过“命令包”的技术就是利用这个关键字)。define指示符后面跟的是变量的名字,而重起一行定义变量的值,定义是以endef关键字结束。其工作方式和“=”操作符一样。变量的值可以包含函数、命令、文字,或是其它变量

2013-06-15 18:57:00 392

转载 makefile(七)

以下文章转自陈皓使用变量————在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”,“依赖目标”,“命令”或是Makefile的其它部分中。变量的命名字可以

2013-06-15 18:55:10 389

转载 makefile(六)

以下文章转自陈皓书写命令————每条规则中的命令和操作系统Shell的命令行是一致的。make会一按顺序一条一条的执行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会被忽略,但是如果该空格或空行是以Tab键开头的,那么make会认为其是一个空命令。我们在UNIX下可能会使用不同的Shell,但是ma

2013-06-15 18:53:15 455

转载 makefile(五)

以下文章转自陈皓六、多目标Makefile的规则中的目标可以不止一个,其支持多目标,有可能我们的多个目标同时依赖于一个文件,并且其生成的命令大体类似。于是我们就能把其合并起来。当然,多个目标的生成规则的执行命令是同一个,这可能会可我们带来麻烦,不过好在我们的可以使用一个自动化变量“$@”(关于自动化变量,将在后面讲述),这个变量表示着目前规则中所有的目标的集合,这样说可能很抽象

2013-06-15 18:51:02 410

转载 makefile(一)

以下文章转自陈皓概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己

2013-06-15 12:07:22 372

转载 makefile(四)

以下文章转自陈皓书写规则————规则包含两个部分,一个是依赖关系,一个是生成目标的方法。在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。如果第

2013-06-15 12:03:43 421

转载 makefile(三)

以下文章转自陈皓Makefile 总述———————一、Makefile里有什么?Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。2、隐晦规则。由于我们的make有自动推

2013-06-15 12:01:59 357

转载 makefile(二)

三、make是如何工作的在默认的方式下,也就是我们只输入make命令。那么,    1、make会在当前目录下找名字叫“Makefile”或“makefile”的文件。    2、如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“edit”这个文件,并把这个文件作为最终的目标文件。    3、如果edit文件不存在,或是edit所依赖的后面的

2013-06-15 12:00:37 397

转载 虚函数的定义

虚函数的定义:  虚函数必须是类的非静态成员函数(且非构造函数),其访问权限是public(可以定义为private or proteceted, 但是对于多态来说,没有意义。),在基类的类定义中定义虚函数的一般形式:  virtual 函数返回值类型 虚函数名(形参表)  { 函数体 }虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合适的成员函数,在定义了虚函数后,

2013-06-15 11:56:54 7145

转载 C++ 虚函数表解析

C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel  前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实

2013-06-15 11:55:17 545

转载 C++ Singleton (单例) 模式最优

静态化并不是单例模式初学者可能会犯的错误, 误以为把所有的成员变量和成员方法都用 static 修饰后, 就是单例模式了:class Log {public: static void Write(char const *logline); static bool SaveTo(char const *filename);private: static std::list m

2012-11-20 16:12:06 322

原创 程序员面试100题之二叉树(一)

二叉树对我们来说已经不陌生了,这是一个非常常用的数据结构,常见的二叉树的应用:二叉排序树、二叉平衡树、红黑树、二叉堆等等,这些都是关于二叉树的一些数据结构;好了我们废话少说,下面我们一起来了解一些二叉树。二叉树的一些基本术语和特性二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树

2012-11-18 20:35:19 549

转载 KMP算法

来源:http://www.matrix67.com/blog/archives/115 KMP算法是用来处理字符串匹配问题的,换一句话说,给你两个字符串,你需要回答,B串是否是A串的子串(A串是否包含B串)。比如,字符串A="I'm matrix67",字符串B="matrix",我们就说B是A的子串。   解决这类问题,通常我们的方法是枚举从A串的什么位置起开始与B匹配,然后验

2012-11-17 19:30:58 220

转载 TCP三次握手/四次挥手 及 状态变迁图

来源:http://blog.163.com/pandalove@126/blog/static/98003245201221441436687/【建立TCP连接】(三次握手)   由于TCP协议提供可靠的连接服务,于是采用有保障的三次握手方式来创建一个TCP连接。三次握手的具体过程如下:1. 客户端发送一个带SYN标志的TCP报文(报文1)到服务器端,表示希望建立一个TCP连接。

2012-11-17 11:14:43 372

原创 递归与分治策略之快速排序

我在前面的文章中写道:递归与分治策略之线性选择,在其中提到求在一个序列中第k小元素;它实现的算法思想就是利用快速排序的算法思想,那我们现在就一起探讨一下快速排序。 快速排序算法也是基于分治策略的一个排序算法,当然还有另外一个归并排序,也是基于分治策略的。其算法思想:对于输入的子数组a[p:r],按一下三个步骤进行排序;(1)分解:以a[p]为基准元素将a[p:r],划分成3段a[p,q

2012-11-10 18:26:23 703

原创 程序员面试100题之对称字符串的最大长度

题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。大家一看题目,经常做面试题的同学,就知道这题是微软的面试题。 分析1:我看到这道题目的第一印象就是模拟,从字符串的首字母开始,一个个比较。我们需要用O(n^3)的时间复杂度完成。具体描述可如下代码:#include #inclu

2012-11-10 10:20:01 399

原创 堆和哈希表的实现与应用(二)

堆的应用对于堆的应用,我最熟悉的例子就是堆排序了(以升序排列为例)。算法思想:建立大根堆,每次取出根结点,与最后一个叶子节点就行交换,然后维持大根堆;依次递归实现堆排序。如下描述: const int HEAP_SIZE = 1000;const int MAXN = 100000;templatevoid Max_Heap(T h[], int p, int heap_siz

2012-11-06 15:26:00 387

原创 堆和哈希表的实现以及应用(一)

首先我来和大家一起了解一下堆的一些问题。堆是一个非常实用的数据结构,在一些算法的优化和一些高级数据结构上都能用到堆。比如优先队列、hash_map、迪杰斯特拉算法(最短路的优化)等等,所以我们大家学好堆是有必要的,对我们学习高深的一些算法和数据结构非常的有用。       我所知道的堆有已下几种:二叉堆(就是我们平常说的堆)、二项堆、斐波那契堆;其中后者都是前者的优化。今天呢,由于我的水平有限

2012-11-06 11:21:59 562

原创 递归与分治策略之线性选择(第k小元素)

这次与大家一起讨论的问题是在面试题中经常出现的一个。问题描述:给定一个线性序列,让你用O(n)的时间复杂度找到第k小元素(1  看到这一题的第一印象就是排序,然后遍历找到第k小元素,可是题目要求是用O(n)的时间复杂度。当k = 1时就是找最小元素;当k = n时,就是找最大元素;很显然在时间复杂度为O(n)的时间内都能完成。对于一般的选择问题,似乎在O(n)的时间为很难完成。但实

2012-11-04 10:58:20 1075 2

原创 递归与分治策略之棋盘覆盖问题

棋盘覆盖       在一个2^k * 2^k 个方格组成的棋盘中,若恰好有一个方格与其他方格不同,则称该房改为一特殊方格,且称该棋盘为一特殊棋盘。显然特殊方格在棋盘上出现的位置有4^k种情况。       在棋盘覆盖问题中,要用如下图所示的4种不同形态的L型骨牌覆盖一个给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重复覆盖。可知,在任何一个2^k * 2^k的棋盘覆盖中

2012-11-04 09:46:13 841

原创 递归与分治策略之二分搜索算法

二分搜索算法是运用分治策略的典型例子二分搜索算法充分利用了元素之间的次序关系(二分搜索的算法是基于有序列)采用分治策略,可在最坏情况下用O(logn)时间完成搜索任务。二分搜索算法的基本思想是将n个元素分成个数大致相同的两半,去a[n/2]与x作比较。如果x = a[n/2],则找到x,算法终止;如果x a[n/2],则只在数组a的右半部继续搜索。具体算法可描述如下:template

2012-11-04 09:05:40 2225

html5游戏开发

html5增加了一些新的属性,对于处理动画效果非常的有用,并且html5现在很流行,希望能够帮助你。

2014-07-17

嵌入式数据库

嵌入式数据库描述很详细,很具体,很全面,值得下载。

2014-03-20

sql基础知识

sql基础知识描述很详细,也很全面,值得下载。

2014-03-20

触发器描述

触发器描述很详细,很全面,也很具体,值得下载。

2014-03-20

事物与并发性

事物与并发性描述很详细,也很具体,值得下载。

2014-03-20

数据库系统

数据库系统结构描述很详细,也很具体,值得下载。

2014-03-20

试图与索引

视图与索引的描述很具体,也很全面,值得下载。

2014-03-20

sql(4)数据库的应用

这个课件很全面,很有应用前景,值得下载。

2014-03-20

matlab 仿真测量仪器

matlab 的仿真测量仪器近年来,电子科学技术突飞猛进,相当多的工程技术人员因为种种原因,难以拥有与技术进步同步的测量仪器来进行科学研究及试验工作,而应用MATLAB的Simulink仿真试验方法可以建立仿真的试验环境。在掌握正确的方法后,可以直接应用MATLAB工具箱中的测量仪器或者构建满足工作需要的测量仪器,以便提高仿真试验工作的效率,使仿真试验更加丰富多彩。

2014-03-15

matlab 系统仿真

与其它高级语言相比较,MATLAB具有独特的优势:(1) MATLAB是一种跨平台的数学语言。(2) MATLAB是一种超高级语言。MATLAB平台本身是用C语言写成的,所以在编程效率,程序的可读性、可靠性和可移植性上远远超过了常规的高级语言。(3) MATLAB语法简单,编程风格接近数学语言描述,是数学算法开发和验证的最佳工具。(4) MATLAB计算精度很高。与其它语言相比,MATLAB对计算机内存、硬盘空间的要求也是比较高的。

2014-03-15

C++中this指针的用法

this指针在c++中特别的重要,是区分静态成员函数和非静态成员函数的标志之一。

2012-11-06

高质量程序设计指南c/c++

内容非常的好,如果正在找工作,可以好好的看看这本书

2012-11-03

c/c++笔试面试宝典2010版

有关一些c/c++的面试题目,以及语法和概念的解释

2012-11-03

空空如也

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

TA关注的人

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