硬盘

iOS SDWebImage

给你一囗甜甜゛ 提交于 2020-03-07 18:34:41
iOS之SDWebImage的实现原理 通过NSOperationQueue和NSOperation进行图片下载; 利用一些GCD函数对GIF图片进行解析; 利用URL作为key,NSOperation作为value; 利用URL作为key,UIImage作为value; SDWebImage的用法 可以利用coaoapod 导入工程 在需要的地方导入头文件 #import "UIImageView+WebCache.h" 调用sd_setImageWithURL:方法缓存图片 1.sd_setImageWithURL: //图片缓存的基本代码,就是这么简单 [self.image1 sd_setImageWithURL:imagePath1]; 2. sd_setImageWithURL: completed: //用block 可以在图片加载完成之后做些事情 [self.image2 sd_setImageWithURL:imagePath2 completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { NSLog(@"这里可以在图片加载完成之后做些事情"); }]; 3. sd_setImageWithURL: placeholderImage: /

正式学习linux-9

北城以北 提交于 2020-03-07 13:30:49
1.逻辑卷管理器 逻辑卷管理器可以针对ext4文件系统的硬盘进行灵活的增加或者缩小,通过该技术实现系统硬盘存储资源的整合,最大化利用系统的硬盘资源。 (1)通过pvcreate命令让硬盘设备支持LVM技术。 (2)vgcreate命令让已经支持该技术的硬盘整合成一个大的资源池。(相当于你家出点钱,他家出点钱,共同组成一个基金会,然后以基金会的名义去花这笔钱。) (3)lvcreate命令从资源池中切割出来一块资源(硬盘存储空间),作为一块逻辑卷使用。 (4)把切割下来的逻辑卷进行格式化操作,然后挂载使用。(其中创建出来的新硬盘的路径是/dev/卷组名/逻辑卷) 扩容逻辑卷 (1)先把挂载的逻辑卷给卸载掉(umount命令,对象是挂载点或逻辑卷) (2)用lvextend执行扩展操作。 (3)强制检查硬盘的完整性。 (4)通知系统已经增大了逻辑卷的容量。(在做这一步,用的是RHEL7.0版本的系统,会提示检查硬盘完整性的那一步没有完成,有点bug。这时候可以重复操作检查硬盘完整性命令,没有解决的话,就先挂载上逻辑卷,然后再做该步骤,再不行就重启试一下。) (5)然后再重新挂载。 缩小逻辑卷(保证数据不丢失一定要提前备份) (1)也要先取消挂载目录。 (2)先检查硬盘的完整性。 (3)通知系统要去缩小逻辑卷的容量,没有报错就继续进行下一步。 (4

Linux操作系统启动管理器GRUB

Deadly 提交于 2020-03-06 13:13:02
转载: http://58vpn.blog.sohu.com/309434214.html 【GRUB是什么】 GNU GRUB(简称“GRUB”)是一个来自GNU项目的启动引导程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。GRUB是在计算机启动后运行的第一个程序,他是用来负责加载、传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任务就算完成退出,系统引导的其它部份,比如系统的初始化及启动过程则完全由内核来控制完成。 【GRUB的功能】 1、提供菜单,并提供交互式接口;启动界面敲e键: 进入编辑模式; 2、选择要启动的内核或系统(允许传递引导参数给内核、选择界面可隐藏); 3、为编辑功能提供保护机制。 启用内核文件保护:选择运行指定的内核得先输入密码 传递参数保护:使用e命令得先输入密码 【GRUB的组成】 [root@CentOS6 grub]# ll total 275 -rw-r--r--. 1 root root 63 Mar 16 14:12 device.map #grub的对应设备文件; -rw-r--r--. 1 root root 13392 Mar 16 14:12 e2fs_stage1_5

Java序列化接口的作用总结

元气小坏坏 提交于 2020-03-06 07:45:26
一个对象有对应的一些属性,把这个对象保存在硬盘上的过程叫做”持久化”. 把堆内存中的对象的生命周期延长,存入硬盘,做持久化操作.当下次再需要这个对象的时候,我们不用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

「技术世界」SSD硬盘故障修复方法,轻松get新技能

♀尐吖头ヾ 提交于 2020-03-05 01:13:27
虽然国内疫情形势逐渐转好,各地也开始有序的开展复工生产,但是在这关键时刻,源妹也希望大家不要放松警惕,继续做好防护,减少出门,齐心协力,助力疫情早日过去。 疫情期间,不少朋友都在利用空暇时间学习充电,今天源妹给大家准备了 一篇关于SSD固态硬盘修复 的技术文章,希望能帮助大家丰富知识储备,get新的技术技能,为后续的工作开展做好准备。 SSD故障类型 SSD固态硬盘大家肯定都已非常熟悉,总的来说SSD故障主要有 物理故障和固件故障 两大类。 物理故障包括 :接口破坏、电路破坏、异常发热,造成数据丢失的原因包括电路板变形、电路断裂、芯片组异常高温等。 固件故障主要指 :固化在硬件上的软件发生了损坏,包括有坏块、读错误、模块丢失、逻辑坏道和校验出错等。 SSD修复的方法主要有 :固件修复、芯片数据重组、接口转换、物理替换的等方法。针对不同的情况,使用不同的技术方案。 针对不同故障的数据修复方法 针对不同的SSD故障,可采取以下不同的修复方案: 1、针对无法通过固件修复和替换法处理的固态硬盘。 可以采取芯片拆卸,编程器读取的方案处理。 1)在取芯片读取之前首先要清楚的了解是否支持本芯片存储的数据重组; 2)确认支持数据重组后,首先涂抹助焊剂在芯片周围; 3)然后使用热风枪,将温度调整到拆卸适宜温度220度左右,对芯片进行吹焊; 4)将吹焊的芯片放入编程器进行数据读取; 5

