OOS

Java IO流

依然范特西╮ 提交于 2021-02-12 18:52:00
虽然看了一些code,但是对于Java IO流一直没有系统学习,今天在此做一个总结。 将数据冲外存中读取到内存中的称为输入流,将数据从内存写入外存中的称为输出流。 在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是 File、OutputStream、InputStream、Writer、Reader ;一个接口指的是 Serializable .掌握了这些IO的核心操作那么对于Java中的IO体系也就有了一个初步的认识了 。 主要的类如下: 1. File(文件特征与管理):用于文件或者目录的描述信息,例如生成新目录,修改文件名,删除文件,判断文件所在路径等。 2. InputStream(二进制格式操作):抽象类,基于字节的输入操作,是所有输入流的父类。定义了所有输入流都具有的共同特征。 3. OutputStream(二进制格式操作):抽象类。基于字节的输出操作。是所有输出流的父类。定义了所有输出流都具有的共同特征。 Java中字符是采用Unicode标准,一个字符是16位,即一个字符使用两个字节来表示。为此,JAVA中引入了处理字符的流。 4. Reader(文件格式操作):抽象类,基于字符的输入操作。 5. Writer(文件格式操作):抽象类,基于字符的输出操作。 java.io包中包含了流式I/O所需要的所有类。在java.io包中有四个基本类

一文读懂云上DevOps能力体系

你说的曾经没有我的故事 提交于 2021-02-04 12:46:36
简介: 阿里云ECS自动化运维套件架构师,深度拆解云上运维能力体系建设:自动化运维等级金字塔、自动化运维的进阶模式、DevOps的基础核心、云上标准化部署三大能力…… 序言 云计算行业已经有十多年的发展了,话题早已从“要不要上云”转向“如何用好云”。“要不要”其实是一个决策性的话题,直到决策出来一个结果了,话题就算结束了。而“如何用好云”却是一个持续性的话题。 一般来说,在规划阶段开始,企业就会开始思考“如何用好云”,这个话题会伴随用云的整个过程。如果简单地从工作类型划分,除了业务代码的研发(Dev),其他的部分都可以称为运维(Ops),包含资源创建(环境部署)、应用部署、资源管理、资源监控、报警、故障排查等工作。 笔者从事云计算工作超过五年时间,参与开发过多款云产品,可以说既是云计算产品的消费者,也是云计算产品的生产者。在这里,笔者谈一谈对云上DevOps能力体系的多年思考和总结,希望对准备上云或是已经上云的运维人员有所帮助。 1 自动化运维等级金字塔 从运维自动化等级和程度来看,DevOps其实是一种非常高级的自动化,不仅自动化程度比较高,而且对于自动化的完成方式有着非常严格的定义。关于运维自动化与DevOps的关系,其实可以非常好地参考汽车自动驾驶技术分级标准,笔者做了个对比图,如图1。 图1:自动化运维等级金字塔 如图1,自动化运维可分为5个等级, 分别是手动运维、半手工

Java常见问题收集

╄→尐↘猪︶ㄣ 提交于 2021-02-04 04:01:18
转载处:https://blog.csdn.net/jackfrued/article/details/44921941 1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象 :抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承 :继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段(如果不能理解请阅读阎宏博士的《Java与模式》或《设计模式精解》中关于桥梁模式的部分)。 - 封装 :通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口(可以想想普通洗衣机和全自动洗衣机的差别,明显全自动洗衣机封装更好因此操作起来更简单;我们现在使用的智能手机也是封装得足够好的,因为几个按键就搞定了所有的事情)。 - 多态性 :多态性是指允许不同子类型的对象对同一消息作出不同的响应

阿里云发布ECS自动化运维套件,帮助企业实现自动化运维转型

