硬盘

虚拟机配置与系统安装

你。 提交于 2020-03-14 10:41:25
虚拟机配置与系统安装 虚拟机 虚拟机的两个实用功能:快照(建立一个状态,之后在任意一个时间可以恢复这个状态)和克隆(创建一个完全相同的机器,以测试多个计算机的情况) linux系统的安装过程步骤 linux系统的安装过程有以下几步:硬盘分区、逻辑格式化、生成设备文件名、完成挂载。 磁盘分区 硬盘分区有一定的规则,这是硬盘的硬件组成结构决定的,分区就是以磁柱为单位的连续磁盘空间。硬盘主分区最多只能有4个,扩展分区最多只能有1个,主分区+扩展分区的总数不能超过4个,扩展分区不能格式化不能写入数据,唯一的作用就是包含逻辑分区,逻辑分区可以正常写入数据和格式化(C盘就是主分区,其他都是逻辑分区)。 分区表示有一个特殊的规则,逻辑分区永远都是从5开始的,如下图第一种分区,1、2、3为主分区,4是扩展分区,5、6是逻辑分区。第二种分区只有一个主分区1,扩展分区是2,而逻辑分区则是从5开始的。任何情况下1、2、3、4都不能是逻辑分区号。 查看分区情况 df -h : 分区的理由主要有两点: 1、数据安全,分区之间的数据不会相互影响。 2、系统效能,数据放在连续的磁盘空间处理速度快。 分区时考虑到后续可能会规划新分区,故一般都设置扩展分区,在扩展分区中预留一部分空间备用。 逻辑格式化 硬盘在使用之前需要进行高级格式化(逻辑格式化)把硬盘分割成等大小的数据块,建立文件位置与数据库位置的索引

Python学习————文件处理

