接口

linux学习笔记一

試著忘記壹切 提交于 2020-03-27 09:00:13
一 1.X86计算机体系是冯-诺伊曼体系,包括现在很多智能设备。 2.计算机主要由CPU(运算器和控制器),存储设备,输入输出设备。 3.运算器提供运算能力,但是只是二进制运算 控制器是协调各部件 4.组件之间的连接 以及和存储的连接 是通过总线(bus) 5.总线分为 控制总线 数据总线和地址总线 6.CPU指令集 分为特权指令和普通指令 CPU物理上分为4个环,最中心的是环0,依次外为环1,环2,环3 特权指令就是在环0上,普通指令在环3上 只有操作系统才有权限调用特殊指令 7.从底层到高的语言分别是 机器语言----汇编语言----高级语言 8.为什么要有操作系统? 生产厂商众多,所生产的硬件规格和接口也各自不同,而操作系统的作用就是将底层不统一的规格接口,向上统一成一个标准的规格和接口。 操作系统 Operating System 简写OS 9.编程层次: 硬件规格 系统调用 库调用 10.什么是程序运行? 该程序占据了CPU一部分性能,然后逐条自上向下的运行代码 11.用户接口 图形用户接口 GUI 命令行接口 CLI 用户接口程序:用户通过这个程序,调用接口 接口格式 ABI 应用编程接口 API 12.CPU的架构类型:X86 X64 ARM M68000 POWER 13.操作系统有 Windows Linux Unix GNU组织发起 软件自由运动 GNU

对.Net Framework的认识(2)

主宰稳场 提交于 2020-03-27 08:40:45
类和接口的访问权限默认是internal,接口成员不能添加访问修饰符,默认是public,类成员默认是private的。 C#中静态类不能实现接口,它里面所有的成员(包括成员类型,方法等)必须是静态的。 CLR不支持partial,那只是C#的语法,所以partial class必须用C#写。 virtual和override,前者用于父类标识可重构的成员,后者用于子类的重构,virtual方法最好少用,因为性能会降低。因为非virtual方法,CLR可以很快定位到这个方法的出处,而virtual方法,CLR得先去找调用该方法的对象是哪个类型的,在确定类型之后才能定位方法的出处,如果派生层次很多很复杂的话,性能消耗就会比较大。 sealed标识密封类,即不可继承类,不能同时使用virtual关键字,类申明成sealed可以提高性能,因为可以减少很多检查和验证。 new除了实例化对象外,当子类的方法签名和父类一样时,用new可以更清楚地表达子类的方法和父类没有任何关系,如果不用的话,编译时会警告,但还是会隐藏父类方法,使用子类自己定义的方法。 常量的值必须在编译时就确定,编译后,CLR会把常量的值保存在程序集的元数据中,如果代码中使用到常量,CLR会去元数据中查找并把常量值放入IL中。常量如果为引用类型(String除外),则只能赋值null。类中的常量字段引用方式和静态字段一样

java WEB开发中的过滤器接口Filter

蹲街弑〆低调 提交于 2020-03-27 07:49:57
Filter在Web开发中的应用。 过滤器概述: 过滤器就是在源数据和目的数据之间起过滤作用的中间组件。对Web应用来说,过滤器 是一个驻留在服务器端的Web组件,它可以截取客户端和资源之间的请求与响应信息, 并对这些信息进行过滤。 当Web容器接受到一个对资源的请求时,它将判断是否有过滤器与这个资源相关联。如 果有,那么容器将把请求交给过滤器进行处理。在过滤器中,你可以改变请求的内容, 或者重新设置请求的报头信息,然后再将请求发送给目标资源。当目标资源对请求作出 响应时候,容器同样会将响应先转发给过滤器,再过滤器中,你可以对响应的内容进行 转换,然后再将响应发送到客户端。 与过滤器开发相关的接口与类都包含在javax.serlvet和javax.servlet.http包中,主 要有下面的接口和类。 ·javax.servlet.Filter接口 ·javax.servlet.FilterConfig接口 ·javax.servlet.FilterChain接口 ·javax.servlet.ServletRequestWrapper类 ·javax.servlet.ServletResponseWrapper类 ·javax.servlet.http.HttpServletRequestWrapper类 ·javax.servlet.http

