3 wangdd_199326

尚未进行身份认证

暂无相关简介

等级
TA的排名 5k+

云计算学习指南-书籍推荐

俗话说,授人以鱼不如授人以渔。这篇文章的名字是《学习指南》,主要内容是关于云计算领域下的一些技术栈的学习分享。我一直觉得网络上的碎片化学习,或者视频的一些学习,远远比不上书给人带来的感悟更加深入。当然,学习的方式千千万,一定要找到适合自己的才行,此处我并不排斥视频或者音频的学习,但是我建议你在通过视频或音频学习之后,再捡起书本复习一下,一定会给你一些惊喜。...

2019-08-25 16:19:43

linux 与 windows操作系统的区别

Note:本文是根据维基百科《Ubuntu/Linux与Windows的区别》一文,进行部分章节的改写和删除,以尽可能通俗易懂的方式帮助你区分二者之间的差异。首先,我们需要明白Windows操作系统和Linux操作系统是不同的,它们之间的不同或许体现在成本、选择范围、性能、安全性和其他方面。然而导致你最终选择Linux的原因只有一个:Linux比Windows更优秀。其次,...

2019-08-25 16:14:38

深入浅出SRIOV

虚拟化中的SR-IOVhttps://blog.51cto.com/maomaostyle/1439651SRIOV,即单根虚拟化。Intel在早期为了支持虚拟化环境,在CPU和PCI总线上提供了三层虚拟化技术,它们分别是:基于处理器的虚拟化技术VT-x 基于PCI总线实现的IO虚拟化技术VT-d 基于网络的虚拟化技术VT-c从SRIOV的中文字面不难理解,它属于VT-d技...

2019-05-23 11:08:59

SR-IOV简单理解

为提高服务器里虚拟机收发报文的性能和伸缩性,解决I/O虚拟化的最后一公里的问题,提出了基于硬件的SR-IOV虚拟化解决方案。SR-IOV标准允许在虚拟机之间高效共享PCIe(快速外设组件互连)设备,并且它是在硬件中实现的,可以获得能够与本机性能接近的I/O性能。sr-iov中两种功能:1、物理功能:PF,用于支持SR-IOV的PCI功能,拥有完全配置或控制PCIe设备资源...

2019-05-08 13:44:22

热情贡献!!!史上最全openstack资料大全!!!你值得拥有!!!

就问你怕不怕???大兄弟,稳住!!! 使用openstack,经常使用一些命令技术|10个重要的Linuxps命令实战ps命令能够给出当前系统中进程的快照。它能捕获系统在某一事件的进程状态。如果你想不断更新查看的这个状态,可以使用top命令。 搭建openstack参考:Openstack创建项目和虚拟机详细介绍一步一步教你安装openstack(图文) ...

2018-12-29 11:43:52

面试题9: const、static、volatile关键字使用说明

关于const关键字的用法,潜意识下就会想到修饰变量,一直没有深入挖掘。最近在面试的时候常常会被问到const、static、votaile等关键字的使用与区别。借此机会,重新复习总结关于此关键字的使用。 1、首先看一下,const与宏定义之间的比较:宏作用:在开发中会把一些常用的变量的值定义成宏;const作用:   1.用于修饰右边变量(基本变量,指针变量) ...

2018-08-16 15:01:31

面试题8: 你思考过为什么快排比堆排序快吗?

堆排的过程:比如最大堆1.建立最大堆(堆顶的元素大于其两个儿子,两个儿子又分别大于它们各自下属的两个儿子…以此类推)2.将堆顶的元素和最后一个元素对调(相当于将堆顶元素(最大值)拿走,然后将堆底的那个元素补上它的空缺),然后让那最后一个元素从顶上往下滑到恰当的位置(重新使堆最大化)。3.重复第2步。 关键问题就在于第2步,堆底的元素肯定很小,将它拿到堆顶和原本属于最大元...

2018-08-02 20:18:17

面试题7:构造函数不能虚,析构函数建议虚

1,从存储空间角度    虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过vtable来调用,可是对象还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数。2,从使用角度        虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用。构造函数本身就是要初...

2018-08-02 20:01:35

面试题6:由浅入深的进程上下文

内核空间和用户空间是操作系统理论的基础之一,即内核功能模块运行在内核空间,而应用程序运行在用户空间。CPU都具有不同的操作模式,代表不同的级别,不同的级别具有不同的功能,在较低的级别中将禁止某些操作。Linux系统设计时利用了这种硬件特性,使用了两个级别,最高级别和最低级别,内核运行在最高级别(内核态),这个级别可以进行所有操作,而应用程序运行在较低级别(用户态),在这个级别,处理器控制着对硬件的...

2018-08-01 10:15:32

面试题5:头文件中的ifndef/define/endif有什么作用?

 在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时,就会出现大量重定义的错误。在头文件中实用#ifndef#define#endif能避免头文件的重定义。方法:例如要编写头文件test.h在头文件开头写上两行:#ifndef_TEST_H#define_TEST_H//一般是文件名的大写头文件结尾写上一行:#endif这样一个工...