跟高手学习LINUX笔记-14

为君一笑 提交于 2020-03-04 17:31:37
第14节RAID磁盘阵列的原理与搭建 14.1 RAID概念与企业级常用RAID 0, 1,5,10的工作原理 14.1.1RAID概念 RAID:廉价可冗余磁盘阵列,用多块普通硬盘组合来提升可靠性、提升读写速度等一种方式 一般企业用得最多的就是 RAID 0, 1,5,10 RAID 0: 带区卷,加快读写速度,不容错,最少两块硬盘组成 磁盘利用率为100% RAID 1: 镜像卷,读写速度跟一块硬盘相同,容错,最少两块硬盘组成,磁盘利用率为50% RAID 5: 奇偶校验的条带卷,读写速度快,容错,最少三块硬盘构成,允许坏一块盘磁盘利用率: (n-1)/n RAID 10:RAID1的安全+RAID0的高速,读写速度快,容错最少四块硬盘构成 14.1.2 RAID硬盘失效处理 一般两种处理方法:热备和热插拔 1)热备:HotSpare 情形:当冗余的RAID组中某个硬盘失效时,在不干扰当前RAID系统的正常使用的情况下,用RAID系统中另外一个正常的备用硬盘自动顶替失效硬盘,保证RAID系统正常运行 A:全局式:备用硬盘为系统中所有的冗余RAID组共享 B:专用式:备用硬盘为系统中某一组冗余RAID组专用 2)热插拔:HotSwap 情形:在不影响系统正常运转的情况下,用正常的物理硬盘替换RAID系统中失效硬盘。 一般品牌服务器上用的SAS硬盘都支持热插拔替换功能 14.1.3

跟高手学习LINUX笔记-15

怎甘沉沦 提交于 2020-03-04 17:12:57
第十五章 LVM管理和LVM分区系统损坏如何挂载导数据实战 本节所讲内容: 15.1 LVM的工作原理 15.1.1 LVM的实用性 实战运用场景:对生产用服务器磁盘空间利用率是运维重点关注的问题之一,如果存储数据的分区磁盘空间不够了对生产用服务器影响很大。 处理方式常用有以下两种 没有引入LVM: 1、发布服务器停机通知-->停用服务-->关机增加硬盘-->分区格式化挂载-->将数据拷到新的位置-->修改相关的配置文件-->启动服务恢复业务-->发布业务恢复通知 引入LVM: 2、发布服务器停机通知-->停用服务-->关机增加硬盘-->分区LVM在线动态扩容->启动服务恢复业务-->发布业务恢复通知 从上面的可以看到不同的影响如下: 1)最大也是浪费时间最多的是拷贝数据及修改配置文件,在现阶段动辄T级别的数据,这个时间会很长的 2)对于大型软件配置文件关联性很强,一个地方修改不好也是个很麻烦的事情 15.1.2 LVM的工作原理 LVM是在物理工作层与系统工作层中间加入了一个逻辑管理层,所以再对物理磁盘操作的时候不再单纯使用操作系统的分区格式化,而是引入了叫逻辑卷的管理 15.1.3 LVM的相关定义 物理存储介质:也就是我们常用的物理磁盘,但分区时设置让LVM能识别的格式--选择t-->8e 物理卷PV:物理卷就是LVM的基本存储逻辑块,可以想像成一袋袋面粉 卷组VG:

