一个计算机技术爱好者与学习者

0%

前言

排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。

内部排序大致分为五种:交换排序、插入排序、选择排序、归并排序和基数排序。其中交换排序包括冒泡排序和快速排序、插入排序包括直接插入排序和希尔排序,选择排序包括简单选择排序和堆排序。

当n较大时,应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序。

快速排序目前是内部排序中最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短。

阅读全文 »

前言

OpenStack的安装是一个难点,非常难。哪怕已经安装过OpenStack,再次安装,也不敢说一定成功。安装过程中某处细微变化,也许就会出现各种奇葩错误。

总的来说,OpenStack大致分为4种安装方式:
1、基于虚拟机的快速体验安装。
这是最简单的方法,把搭建好环境的虚拟机运行起来即可。但是,遗憾的是,在网上没有找到OpenStack的虚拟机镜像。

2、基于DevStack快速脚本安装。
这是OpenStack官方推荐的方式,安装速度较快,基于Folsom版本。但是,安装过程中一言不合就报错,困难重重。

3、使用自动化安装工具。
RDO、Fuel、Puppet、Chef、Salt等,都是OpenStack的自动化安装工具。说是自动化安装工具,实际上安装配置时,也是非常繁琐。

4、手动安装。
这种方式最困难,但是实际生产环境下,基本都需要手动安装。

本文,就探讨一下在VirtualBox中使用DevStack安装OpenStack的步骤。也就是说,我们要自己创建一个OpenStack的虚拟机镜像。

阅读全文 »

云计算

“云”是两个比喻:第一个比喻是互联网,计算资源不在本地,在互联网的另一端(云端)。第二个比喻是群组,天上的云是雨滴的汇聚成群组,云计算中的云是计算资源的群组。

云计算有一个愿景,就是希望把计算像水电一样提供给用户使用。然而用户并不是直接使用电,而是使用电灯电视等;同样,用户并不会直接使用计算资源,而是使用在计算资源上层开发的一些应用。

“云”是分层的:

  • IaaS:Infrastructure-as-a-Service,基础设施即服务。
  • PaaS:Platform-as-a-Service,平台即服务。
  • SaaS:Software-as-a-Service,软件即服务。
阅读全文 »

需求场景

在Java中,经常需要将一类对象放到List、Set、Map等容器中,而且通常需要对容器中的对象进行遍历访问。那么如何实现对这些容器的遍历呢?当然,每个容器本身都提供了遍历的方法。但是这些方法是不统一的,客户端的使用变得麻烦。

阅读全文 »