关闭

【云计算基础技术提高班之一】体系化认识RPC

本文主体源自体系化认识RPC,文章整体写得不错,本文稍作细化,同时更正了部分不实之处。RPC技术在分布式系统中有广泛的使用,因而在云计算平台中也是经常使用的技术,本文体系性地介绍了 RPC 包含的核心概念和技术,希望读者读完文章,一提到 RPC,脑中不是零碎的知识,而是具体的一个脑图般的体系。本文并不会深入到每一个主题剖析,只做提纲挈领的介绍。RPC 最核心要解决的问题就是在分布式系统间,如何执行另...
阅读(137) 评论(0)

【JAVA 提高班之八】Netty NIO研究

Why NIONIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。NIO是对过去传统的BIO的一种改进,这里就不得不先解释一下BIO。BIO自然就是阻塞式IO,采用 BIO 通信模型的服务端,通常由一个独立的 Acceptor...
阅读(147) 评论(0)

【JAVA 提高班之七】多线程互斥和协作

多线程是个庞大的话题,从不同的角度有不同的讲述,本文专注于从多线程的协作角度,有互斥关系,合作关系,父子关系,线程池。线程状态图的演进一.线程基本状态图 普通的Thread对象通过调用Start()方法进入就绪态(Runnable),在Runnable状态下是可以被CPU调度的,即获取CPU时间片进入运行态调用Run方法,在获取到的时间片结束之后可以继续返回到就绪态。但是如果在运行态发生阻塞式的操...
阅读(172) 评论(0)

【JAVA 提高班之六】Java泛型

本文转自:http://www.weixueyuan.net/view/6321.html泛型诞生的需求我们知道,使用变量之前要定义,定义一个变量时必须要指明它的数据类型,什么样的数据类型赋给什么样的值。假如我们现在要定义一个类来表示坐标,要求坐标的数据类型可以是整数、小数和字符串,例如: x = 10、y = 10 x = 12.88、y = 129.65 x = “东京180度”、y =...
阅读(182) 评论(0)

【JAVA 提高班之五】Java多态对象的类型转换

这里所说的对象类型转换,是指存在继承关系的对象,不是任意类型的对象。当对不存在继承关系的对象进行强制类型转换时,java 运行时将抛出 java.lang.ClassCastException 异常。在继承链中,我们将子类向父类转换称为“向上转型”,将父类向子类转换称为“向下转型”。很多时候,我们会将变量定义为父类的类型,却引用子类的对象,这个过程就是向上转型。程序运行时通过动态绑定来实现对子类方法...
阅读(126) 评论(0)

【JAVA 提高班之四】抽象类与接口

本文转载自: http://blog.csdn.net/chenssy/article/details/12858267抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。一、抽象类我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的...
阅读(127) 评论(0)

【JAVA 提高班之三】异常处理

Java中异常提供了一种识别及响应错误情况的一致性机制,有效地异常处理能使程序更加健壮、易于调试。异常之所以是一种强大的调试手段,在于其回答了以下三个问题: 什么出了错? 在哪出的错? 为什么出错? 在有效使用异常的情况下,异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪“抛出,异常信息回答了“为什么“会抛出,如果你的异常没有回答以上全部问题,那么可能你没有很好地使用它们。有三个原则可以帮助你...
阅读(123) 评论(0)

【JAVA 提高班之二】Volatile用法详解

前言volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一...
阅读(110) 评论(0)

【SDN控制器分析之三】ONOS Device Subsystem

概述设备子系统负责发现和跟踪组成网络的设备,并使管理员和应用程序能够控制它们。大多数ONOS核心子系统都依赖Device子系统的Device和Port的模型对象来进行管理和创建,也会通过Device Provider来和网络进行交互。Device子系统由以下几个部分组成: DeviceManager : 能够与多个Provider通过deviceproviderservice接口交互和多个监听者通过...
阅读(155) 评论(0)

【SDN控制器分析之二】ONOS网络状态表述

概述控制平面所维护的关键信息是网络状态。控制平面必须聚合此信息,并使其对应用程序可用。此外,为了保持可扩展性和组件重用,应用程序应该免受协议细节的影响,即使网络状态信息是通过特定协议的方式获得的。ONOS协议不可知的拓扑结构是采用两个互补机制:网络发现和配置来实现的。前者利用网络协议让ONOS识别网络元素的位置和/或性能,在功能使能的情况下会主动开展相关的采集工作。后者允许应用程序和操作人员配置预期...
阅读(220) 评论(0)

【SDN控制器分析之一】ONOS架构概述

ONOS 设计目标ONOS是一个采用OSGI技术来管理子项目的SDN控制器开源项目,在最初设计时有这么几个目标是明确的: 代码模块化:支持把新的功能作为新的独立单元引入 特性可配置:无论是在启动还是运行时,支持动态加载和卸载特性 协议无关:应用不需要和具体的协议库和实现绑定 模块化的实现:ONOS项目由一组子项目组成,每个项目都有自己的源代码树,可以独立构建。为此,ONOS的源码采用分层的方式来组织...
阅读(230) 评论(0)

【LeetCode系列】动态规划算法

前言在知乎上看到有一篇对动态规划进行介绍的文章,觉得介绍的十分的好,这里贴出来和大家一起分享: 什么是动态规划?动态规划的意义是什么? 其实在三年前也写了一篇用动态规划求解的问题: 开心的小明——动态规划, 但是昨天在求解Leetcode的问题 : Longest Substring Without Repeating Characters 时又有动态规划的解法,看了知乎这篇文章之后觉得又加深了我的...
阅读(143) 评论(0)

【JAVA 提高班之一】集合大家族

前言本篇文章转自chenssy的 java提高篇(二十)—–集合大家族,写得不错,转载以记之,我个人觉得一个功力不错的JAVA码工至少熟悉以下几个领域: 不错的抽象的能力(设计模式) 常用数据结构的特点(集合类等) JAVA虚拟机的机制(提升性能) 并发编程 我的JAVA提高班系列也会从这几个方面出发来写。集合大家族分析在编写Java程序中,我们最常用的除了八种基本数据类型,String对象外还有一...
阅读(323) 评论(0)

【OpenStack源码分析之十一】分布式事务和相关算法

前言在【OpenStack源码分析之六】从虚拟机启动流程看安全认证 中有提到一个问题是关于OpenStack的HA机制和灾难恢复(DR机制)的,HA和DR都是保障可用性的,两者都可以用两个维度来衡量,RTO (Recovery Time Objective)和 RPO(Recovery Point Objective)。RTO 是服务恢复的时间,最佳的情况是 0,这意味着服务立即恢复;最坏是无穷大意...
阅读(1784) 评论(4)

【OpenStack源码分析之十】虚机启动流程中Nova Compute与周边组件的交互

前文也讲述过 【OpenStack源码分析之三】Nova-Compute启动流程分析Nova Compute组件在整个Nova里面是一个核心角色,控制节点上的Nova-api,Nova-Conductor, Nova-Scheduler在虚机启动流程中主要只做了一个事情,就是选出了启动虚机的Host,剩下的网络资源的搭建,Image的下载,卷的申请等工作都是通过Nova-compute来做,所以说它...
阅读(304) 评论(0)
37条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:16489次
    • 积分:488
    • 等级:
    • 排名:千里之外
    • 原创:30篇
    • 转载:6篇
    • 译文:0篇
    • 评论:6条