14_磁盘管理_及文件系统管理

我是研究僧i 提交于 2020-03-03 20:14:59
磁盘管理: 机械式硬盘: U盘,光盘,软盘,硬件,磁带 ln [ -s -v ] SRC DEST 硬链接: 1、只能对文件创建,不能应用于目录 2、不能跨文件系统 3、创建硬链接会增加文件被链接的次数 符号链接: 1、可应用于目录 2、可以跨文件系统 3、不会增加被链接文件的链接次数 4、其大小为指定的路径所包含的字符个数 du -s -h df   -h   -i 链接: 设备文件   b:按块为设备,随机访问的设备。硬盘   c:按字符为单位,线性设备。键盘 /dev   主设备号(major number)     标识设备类型   次设备号(minor number)   标识同一种类型中不同设备 创建设备文件 mknod mknod [OPTION].. NAME TYPE [MAJOR MINOR] -m MODE 硬盘设备的设备文件名: IDE,ATA:hd STAT:sd SCSI:sd USB:sd a,b,c...来区别同一种类型下的不同设备 IDE: 第一个IDE口:主盘,从盘 /dev/hda,/dev/hdb 第二个IDE口:主盘,从盘 /dev/hdc,/dev/hdd sda,sdb,sdc。。。 hda:   主分区只能有四个   hda1:第一个主分区   hda2:   hda3:   hda4:   逻辑分区只能从5开始   hda5

Linux 文件系统挂载

廉价感情. 提交于 2020-03-03 20:12:41
文件系统挂载简介 磁盘分区和格式化完成后,磁盘分区要想能够使用,就需要挂载,在挂载某个分区前需要先建立一个挂载点 挂载:将新的文件系统关联至当前根文件系统 卸载:将某文件系统与当前根文件系统的关联关系移除;卸载时设备没有进程在使用 挂载点:作为要挂载文件系统的访问入口;挂载点事先必须存在;不会被进程使用到的目录;挂载点下原有文件将会被临时隐藏 文件系统挂载管理工具 mount  不跟任何参数显示当前系统已经挂载的设备及挂载点   cat /proc/mounts 显示内核中挂载的设备,mount命令就是去读取该文件显示出来   cat /etc/mtab mount命令去挂载和卸载的操作信息会记录到该文件,也可以显示系统挂载的设备 mount [options] -t FSTYPE -o [option] 设备名称 挂载点 [options] 命令选项   -n        挂载后不更新操作记录到/etc/mtab文件   --bind dir1 dir2 将dir1挂载到dir2上,使得dir2也能访问dir1的文件(绑定某个目录到另外一个目录)   -t FSTYPE     指定挂载的文件系统类型   -r        只读挂载   -w        读写挂载   -L LABLE     指定卷标名,用卷标名字挂载;也可以使用LABLE="lable"   -U

proxmox直接挂载物理硬盘

心不动则不痛 提交于 2020-03-03 16:03:17
准备 一个没有挂载的硬盘 步骤 进入节点的shell环境,输入 ls -l /dev/disk/by-id 查看硬盘情况,假设此时的新硬盘为 /dev/sdb 使用qm指令挂载: qm set 101 -scsi1 /dev/disk/by-id/harddisk-id # 101为虚拟机节点 # scsi1为硬盘编号,从0开始,1,2,3数下去 # /dev/disk/by-id/harddisk-id 为刚刚查看的硬盘编号,harddisk-id 替换为对应的编号 进入虚拟机对新硬盘挂载,首先 ls /dev 查看是否多出一块硬盘 /sdb 使用fdisk工具分区, sudo fdisk /dev/sdb : sudo fdisk /dev/sdb p # 输入p查看信息 g # 新建gpt分区 n # 新建分区表,然后一直回车(默认值)即可 w # 保存并退出 格式化新的分区表 sudo mkfs -t ext4 /dev/sdb1 挂载分区表: mkdir /mnt/sdb # 创建一个目录用于挂载 mount /dev/sdb1 /mnt/sdb # 将/dev/sdb1挂载至/mnt/sdb 添加自动挂载配置: sudo vi /etc/fstab # 添加一行 # /dev/sdb1 /mnt/sdb ext4 defaults 0 0 完成 来源: oschina