H5微信授权登录

妖精的绣舞 提交于 2020-03-26 11:15:17
这里介绍H5微信授权登录,采用了微信公众号授权原理,是oauth2的登录授权方式,简单的来讲,就是用户通过手机微信确认登录之后,微信方会返回一个授权码code给回第三方(接入方),这个授权码code一次有效期,且有效时间比较短;第三方通过此code去调用微信接口获取token,token的有效期也比较短;第三步通过token再去调用微信开发平台接口,获取微信个人用户信息(昵称、头像地址、openid、unionid、地区……)。 申请测试账号: https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头; 前提先关注微信测试公众号,然后即可以在微信开发者工具的公众号网页调试模式,地址栏进行输入授权登录; 参考链接(请在微信客户端中打开此链接体验): scope为snsapi_base https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect

存储设备 S2600设备 介绍

感情迁移 提交于 2020-03-26 10:54:04
业务接口: H0~H3 只跑业务数据 管理接口: H4 三个小电脑图标,管理口的流量和业务口数据流量是不走在一起的。该接口是用来 跑管理的数据的耳机口,该接口是可以复用的。(既可以做管理接口,又可以做对外提供业务的接口) 配置接口: H5 小扳手图标。 它是用来做surport技术支持的,厂商收集日志,收集信息等,就从该配置接口登录。 console接口 : |o|o|图标。 通讯设备console端口是用来配置交换机路由器等设备的,所以只有网管型设备才有。通过console接口可对网络设备进行各种配置调试。 SAS 接口: 扩展口 。 S2600设备最多12块盘,假如12块盘不够使用了该怎么办呢?可以单独买一种设备,这种设备比单独买控制框便宜,该设备是硬盘框,硬盘框最多是72块硬盘 ,如何让控制框使用硬盘框的容量?可以进行扩展,通过MINI-SAS 线进行连接。SAS接口是用来做容量扩展用。 来源: https://www.cnblogs.com/lijizhan/p/9913741.html

详解接口与抽象类的异同点

牧云@^-^@ 提交于 2020-03-26 10:17:27
相同之处 接口和抽象类都不能被实例化,只能被其他类实现和继承 接口和抽象类都可以包含抽象方法,实现接口或继承抽象类的普通子类必须实现这些抽象方法 不同之处 从设计层面来说 抽象是对类的抽象,是一种模板设计,接口是对行为的抽象,是对行为的规范 从组成上来说 接口里只能包含抽象方法、静态方法、默认方法和私有方法,不能为普通方法提供方法实现,抽象类则完全可以包含普通方法。 接口里只能定义公共静态常量,不能定义普通成员变量;抽象类既可以定义普通成员变量也可以定义静态常量。 接口里不包含构造器;抽象类里可以包含构造器,抽象类里的构造器并不是用于创建对象,而是让其子类调用这些构造器来完成属于抽象类的初始化操作。 接口里不能包含初始化;但抽象类则完全可以包含初始化块 从用法上来说 一个类最多只能有一个父类,包括抽象类;但一个类可以实现多个接口 补充 抽象类是从多个类中抽象出来的模板,接口是更彻底的抽象,接口定义了多个类共同的行为规范,接口实现了规范与实现分离 一个接口可以有多个父接口,但接口只能继承接口,不能继承类 JDK8 的时候接口可以有默认方法和静态方法功能。 JDK9 在接口中引入了私有方法和私有静态方法。 私有方法主要作用就是作为工具方法使用,为接口中的类方法和默认方法提供支持。Java8允许在接口中定义带方法体的抽象方法和类方法,当两个默认方法或者类方法中包含一段相同的实现逻辑时

开闭原则