落爺英雄遲暮 提交于 2021-02-04 01:50:21
云计算的发展,推动了自动化运维、DevOps、AIOps 等趋势的兴起,在业务快速变化的今天,企业希望通过一套自动化运维的专家系统提高运维效率,为业务提供支撑。 传统的方式下,打造一套成熟的 DevOps 流程需要有大量的技术投入,如果采用商业软件还会有不菲的支出。无论是哪一项,都意味着大量的时间成本和财务成本支出。云计算正在改变这种情况。 为云而生的 ECS 自动化运维套件 2 月 3 日,阿里云宣布推出 ECS(Elastic Compute Service,弹性计算服务)自动化运维套件。这是一套无需自行部署、云原生的免费产品能力,可以帮助企业实现从IT架构的规划、迁移、部署、弹性扩缩容,到日常管理,覆盖云基础设施全生命周期的自动化运维。 “ECS 自动化运维套件是真正为云而生的自动化运维体系,能发挥云的最大价值,也能让企业享受云的技术红利。”阿里云弹性计算负责人张献涛表示。 据阿里云介绍,ECS 自动化运维套件涵盖服务器迁移中心、资源编排、运维编排等 13 个工具,覆盖跨地域部署、定时快照等 20 多个常见运维场景 。利用阿里云自动化运维套件,企业在迁移、部署和扩容的场景下,能实现最高 10 倍的效率提升 ,实现从人工到自动的质变。 今天,企业在云上需要管理数十万的云服务器,如何高效地批量管理成为重要问题;即便是中小型客户,自建机房还是在云上,都需要完成类似上线下线、扩缩容

一文读懂云上DevOps能力体系

陌路散爱 提交于 2021-02-04 01:14:18
序言 云计算行业已经有十多年的发展了,话题早已从“要不要上云”转向“如何用好云”。“要不要”其实是一个决策性的话题,直到决策出来一个结果了,话题就算结束了。而“如何用好云”却是一个持续性的话题。 一般来说,在规划阶段开始,企业就会开始思考“如何用好云”,这个话题会伴随用云的整个过程。如果简单地从工作类型划分,除了业务代码的研发(Dev),其他的部分都可以称为运维(Ops),包含资源创建(环境部署)、应用部署、资源管理、资源监控、报警、故障排查等工作。 笔者从事云计算工作超过五年时间,参与开发过多款云产品,可以说既是云计算产品的消费者,也是云计算产品的生产者。在这里,笔者谈一谈对云上DevOps能力体系的多年思考和总结,希望对准备上云或是已经上云的运维人员有所帮助。 1 自动化运维等级金字塔 从运维自动化等级和程度来看,DevOps其实是一种非常高级的自动化,不仅自动化程度比较高,而且对于自动化的完成方式有着非常严格的定义。关于运维自动化与DevOps的关系,其实可以非常好地参考汽车自动驾驶技术分级标准,笔者做了个对比图,如图1。 图1:自动化运维等级金字塔 如图1,自动化运维可分为5个等级, 分别是手动运维、半手工/半自动化运维、高度自动化、标准化运维和AIOp s,分别对应自动化驾驶的6个Level,其中运维自动化L2对应了自动驾驶的Level 1和2

使用阿里云oss

╄→гoц情女王★ 提交于 2021-01-09 10:01:55
写这篇博文的原因是公司有个项目需要用到阿里云来存放用户头像文件、后期软件安装版本也可能需要存进去,然后折腾了两天终于摸熟了一点皮毛,在这里给大家简单介绍下。 一、初识对象存储oss 1、进入阿里云控制台后,搜oss,选择“对象存储oss”,如图 首次使用,应该是要确定授权开启对象存储oos的,确定之后,会生产accesskeyid和accesssecret,记得保存下来,后面使用都需要这两个值 开启后如图 接下来,点击“安全令牌”获得roleArn, 输入手机验证码后获得如图,这个roleArn后面STS服务程序上面要用到 下一步,创建自己的bucket,阿里云的bucket就是一个空间的总称,可以理解成一个磁盘,如图 填好这两项后,记住它,后面也会用到 如图,我创建了一个luoyang-test的bucket 下一步,我的.net程序怎么上传、下载文件到这里呢,接着往下看 二、编写.net程序接入阿里云sdk 创建控制台程序,然后添加nuget包如图,下面直接看代码 这是简单的上传文件操作,还有列举文件、下载文件等操作,具体查看阿里云sdk即可,很简单,注意阿里云的<objectName>就是你本地文件路径, <uploadfileName>是你上传后的路径,比如上传后你想存到某个文件夹里面,就填“xxx/test.txt”. 三、安卓使用阿里云oss方法 由于项目前端是安卓

