类型系统

SAN和NAS、ISCSI存储的区别

扶醉桌前 提交于 2019-12-15 18:54:01
实际上SAN、NAS、DAS、FC、ISCSI、FC-SAN、IP-SAN等并不是同一类别的概念。SCSI、FC、NAS、ISCSI等概念指的是存储设备类型,DAS、NAS、SAN等指的是存储系统的网络架构。大家常提到的、主流的存储系统网络架构有DAS、NAS、SAN三种网络结构。其中SAN网络环境中,因采用存储设备类型的不同又可以分为FC-SAN(采用光纤通道存储产品)和IP-SAN(采用ISCSI存储设备)。 存储设备类型介绍 存储设备类型是指通过采用SCSI、FC、TCP/IP,ISCSI等接口类型、数据传输协议、以及不同数据存储介质的存储设备。常见的存储设备类型可为SCSI存储、NAS存储、FC存储、iSCSI存储和磁带存储。 存储设备类型这个概念的核心是设备,指的是由存储介质、驱动器、控制器、供电系统、冷却系统等组成的一个整体。它独立与网络层设备和主机层设备,因此当提到存储设备类型的时候,不要涉及与存储设备连接的网络设备和主机。 存储设备的对外提供的接口是FC光纤通道,按照FC光纤通道协议传输数据的存储设备就是FC存储。存储介质为FC磁盘的存储被称为FC-FC存储。存储介质为SATA磁盘的存储被称为FC-SATA存储。 NAS是一种特殊的存储设备类型,虽然NAS对外提供IP接口,按照IP协议进行数据传输,但NAS最终提供给主机的是一个文件系统,SCSI存储

java面试题

痞子三分冷 提交于 2019-12-15 04:40:07
Java面试题(一) 1、面向对象的特征有哪些方面? 2、访问修饰符 public,private,protected,以及不写(默认)时的区别? 3、String 是最基本的数据类型吗? 4、float f=3.4;是否正确? 5、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗? 6、Java 有没有 goto? 7、int 和 Integer 有什么区别? 8、&和&&的区别? 9、解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法。 10、Math.round(11.5) 等于多少?Math.round(-11.5)等于多少? 11、switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上? 12、用最有效率的方法计算 2 乘以 8? 13、数组有没有 length()方法?String 有没有 length()方法? 14、在 Java 中,如何跳出当前的多重嵌套循环? 15、构造器(constructor)是否可被重写(override)? 16、两个对象值相同(x.equals(y) == true),但却可有不同的 hashcode,这句话对不对? 17、是否可以继承 String 类? 18

2019年12月12日

纵饮孤独 提交于 2019-12-12 22:59:17
一个由C/C++编译的程序占用的内存分为以下几个部分, 1、栈区(stack),由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap),一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区(static),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另 一块区域。 程序结束后由系统释放。 4、文字常量区 ,常量字符串就是放在这里的。 程序结束后由系统释放 5、程序代码区,存放函数体的二进制代码。 二、例子程序 这是一个前辈写的,非常详细 //main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main() { int b; 栈 char s[] = “abc”; 栈 char *p2; 栈 char *p3 = “123456”; 123456\0在常量区,p3在栈上。 static int c =0; 全局(静态)初始化区 p1 = (char *)malloc(10); p2 = (char *)malloc(20); 分配得来得10和20字节的区域就在堆区。 strcpy(p1, “123456”);

开源规则流引擎实践

╄→尐↘猪︶ㄣ 提交于 2019-12-11 16:58:51
阅读更多 前言 在很多企业的 IT 业务系统中,经常会有大量的业务规则配置,而且随着企业管理者的决策变化,这些业务规则也会随之发生更改。为了适应这样的需求,我们的 IT 业务系统应该能快速且低成本的更新。适应这样的需求,一般的作法是将业务规则的配置单独拿出来,使之与业务系统保持低耦合。目前,实现这样的功能的程序,已经被开发成为规则引擎。 规则引擎是一种推理引擎,它是根据已有的事实,从规则知识库中匹配规则,并处理存在冲突的规则,执行最后筛选通过的规则。因此,规则引擎是人工智能(AI)研究领域的一部分,具有一定的选择判断性、人工智能性和富含知识性。目前,比较流行的规则引擎有商业规则引擎 iLog 和开源规则引擎 drools。本文将对开源规则引擎 drools 做详细介绍,并通过分析一个在汽车保险行业中的实际应用案例,让读者对开源规则流引擎有一个更深刻的理解。 1. 基于 rete 算法的规则引擎 在 AI 领域,产生式系统是一个很重要的理论,产生式推理分为正向推理和逆向推理产生式,其规则的一般形式是:IF 条件 THEN 操作。rete 算法是实现产生式系统中正向推理的高效模式匹配算法,通过形成一个 rete 网络进行模式匹配,利用基于规则的系统的时间冗余性和结构相似性特征 [8],提高系统模式匹配效率。本文将介绍的 Drools 引擎就是利用 rete 算法对规则进行分析,形成