2018-08-01 09:41:25

面试题4:数组、指针、引用的联系区别

数组和指针???从两个方面来看,一是作为一个语言,数组是必须要支持的一种数组类型,原因很简单,数组是线性表的直接体现。而从编译器设计者的角度来看,如果为数组专门设计一套实现标准会非常繁杂(事实上,后来C++完成了这一任务,它就是标准库中的vector容器)。这一对矛盾最后以双方的相互妥协得以解决,而解决方法就是利用现有的指针来间接实现数组。编译器为了简化对数组的支持,实际上是利用指针实现了...

2018-08-01 09:10:53

面试题3:Linux中的锁锁锁!!!

一、读写锁读写锁,也叫作共享式互斥锁。有3种状态:读模式的加锁状态、写模式的加锁状态、不加锁状态。写模式加锁状态:在这个锁被解锁之前,所有试图对这个锁加锁的线程都会被阻塞。读模式加锁状态:所有试图以读模式进行加锁的线程都可以得到访问权,但是任何希望以写模式对此加锁的线程都会阻塞,直到所有的线程释放他们的读锁为止。读写锁非常适合于对数据结构读的次数远大于写的情况。 二、自旋锁...

2018-07-31 22:17:09

面试题2:进程间常用的通信方式有哪些?

进程间通信(IPC,InterProcessCommunication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中Socket和Streams支持不同主机上的两个进程IPC。一、管道管道,通常指无名管道,是UNIX系统IPC最古老的形式。1、特点: 它是半双工的(...

2018-07-31 22:03:19

面试题1:OS或者编译器怎么识别是全局变量还是局部变量

OS或者编译器怎么识别是全局变量还是局部变量. 操作系统内根本不关心你是什么变量,它只管代理运行程序,也就是进程,负责这些进程之间的调度,不过如果要说操作系统本身也是进程,那倒可以理解;编译器最终会把程序编译成可执行文件,就是对应的一条一条汇编指令,在程序运行过程中按照定义,就可以有不同的寻址方式,这个就是汇编的内容了,其实不同类型的变量就是寻址方式的不同,说到底还是存储位置不同。另...

2018-07-31 21:24:21

详解测试驱动开发 Test Driven Development(TDD)

 {TDD的目标}CleanCodeThatWorks这句话的含义是,事实上只做两件事情:让代码奏效(Work)和让代码洁净(Clean),前者是把事情做对,后者是把事情做好。 想试用TDD的人们,请遵循下面的步骤:编写TestCase --< 实现TestCase --< 重构 (确定范围和目标)   (增加...

2018-07-20 18:34:15

java语言(10): 是集合不是集结!

先熟悉如下框图常用的接口  数组:存储同一种数据类型的集合容器.数组的特点:1).只能存储同一种数据类型的数据。2).一旦初始化,长度固定。 3).数组中的元素与元素之间的内存地址是连续的。注意:Object类型的数组可以存储任意类型的数据。集合:集合是存储对象数据的集合容器。集合比数组的优势:1).集合可以存储任意类型的对象数据,数组只能存储同一种数据类型...

2018-07-20 11:06:28

工程项目常见的知识点(1)

 (一)、关于override的用法,是对父类中的虚方法的重写覆盖。  override(重写,覆盖) (1)方法名、参数、返回值相同。 (2)子类方法不能缩小父类方法的访问权限。 (3)子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)(4)存在于父类和子类之间。 (5)方法被定义为final不能被重写。 (6)被覆盖的方法不能为priv...

2018-07-19 18:42:00

java语言(9): 暗藏玄机的引用

 一、背景:Java中是JVM负责内存的分配和回收,这是它的优点(使用方便,程序不用再像使用c那样操心内存),但同时也是它的缺点(不够灵活)。为了解决内存操作不灵活这个问题,可以采用软引用等方法。 在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。从JDK1.2版本开始,把对象的引用分为四种级别,...

2018-07-19 11:28:17

java语言(8): String String String 类慢慢来

一、快速使用java.lang.String类1、得到字符串对象的有关信息(1)通过调用length()方法得到String的长度.例:Stringstr="ThisisaString";intlen=str.length();(2)StringBuffer类的capacity()方法与String类的length()的方法类似,但是它测试是分配给StringBu...

2018-07-19 10:09:33

C# using的三种用法

https://www.cnblogs.com/ma-yuanhao/p/9139262.html C#using的三种用法1.在文件顶部引用命名空间,如:usingSystem;2.为命名空间或类型定义别名;   这种做法有个好处就是当同一个cs文件引用了两个不同的命名空间,但是两个命名空间都包括了一个相同名字的类型的时候,就会为此类型命名空间创建别名。using...

2018-07-17 17:57:27

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。