。_饼干妹妹 提交于 2020-03-26 10:03:37
1起源与发展 1.1梅耶开闭原则 伯特兰·梅耶一般被认为是最早提出开闭原则这一术语的人,在他1988年发行的《面向对象软件构造》中给出。这一想法认为一旦完成,一个类的实现只应该因错误而修改,新的或者改变的特性应该通过新建不同的类实现。新建的类可以通过继承的方式来重用原类的代码。衍生的子类可以或不可以拥有和原类相同的接口。 梅耶的定义提倡实现继承。具体实现可以通过继承方式来重用,但是接口规格不必如此。已存在的实现对于修改是封闭的,但是新的实现不必实现原有的接口。 1.2多态开闭原则 在20世纪90年代,开闭原则被广泛的重新定义。由于抽象化接口的使用,在这中间实现可以被改变,多种实现可以被创建,并且多态化的替换不同的实现。 相比梅耶的使用方式,多态开闭原则的定义倡导对抽象基类的继承。接口规约可以通过继承来重用,但是实现不必重用。已存在的接口对于修改是封闭的,并且新的实现必须,至少,实现那个接口。 罗伯特·C·马丁1996年发表的文章《开闭原则》是使用这种方法的启发式著作。在2001年,Craig Larman把开闭原则关联到了Alistair Cockburn的名为受护的变量的模式以及David Parnas关于信息隐藏的讨论。 2原理思想 2.1问题由来 在软件的生命周期内,因为变化,升级和维护等原因需要对软件原有代码进行修改,可能会给旧代码引入错误

网络组Network Teaming

送分小仙女□ 提交于 2020-03-26 08:01:35
网络组: 将多个网卡聚合在一起,从而实现冗错和提高吞吐量  网络组不同于旧版中bonding技术,提供更好的性能和扩展性  网络组由内核驱动和teamd守护进程实现. 有以下不同方式:runner 1.roundrobin 【mode 0】轮转策略 (balance-rr) 特点: 1)从头到尾顺序的在每一个slave接口上面发送数据包,轮询方式往每条链路发送报文,基于per packet方式发送。服务上ping 一个相同地址:1.1.1.1 双网卡的两个网卡都有流量发出。负载到两条链路上,说明是基于per packet方式 ,进行轮询发送。 2)提供负载均衡和容错的能力,当有链路出问题,会把流量切换到正常的链路上。 交换机端需要配置聚合口 2.activebackup【mode 1】活动-备份(主备)策略 特点: 一个端口处于主状态 ,一个处于从状态,所有流量都在主链路上处理,从链路不会有任何流量。当主端口down掉时,从端口接手主状态。 不需要交换机端支持 3.loadbalance【mode 2】限定流量 特点: 该模式将限定流量,以保证到达特定对端的流量总是从同一个接口上发出。既然目的地是通过MAC地址来决定的,因此该模式在“本地”网络配置下可以工作得很好。 如果所有流量是通过单个路由器(比如 “网关”型网络配置,只有一个网关时,源和目标mac都固定了

如何为CentOS 7配置静态IP地址

て烟熏妆下的殇ゞ 提交于 2020-03-26 04:38:10
问题 :在 CentOS 7上,我想要将我其中一个网络接口从DHCP改为静态IP地址配置,如何才能永久为CentOS或RHEL 7上的网络接口分配静态IP地址? 如果你想要为CentOS 7中的某个网络接口设置静态IP地址,有几种不同的方法,这取决于你是否想要使用网络管理器。 网络管理器(Network Manager)是一个动态网络的控制器与配置系统,它用于当网络设备可用时保持设备和连接开启并激活。默认情况下,CentOS/RHEL 7安装有网络管理器,并处于启用状态。 使用下面的命令来验证网络管理器服务的状态: $ systemctl status NetworkManager . service 运行以下命令来检查受网络管理器管理的网络接口: $ nmcli dev status 如果某个接口的nmcli的输出结果是“已连接”(如本例中的enp0s3),这就是说该接口受网络管理器管理。你可以轻易地为某个特定接口禁用网络管理器,以便你可以自己为它配置一个静态IP地址。 下面将介绍 在CentOS 7上为网络接口配置静态IP地址的两种方式 ,在例子中我们将对名为enp0s3的网络接口进行配置。 不使用网络管理配置静态IP地址 进入/etc/sysconfig/network-scripts目录,找到该接口的配置文件(ifcfg-enp0s3)。如果没有,请创建一个。