Linux系统磁盘分区及挂载 - fdisk

霸气de小男生 提交于 2019-12-11 10:31:48
Linux系统磁盘分区及挂载 - fdisk 文本关键字:文件系统,磁盘分区,格式化,挂载 一、文件系统 1. 文件系统的作用 当我们拿到一块新的硬盘时,他所能够支持的最大空间只是代表硬件上的一个参数,我们要想让他能够正常的工作起来,必须要有相应的文件系统。文件系统决定了文件存储和管理时的方式和数据结构,也就是如何管理磁盘上的文件和文件夹。不同的文件系统拥有不同的特点,这也就是为什么我们在进行格式化操作必须要选定一种文件系统的原因。 当在一个操作系统(Windows、Linux、MacOS)中使用文件系统时,通常都会做一个统一的接口,来进行文件的读写,所以会存在某些文件系统只适用与某一种操作系统的情况。 系统调用接口:系统为用户的使用提供的接口 虚拟文件系统:整合不同的文件系统的API接口,使用统一的方式来操作,如挂载、创建目录等 文件系统:具体使用什么文件系统类型,由使用者通过格式化命令来决定 通用块设备层:对于不同的硬盘驱动进行管理,为上一次提供统一的接口 设备驱动:对于不同的硬件设备会有相应的驱动,保证磁盘可用,通用的硬盘驱动也会直接编译到内核中 2. 常见Linux文件系统 MINIX:Linux最早使用的文件系统,目前主流版本的Linux系统已不再使用 EXT:CentOS 5/6主要使用的文件系统(EXT2、EXT3、EXT4) EXT3:最大能够管理16TB的单个分区

java那些事(八)之深入理解java异常处理机制

