虚拟化技术

基本概念

虚拟化是云计算的核心技术,但不是其专用技术

本质:虚拟化的本质就是通过添加一个虚拟化层将原先的物理设备进行逻辑化,转换成一个文件夹或文件,实现软硬件的解耦。核心思想是利用软件或固件管理程序构成虚拟化层,把无力资源映射为虚拟资源。在虚拟资源上可以安装和部署多个虚拟机,实现多用户共享物理资源。

阅读更多
云数据中心

云数据中心特征

  1. 高设备利用率
    • 通过虚拟化技术(服务器虚拟化、存储虚拟化、网络虚拟化、应用虚拟化)将云平台系统与数据中心硬件资源整合,达到减少物理服务器数量的目标
    • 优化资源利用率、简化管理,降低成本、快速响应业务需求的变化等
    • 较大的数据中心有更低的单位运营成本:网络、存储、管理
  2. 绿色节能
    • 服务器本身:节能服务器、节能存储设备、刀片服务器
    • 环境:供电技术、散热技术、降低能耗
    • 软件:虚拟机等资源调度算法、计算任务管理算法等
  3. 高可用性
    • 各个部分的冗余、容错、容灾设计
    • 扩展和升级时,保持正常运行
  4. 自动化管理
    • 无人值守,远程管理(系统漏洞与补丁管理、性能管理和瓶颈分析、服务器与操作系统部署、系统功率测量和调整)
    • 门禁、通风、温度、湿度、电力均可远程调度与控制
阅读更多
自动化测试 - 测试用例优先级

回归测试

软件演化:

  • 软件产品在开发和维护过程中,因移除软件内在缺陷、添加新的功能、重构已有代码或提高运行性能等,需要执行代码修改并触发软件演化。
  • 随着以统一过程和敏捷方法为代表的增量、迭代式开发过程的流行,软件演化频率也随之迅速提高。
阅读更多
自动化测试 - 模糊测试

起源与发展

  1. 1988,Barton Miller,为了提高 UNIX 操作系统的可靠性(发送字符信息乱码导致系统崩溃)
  2. 技术构想:
    1. 核心组件:一组用于产生随机字符的程序
    2. 中心思想:以随机字符串作为输入,运行操作系统组件(Utilities),观察是否崩溃
    3. 最终结果:保留能够产生崩溃的字符串输入,分析崩溃的类型,对崩溃进行分类
阅读更多
云计算架构

计算架构和云计算架构的二维视角

云平台操作系统

阅读更多
Java String 深入理解

StringStringBufferStringBuilder 的区别

可变性

  1. String 是不可变的(详细原因后面分析)
  2. StringBuilderStringBuffer 都继承自 AbstractStringBuilder 类,在该类中也是使用 char 数组来保存字符串(JDK9 之后改为了使用 byte 数组,后面会介绍),对于这个数组,在 AbstractStringBuilder 中没有使用 privatefinal 的关键字修饰(在 String 类当中有 privatefinal 修复,不过这其实并不是导致 String 不可变的原因),同时 AbstractStringBuilder 提供了很多修改字符串的方法,比如 append()insert()delete()replace() 等。
阅读更多
Java equals() and hashcode()

equals() 的性质

  1. Refleive(自反性):对于任意一个对象 a,a.euals(a) 总是返回 true
  2. Symmetric(对称性):对于任意两个对象 a,b,如果 a.equals(b) 返回 true,那么 b.equals(a) 一定也会返回 true
  3. Transitive(传递性):对于任意三个对象 a,b,c:如果 a.equals(b)b.equals(c) 都返回 true,那么 a.equals(c) 一定也会返回 true
  4. Consistent(持续性):对于任意两个对象 a,b,多次调用 a.equals(b) 返回的都是 true 或者返回的都是 false(即多次调用都只会返回相同的结果,前提是没有修改过 a 或 b)
阅读更多
自动化测试 - 变异测试

背景

两个测试人员关心的问题

  1. 如何编写能够暴露缺陷的测试用例 \rightarrow 如何引导测试
  2. 如何评估测试套件的质量(提升测试可信度)\rightarrow 如何评估测试
阅读更多
云计算-Overview

云计算定义

  • 综合的概念 – 并不存在一个权威的定义 – 盲人摸象,各有侧重
  • 分析师和分析机构对云计算的理解
    • 非常抽象,不涉及任何实现,普通用户的视角
    • 一个集中的环境,统一提供各种 IT 服务,用户按需付费 – 通过资源共享节约成本
阅读更多
需求与商业模式创新-Introduction

问题域与解系统

软件系统通过影响问题域,能够帮助人们解决问题,称为解系统。

软件解决问题的基础:模拟与共享

阅读更多