醉酒当歌 提交于 2020-03-13 21:57:09
一、文件 什么是文件 文件是操作系统提供给用户/应用程序操作硬盘的一种虚拟概念(接口) 为什么要用文件 用户/应用程序可以通过文件将数据永久保存到硬盘中,即操作文件就是操作硬盘。 用户/应用程序直接操作的是文件,对文件进行的所有操作都是在向操作系统发送系统调用, 然后再由操作系统将其转换成具体的硬盘操作 如何用文件 控制文件读写内容的模式:t和b 强调:t和b不能单独使用,必须跟r/w/a连用 t:文本 1.读写都是以str(Unicode)为单位的 2.文本文件 3.必须为open()指定encoding='utf-8' b:二进制 / bytes 控制文件读写操作的模式: r:只读模式 w:只写模式 a:只追加写模式 +:r+、w+、a+ 二、文件操作的基本流程 1. 打开文件,由应用程序向操作系统发起系统调用open(...),操作系统打开该文件,对应一块硬盘空间,并返回一个文件对象赋值给一个变量f f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r 2. 调用文件对象下的读/写方法,会被操作系统转换为读/写硬盘的操作 data=f.read() 3. 向操作系统发起关闭文件的请求,回收系统资源 f.close() windows路径分隔符问题 open('C:\a.txt\nb\c\d.txt') 解决方案一:推荐 open(r

【2020Python修炼记14】Python语法入门—文件处理

拈花ヽ惹草 提交于 2020-03-13 21:43:40
【目录】 1、什么是文件 2、为何要用文件 3、如何使用文件— open() 3.1 模式介绍 3.2 基本操作流程 3.3 with上下文管理 3.4 指定字符编码 3.5 文件操作模式详解 1、什么是文件 文件是操作系统提供给用户/应用程序操作硬盘的一种虚拟的概念/接口 ==计算机三大层次结构== 用户/应用程序(open()) 操作系统(文件) 计算机硬件(硬盘) 2、为何要用文件 ==保存数据== 用户/应用程序 可以通过文件将数据永久保存的硬盘中 ,即 操作文件 就是 操作硬盘 ==读取数据== 用户/应用程序 直接操作的是文件,对文件进行的所有的操作,都是在 向操作系统发送系统调用 ,然后再 由操作将其转换成具体的硬盘操作 3、如何使用文件— open() 3.1 模式介绍 =1= 模式一:控制文件 读写内容 的模式—— t 和 b 强调:t 和 b 不能单独使用,必须跟r / w / a 连用 t 文本 1、读写都以str(unicode)为单位的 2、、文本文件 3、必须指定encoding='utf-8' b 二进制/bytes =2= 模式二:控制文本 读写操作 的模式—— r /w / a / + r只读模式 w只写模式 a只追加写模式 +:r+、w+、a+ 3.2 基本操作流程 =1=打开文件—— open() =Windows路径分隔符问题 \ /

【2020Python修炼记13】Python语法入门—字符编码

夙愿已清 提交于 2020-03-12 19:06:12
一、知识储备 1、三大核心硬件——CPU,内存,硬盘 所有软件都是运行硬件之上的,与运行软件相关的三大核心硬件为cpu、内存、硬盘 #1、软件运行前,软件的代码及其相关数据都是存放于硬盘中的 #2、任何软件的启动都是将数据从硬盘中读入内存,然后cpu从内存中取出指令并执行 #3、软件运行过程中产生的数据最先都是存放于内存中的,若想永久保存软件产生的数据,则需要将数据由内存写入硬盘 2、文本编辑器读取文件内容的流程 #阶段1、启动一个文件编辑器(文本编辑器如nodepad++,pycharm,word) #阶段2、文件编辑器会将文件内容从硬盘读入内存 #阶段3、文本编辑器会将刚刚读入内存中的内容显示到屏幕上 3、Python解释器执行文件的流程 以python test.py为例,执行流程如下: #阶段1、启动python解释器,此时就相当于启动了一个文本编辑器 #阶段2、python解释器相当于文本编辑器,从硬盘上将test.py的内容读入到内存中 #阶段3、python解释器解释执行刚刚读入的内存的内容,开始识别python语法 4、总结—Python解释器&文本编辑器的异同 #1、相同点: 前两个阶段二者完全一致,都是将硬盘中文件的内容读入内存,详解如下 python解释器是解释执行文件内容的,因而python解释器具备读py文件的功能,这一点与文本编辑器一样 #2、不同点:

大数据量下的存储设计模式探索

北战南征 提交于 2020-03-12 15:26:09
1 引言 现实世界商务竞争越演越烈,出现更多的细分市场、深度营销和定制功能,这导致各种商务应用的用户数和业务复杂度同步增加。反映到数据库里,就是表的数量和数据量日益增长,数据库响应速度日益缓慢。 为什么一个功能好的产品,往往上线后就出现性能问题,不得不反复回炉修改?为什么一到业务高峰期,系统就慢的动弹不得,只能关闭部分业务保障关键业务?数据量从十万到百万,从百万到千万,从千万到上亿,从亿再向兆跨越,如何保障程序能够经受住大数据量的考验?这都是我们面临的真实现状,也是大家反复在思考的问题。 《道德经》上说:“有道无术 , 术尚可求 , 有术无道 , 止于术。”众人把目光集中在系统架构、查询算法、数据库软件的底层原理等等“术”上,却忽视了深刻理解数据这条光明大“道”。数据从哪里来?要到哪里去?数据用来读还是写?数据与数据之间有什么样的关系?数据的增长速度如何控制?最有价值的数据是什么?数据什么时候可以丢弃?假如不能回答这一长串问题,如果不是以这一长串问题的答案为程序设计的出发点,代码如何能经受大数据量的考验? 在数据的采集、计算、展现和存储这一设计链条中,开发者通常负责设计关系型数据模型,编写程序计算和展现数据,数据库管理员负责数据文件存放位置、表空间存储参数等的架构设计。但是,数据库管理员往往不了解业务,不了解数据的特点,数据存储设计表现为千“表”一律。

Java序列化接口的作用总结1

坚强是说给别人听的谎言 提交于 2020-03-12 11:47:49
一个对象有对应的一些属性,把这个对象保存在硬盘上的过程叫做”持久化”. 把堆内存中的对象的生命周期延长,存入硬盘,做持久化操作.当下次再需要这个对象的时候,我们不用new了,直接从硬盘中读取就可以了.(存储到硬盘是一个文件,不需要我们去解析,如果用记事本打开解析会出现乱码,解析要用特定的方式,不用我们管. 我们只需要读取). 把对象存储到硬盘上的一个文件中,这个文件的标准扩展名是(.object). 在很多框架中就会有这种.object结尾的文件,因为很多对象都不创建,创建起来太麻烦,直接读取,而且有些对象的值你不知道,框架封存在.object文件中,直接读取这个文件中的这个值就行了,不需要传这个值. 1 import java.io.Serializable; 2 /* 3 * Serializable:用于给被序列化的类加入ID号。 4 * 用于判断类和对象是否是同一个版本。 5 */ 6 public class Person implements Serializable/*标记接口*/ { 7 /** 8 * transient:非静态数据不想被序列化可以使用这个关键字修饰。 9 */ 10 private static final long serialVersionUID = 9527l; 11 // private transient String name; 12

[Java]序列化和反序列化

寵の児 提交于 2020-03-12 04:29:03
序列化和反序列化 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。  对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10万个Session对象,内存可能吃不消,于是Web容器就会把一些seesion先序列化到硬盘中,等要用了,再把保存在硬盘中的对象还原到内存中。 当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。 来源: https://www.cnblogs.com/lkboy/p/4242710.html

Linux之查看硬盘IO

徘徊边缘 提交于 2020-03-12 02:03:50
我们知道了如果查看CPU负载可以使用top命令,查看内存使用情况可以使用free -h命令,但是我们还需要知道硬盘的使用情况,使用iostat和iotop 用iostat -x 1 10 如果 iostat 没有,要 yum install -y sysstat安装这个包,第一眼看下图红色圈圈的那个如果%util接近100%,表明I/O请求太多,I/O系统已经满负荷,磁盘可能存在瓶颈,一般%util大于70%,I/O压力就比较大,读取速度有较多的wait,然后再看其他的参数, rrqm/s:每秒进行merge的读操作数目。即delta(rmerge)/s wrqm/s:每秒进行merge的写操作数目。即delta(wmerge)/s r/s:每秒完成的读I/O设备次数。即delta(rio)/s w/s:每秒完成的写I/0设备次数。即delta(wio)/s rsec/s:每秒读扇区数。即delta(rsect)/s wsec/s:每秒写扇区数。即delta(wsect)/s rKB/s:每秒读K字节数。是rsec/s的一半,因为每扇区大小为512字节 wKB/s:每秒写K字节数。是wsec/s的一半 avgrq-sz:平均每次设备I/O操作的数据大小(扇区)。即delta(rsect+wsect)/delta(rio+wio) avgqu-sz:平均I/O队列长度。即delta

linux分区方案

可紊 提交于 2020-03-11 19:09:36
1、主分区与逻辑分区 Linux下硬盘分区主要分为主分区(Primary Partion)和扩展分区(Extension Partion)两种,且主分区和扩展分区数目之和不能大于四个。主分区一经创建,格式化后可立即使用。扩展分区创建之后,无法直接格式化使用,必须再进行二次逻辑分区(Logical Partion)划分且格式化后才能使用。逻辑分区划分没有数量上的限制。 1到4 对应的是主分区(Primary Partition)或扩展分区(Extension Partition)。从5开始,对应的都是硬盘的逻辑分区(Logical Partition)。一块硬盘即使只有一个主分区,逻辑分区也是从5开始编号的,这点应特别注意。 2、Linux下的分区与命名方案 Linux下是通过字母和数字的组合方式来标识硬盘的分区的,这点不同于Windows系统下使用类似“C盘”或者“C:”来标识硬盘分区。Linux的这种命名方案比起Windows更加灵活,表达的含义也更加清晰,完全可以通过分区标识来详细了解硬盘分区情况。同时Linux的这种硬盘命名方案是基于文件的,一般有如下文件名方式: /dev/hda2、 /dev/sdb3 /dev:这是所有设备文件存放的目录。 hd和sd:它们是分区的前两个字母,代表该分区所在的设备类型,其中hd代表IDE硬盘,sd代表SCSI硬盘。 a

数据库访问性能优化

自作多情 提交于 2020-03-11 11:31:52
数据库访问性能优化 特别说明: 1、 本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识; 2、 本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数据库或者是基于SSD技术的数据库; 3、 本文未深入数据库优化中最核心的执行计划分析技术。 读者对像: 开发人员: 如果你是做数据库开发,那本文的内容非常适合,因为本文是从程序员的角度来谈数据库性能优化。 架构师: 如果你已经是数据库应用的架构师,那本文的知识你应该清楚90%,否则你可能是一个喜欢折腾的架构师。 DBA (数据库管理员): 大型数据库优化的知识非常复杂,本文只是从程序员的角度来谈性能优化,DBA除了需要了解这些知识外,还需要深入数据库的内部体系架构来解决问题。 引言 在网上有很多文章介绍数据库优化知识,但是大部份文章只是对某个一个方面进行说明,而对于我们程序员来说这种介绍并不能很好的掌握优化知识,因为很多介绍只是对一些特定的场景优化的,所以反而有时会产生误导或让程序员感觉不明白其中的奥妙而对数据库优化感觉很神秘。 很多程序员总是问如何学习数据库优化,有没有好的教材之类的问题。在书店也看到了许多数据库优化的专业书籍,但是感觉更多是面向DBA或者是PL/SQL开发方面的知识,个人感觉不太适合普通程序员