冷暖自知 提交于 2019-12-10 09:54:10
1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训” 告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案 哦。如果你的答案是正确,那么这篇文章你就不用浪费时间看啦。 <span style= "background-color: rgb(255, 255, 255);" > package Test; public class TestException { public TestException() { } boolean testEx() throws Exception { boolean ret = true ; try { ret = testEx1(); } catch (Exception e) { System.out.println( "testEx, catch exception" ); ret = false ; throw e; } finally { System.out.println( "testEx, finally; return value=" + ret); return ret; } } boolean testEx1() throws

GObject对象系统

江枫思渺然 提交于 2019-12-07 07:41:39
转自:http://www.ibm.com/developerworks/cn/linux/l-gobject/index.html简单的说,GObject对象系统是一个建立在GLIB基础上的,用C语言完成的,具有跨平台特色的、灵活的、可扩展的、非常容易映射到其它语言的面向对象的框架。如果你是一个C语言的执着的追随者,你没有理由不研究一下它。 前言 大多数现代的计算机语言都带有自己的类型和对象系统,并附带算法结构。正象GLib提供的基本类型和算法结构(如链表、哈希表等)一样,GObject的对象系统提供了一种灵活的、可扩展的、并容易映射(到其它语言)的面向对象的C语言框架。它的实质可以概括为: 一个通用类型系统,用来注册任意的、轻便的、单根继承的、并能推导出任意深度的结构类型的界面,它照顾组合对象的定制、初始化和内存管理,类结构,保持对象的父子关系,处理这些类型的动态实现。也就是说,这些类型的实现是在运行时重置和卸载的; 一个基本类型的实现集,如整型,枚举型和结构型等; 一个基本对象体系之上的基本对象类型的实现的例子--GObject基本类型 来源: oschina 链接: https://my.oschina.net/u/1705/blog/4975

Akka Typed系列:协议&行为

为君一笑 提交于 2019-12-06 20:24:37
引言 2019年11月6号LightBend公司发布了AKKA 2.6版本,带来了类型安全的actor,新的Akka Cluster底层通信设施——Artery,带来了更好的稳定性,使用Jackson进行消息序列化,支持SLF4J日志接口。Akka Typed与之前的经典actor编程模式有较大的不同,本文翻译自Manuel Bernhardt——Akka技术推广大使,在2019年7月发布的系列文章:Tour of Akka Typed: Protocols and Behaviors,文中的示例代码原是scala,考虑到scala普及程度不高,译文全部转成java代码。 本系列课程我们一起来探索Akka Typed,新的Akka Actor API显著优于经典的Actor API。其实Akka Typed早在4月份就已经可以用于生产环境了,但是API还是被标记为可能会改变,随着2.6正式版发布日期的临近,抢先看一下带来了哪些新的变化。 如果你对之前的Akka不熟悉,不用担心,保证你能看懂;如果你对Akka很熟悉,也不要飘飘然,本课程可以帮助你在实际工作中更好的掌握Akka Typed。 为什么使用Akka Typed actor编程模型是一个强有力的抽象模型,尤其擅长解决真实世界建模,容错、并发、分布式系统问题

课程设计

佐手、 提交于 2019-12-06 19:19:33
Android应用程序开发 课程设计报告 ( 2019—2020学年 第Ⅰ学期) 基于 Android的日历系统 系 别 信息与控制工程 专 业 计算机科学与技术 班 级 1701 姓 名 刘畅 指导教师 郭 丹 目录 一、 摘要 3 二、 需求分析 3 2.1 需求分析 3 2.2 UML 需求用例图及用例分析说明 4 三、 系统设计 5 3.1 系统总体设计 5 3.2 系统数据库设计 5 3.3 系统详细设计 6 3.4 各模块功能 6 3.5 UML 设计 7 四 、系统 测试 8 4.1 日历主界面 8 4.2 编辑日程界面 9 4.3 查看界面 12 五、系统实现 1 3 5.1 系统实现目标 13 5.2 界面布局 13 附件 19 一、摘要 日历提醒软件的设计和实现是在 Android平台下开发的,实现了一个多功能和全方位的日历提醒功能,为用户提供全方位的时间安排和管理,随时记录所思所想,具有较高的实用价值。 如今智能手机的发展,进入崭新的时代,与此同时,移动互联网也在高速的发展,进入 4G时代,促进智能手机的不断进步。Android作为一个重要的手机软件发展平台,以及当今手机软件的主流使用系统,它的特点是具有开放性体系架构,具有非常好的开发,调试环境,而且还可以支持各种拓展的用户体验,包括了丰富的图形组建还有多媒体支持功能,同时有强大的浏览器

快速上手Gobject

百般思念 提交于 2019-12-06 14:54:11
What is G-object? — 很多人被灌输了这样一种概念:要写面向对象程序,那么就需要学习一种面向对象编程语言,例如C++、Java、C#等等,而C语言是用来编写结构化程序的。 — 事实上,面向对象只是一种编程思想,不是一种编程语言。换句话说,面向对象是一种游戏规则,它不是游戏。 — Gobject,亦称Glib对象系统,是一个程序库,它可以帮助我们使用C语言编写面向对象程序;它提供了一个通用的动态类型系统(GType)、一个基本类型的实现集(如整型、枚举等)、一个基本对象类型-Gobject、一个信号系统以及一个可扩展的参数/变量体系。 Why Bother to use Gobject ? — GObject告诉我们,使用C语言编写程序时,可以运用面向对象这种编程思想。 — Gobject系统提供了一个灵活的、可扩展的、并且容易映射到其他语言的面向对象的C语言框架。 — GObject的动态类型系统允许程序在运行时进行类型注册,它的最主要目的有两个: 1)使用面向对象的设计方法来编程。GObject仅依赖于 GLib 和 libc ,通过它可使用纯C语言设计一整套面向对象的软件模块。 2)多语言交互。在为已经使用 GObject框架写好的函数库建立多语言连结时,可以很容易对应到许多语言,包括C++、Java、Ruby、Python和.NET/Mono等