02-准备实验环境-008-快速-部署-虚拟机批量克隆-VMware Workstation 15

拈花ヽ惹草 提交于 2020-12-31 20:34:53
《系统工程师实战培训》 -02- 准备实验环境 ( 批量克隆 )-008- 快速 - 部署 - 虚拟机批量克隆 - VMware Workstation 15 作者:学 无 止 境 QQ交流群:454544014 1. 模板机 2. 脚本 param( [string] $importfile = $(Read-Host -prompt "Please enter a file name")) $importedusers = Import-CSV $importfile foreach ($importeduser in $importedusers) { cd "c:\Program Files (x86)\VMware\VMware Workstation\" #1.克?隆?虚¨¦拟a机¨² .\vmrun.exe -T ws clone $importeduser.SourceFile $importeduser.TargetFile full -snapshot $importeduser.CloneSnapshot -cloneName $importeduser.CloneName #3.开a启?虚¨¦拟a机¨² .\vmrun.exe -T ws start $importeduser.TargetFile d: } 3. CSV SourceFile

Java Scoket编程

倾然丶 夕夏残阳落幕 提交于 2020-12-23 19:56:53
Java Scoket编程 转自http://www.cnblogs.com/futao123/p/5068632.html 爱海滔滔 一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。 而TCP层则提供面向应用的可靠(tcp)的或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。 目前较为流行的网络编程模型是客户机/服务器(C/S)结构。 即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提 出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客 户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也 能及时得到服务。 二,两类传输协议: TCP 和 UDP   TCP 是 Tranfer Control Protocol 的 简 称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须 建 立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时

云上自建数据库,秒级备份,看这篇就对了!

帅比萌擦擦* 提交于 2020-11-26 17:50:49
导读:数据是企业重要资产,作为存储数据的介质,IT设施发生问题是不可避免。因此,每一个企业都应该做好数据备份,保证数据的安全与业务的可用。 本次分享将重点介绍如何利用阿里云快照极速可用特性和一致性快照组,便捷地完成云上自建数据库的数据备份。 作者 | 阿里云技术专家 余初武 来源 | 弹性计算百晓生 极速可用特性——秒级,非一致性数据备份 阿里云ECS的极速可用特性主要包括四个方面,分别是快照秒级可用、云盘回滚性能0损失、ESSD增值特性以及全地域支持等。 阿里云ECS极速可用特性的典型使用场景包括快速搭建研发测试环境;业务关键配置的变更保护,实现秒级备份相关磁盘数据;云盘极速回滚,并实现回滚的磁盘性能无损耗。 基于极速可用的特性,用户仅需要几秒钟的时间就可以复制出一个新磁盘。 这一过程也非常简单,首先创建一个带极速可用特性的快照,关键参数的设置如下图所示,主要包括InstantAccess和InstantAccessRetentionDays,前者设置为True就可以设置成为极速可用的快照,后者则是极速可用特性的保留天数,可以让这特性到期之后就会自动被关闭。当快照创建完成(极速可用特性开启的情况下,不需要等快照进度完成)之后,就能够快速创建磁盘并立即挂载使用。 案例:自建数据库,磁盘空间不够,怎么办? 在这样的情况下,最直接能想到的解决方案是纯人工方式。 首先

深克隆和浅克隆

丶灬走出姿态 提交于 2020-11-22 15:30:19
点击上方 “蓝字” 可以关注我哦! 概述 Java 集合中提供的拷贝构造函数只支持浅拷贝而不是深拷贝,这是因为集合中的拷贝构造函数是通过引用的复制来达到浅拷贝的。这意味着存储在原有集合和克隆集合中的对象会保持一致(指向同一内存地址)。当然如果集合中的对象是不可变对象,那这是可以的。这也是为什么 String 设计为不可变类之一的原因。String 对象在字符串常量池中更新一个并不会影响到其他对象,便于缓存字符串。 public final class String implements java . io . Serializable , Comparable < String > , CharSequence { /** The value is used for character storage. */ private final char value []; public String ( String original ) { this . value = original . value ; this . hash = original . hash ; } // ...... } String 类底层是利用一个 char 数组实现的,并且没有对外提供修改 char 数组的方法。因为它是一个 不可变的类