硬盘

面向接口编程详解(一)——思想基础

匆匆过客 提交于 2020-01-01 20:14:51
我想,对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到“面向接口编程”这个短语,那么它是什么意思?有什么思想内涵?和面向对象编程是什么关系?本文将一一解答这些疑问。 1.面向接口编程和面向对象编程是什么关系 首先,面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分。或者说,它是面向对象编程体系中的思想精髓之一。 2.接口的本质 接口,在表面上是由几个没有主体代码的方法定义组成的集合体,有唯一的名称,可以被类或其他接口所实现(或者也可以说继承)。它在形式上可能是如下的样子: interface InterfaceName { void Method1(); void Method2(int para1); void Method3(string para2,string para3); } 那么,接口的本质是什么呢?或者说接口存在的意义是什么。我认为可以从以下两个视角考虑: 1)接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界“如果你是……则必须能……”的理念。 例如,在自然界中,人都能吃饭,即“如果你是人,则必须能吃饭”

腾讯云 Linux 挂载数据盘

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-01 20:05:14
查看已挂载的硬盘 1) 运行fdisk -l命令查看硬盘信息。 硬盘从未进行初始化时,需要先创建文件系统, 硬盘格式化 运行mkfs.ext4 device_name(/dev/vdb)命令格式化并创建 ext4 文件系统。也可以选择其他文件系统类型,如 ext3 。 挂载硬盘(建议用下面的自动挂载) mkdir /data/part1 -p # 创建示例挂载点 mount /dev/vdc1 /data/part1 # 将vdc1挂载到/data/part1处 设置自动挂载 将分区信息添加到 /etc/fstab 中。如果没有添加则云服务器重启或重新开机后都不能自动挂载数据盘。 cp /etc/fstab /etc/fstab.backup vi /etc/fstab 使用弹性云盘软链接(推荐)输入: device_name mount_point file_system_type fs_mntops fs_freq fs_passno 示例: /dev/disk/by-id/virtio-disk-bm42ztpm-part1 /data/part1 ext3 defaults, nofail 0 1 执行 ls -l /dev/disk/by-id/ 命令,可以看到弹性云盘与设备名的对应关系 最后三个字段分别是文件系统安装选项、文件系统转储频率和启动时的文件系统检查顺序

ubuntu12.04硬盘安装

£可爱£侵袭症+ 提交于 2020-01-01 06:02:13
ubuntu12.04发布了 , 安装又是一个话题。安装系统有很多方法,比如livecd,和u盘,但这些都需借用外部设备,所以硬盘安装是最好不过的方法了。u盘,cd安装都非常的简 单,对于那些讨厌用光盘、U盘安装系统的人而言,硬盘安装是速度最快的方式。我大多数时候都会选择用硬盘安装。 1.准备工作(win7) 由于本人电脑为win7系统所以本方法在win7系统下进行。 从官网 www.ubuntu.com 上下载镜像文件,大小接近700M。 下载并安装easybcd 。(easybcd是一款很优秀的系统引导软件,功能强大,最关键的是傻瓜式一站式简易操作) 留出一个空盘,最好在“磁盘管理”中将其删除 2.安装好easybcd后,启动软件 依次点击“Add New Entry”——“Neo Grub”——“Install”,点到“Install”后出面下面的界面,再点 “Configure”。 点击“Configure”按钮后,会出现一个记事本文件,将下面的代码粘贴到文件尾部: title Install Ubuntu root (hd0,0) kernel (hd0,0)/vmlinuz boot= casper iso-scan/filename=/ubuntu-12.04-desktop-.iso ro quiet splash locale=zh_CN.UTF-8 initrd

ElasticSearch 准实时原理

空扰寡人 提交于 2019-12-31 03:50:51
Elasticsearch 是一个基于 Lucene 库的搜索引擎。它提供了一个准实时的、分布式、支持多租户的全文搜索引擎。 ————维基百科 那么问题来了,为啥 Elasticsearch 不是实时的,是什么阻碍了它的实时性? 文章引用自: https://juejin.im/post/5d1b35a1e51d45775746b990 概念 elasticsearch 被称为准实时搜索,原因是对 Elasticsearch 的写入操作成功后,写入的数据需要1秒钟后才能被搜索到,因此 Elasticsearch 搜索是准实时或者又称为近实时( near real time )。 elasticsearch底层使用的 Lucene,而 Lucene 的写入是实时的。但 Lucene 的实时写入意味着每一次写入请求都直接将数据写入硬盘,因此频繁的I/O操作会导致很大的性能问题。 原理 图1 表示是 es 写操作流程,当一个写请求发送到 es 后,es 将数据写入 memory buffer 中,并添加事务日志( translog )。如果每次一条数据写入内存后立即写到硬盘文件上,由于写入的数据肯定是离散的,因此写入硬盘的操作也就是随机写入了。硬盘随机写入的效率相当低,会严重降低es的性能。 因此 es 在设计时在 memory buffer 和硬盘间加入了 Linux 的页面高速缓存(

10. linux 系统启动流程

爱⌒轻易说出口 提交于 2019-12-30 19:15:11
POST-->BIOS(Boot Sequence)-->MBR(bootloader,446)-->Kernel-->initrd-->(ROOTFS)/sbin/init(/etc/inittab) POST:Power On Self Test 简称POST,加电自检 BIOS自检-->从BIOS中读取启动顺序-->读取MBR中的bootloader-->加载内核-->读取伪根-->读取根文件中的init Step1 :BIOS自检 步骤1: 上电自检POST(Power-on self test),主要负责检测系统外围关键设备(如:CPU、内存、显卡、I/O、键盘鼠标等)是否正常。例如,最常见的是内存松动的情况,BIOS自检阶段会报错,系统就无法启动起来; 步骤2: 步骤1成功后, 便会执行一段小程序用来枚举本地设备并对其初始化 。这一步主要是根据我们在BIOS中设置的系统启动顺序来搜索用于启动系统的驱动器,如硬盘、光盘、U盘、软盘和网络等。我们以硬盘启动为例,BIOS此时去读取硬盘驱动器的第一个扇区(MBR,512字节),然后执行里面的代码。实际上这里BIOS并不关心启动设备第一个扇区中是什么内容,它只是负责读取该扇区内容、并执行。 至此,BIOS的任务就完成了,此后将系统启动的控制权移交到MBR部分的代码。 Step 2: 系统引导 我们首先来了解一下MBR

面试总结

a 夏天 提交于 2019-12-30 14:32:08
面试流程 1> 简述你的一个项目 2> 画出你的项目的整体架构图,在其中都用了哪些技术解决了哪些问题 3> 然后说下你最熟悉的一个技术,比如spark,flink(结合项目来说) 4> 然后聊技术点(主要是自己在项目中使用的到的技术) 5> 考察数据库相关的知识 6> 然后可能考察自己的代码编写能力(可能是出一个需求并实现,或实现一个算法,比如二叉树,二分法等) 7> 最后对技术的总结性 1.spark sql,Hbase sql ,hive sql 各自的使用场景,优缺点 2.spark中的dirver 的作用有哪些 3.怎么保证kafka中的消息精准一次处理 4.实现二叉树算法 5.hbase怎样做预分区 6.结合项目说下使用哪些技术解决那些问题 7.在编程的过程中使用的算子,比如reduceByKey,groupByKey的使用场景,各自的优缺点 8.mapreduce和spark的使用场景,mapreduce和spark做对比 9.了解sqoop命令的底层实现吗? 10.写一个shell,实现查询前十行的数据 11.了解jdbc的底层实现吗? 12.在编程的时候是使用什么模式链接数据库的? 13.编程时怎样合理设置任务的参数? 14.spark中为什么在运行时会产生很多的task?与reperation的对应关系? 15.kafka中的ack机制,其中的判断条件是什么?

VMware 虚拟机安装 Mac OS X Mountain Lion 苹果系统

筅森魡賤 提交于 2019-12-30 12:59:46
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址: http://jdb.jiudingcapital.com/phone.html 内部邀请码: C8E245J (不写邀请码,没有现金送) 国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------ 原文地址: http://www.ychong.com/mac-os-x-mountain-lion-vmware-workstation/ 苹果桌面操作系统 Mac OS X Mountain Lion(版本号为 Mac OS X v10.8)已于今年 7 月 21 日通过 Mac App Store 发布。未能上手 MacBook / iMac 的用户亦可通过一定的方法在普通电脑上安装 Mac OS X 并获得极佳的体验。   本文将详细介绍如何在 VMware Workstation 8/9 下安装并使用 Mac OS X

用VMWARE安装Mac OSX Tiger 10.4.4 X86

北慕城南 提交于 2019-12-30 12:59:33
首先说明,这个版本是FOR X86的,绝对不需要用虚拟机什么的来安装,PEARPC也可以退休了,因为,APPLE终于把MAC移到PC上来了,至于原因,网上说,APPLE跟IBM合作出现了问题,所以,APPLE两手准备,把MAC移到INTEL的X86处理器上来.不过,确实到时候了,要是微软的VISTA出来了,而界面效果方面要是比MAC好的话,估计到时候,MAC想打入PC市场就更难了.不过,现在,不管怎么说,MAC的UI确实是顶尖的,无论你是怀着什么心情去看,它确实够酷够炫而且用户体验非常棒 在以前,我为了装上MAC,曾经折腾过N回,都是失败了,PEARPC是能装MAC,可是,又怎么样呢,速度那个慢呀 这回我拿到的是MAC OSX TIGER 10.4.4 X86,没错,确实是X86版 首先,这个ISO镜像这回可以直接用DAEMON加载为虚拟光驱了,我拿到的光盘镜像为4,588,544KB大小,就是4G,由于我没有DVD光驱,所以,只能用虚拟光驱,然后用VMWARE来安装了 我用的VMWARE是WORKSTATION 5.5.1版本,如果你想用GSX SERVER 3.2也行,不过,我觉得,没必要了 首先,在装之前,要清点一下: 1,MAC OSX 10.4.4 X86版 ISO镜像一张 2,DAEMON TOOL虚拟光驱软件 3,VMWARE WORKSTATION 5.5.1 4

Archlinux在Btrfs分区上的安装(bios篇)

大城市里の小女人 提交于 2019-12-30 11:56:57
其实本文所有的内容在Archwiki上都可以找到,并且更新更全面(只是比较零散),我所做的只是对安装流程做一个小小的总结,每一步我都会稍微解释一下,但不会说的特别详细,毕竟这只是一篇安装引导文,而不是Wiki。 首先显然是下载最新的archlinux安装镜像: 1,用浏览器打开archlinux源,比如mirrors.163.com,mirrors.ustc.edu.cn(这里以163为例):(url) http://mirrors.163.com/archlinux/ 可以看到,有个iso目录,这就是安装镜像所在的地址了。打开后里边是这个样子的: 其中latest目录下,是包含官方最新的archlive镜像,而archboot目录下,则是另一个版本的archboot镜像(以前的archlinux官方镜像,包含一个类似FreeBSD的图形化安装脚本哦,感兴趣的童鞋可以试试,感觉还是比较好用哦)。不多说了,还是进latest下载安装镜像(直接扔地址:) http://mirrors.163.com/archlinux/iso/latest/archlinux-2016.01.01-dual.iso (建还是自己进去下哦,说不定你看到本文时,2016年2月甚至2017年的镜像已经出了,建议下载最新的) 600多兆,时间比较漫长,我就先八一下怎么做安装USB,要是你用linux系统

树莓派挂载硬盘

时间秒杀一切 提交于 2019-12-30 00:39:42
第一步将你的硬盘/U盘插进树莓派 第二步查看一下U盘是否有被识别到,及识别的U盘是在哪个位置 sudo fdisk -l 第三步开始对这个硬盘进行操作 sudo fdisk /dev/sda 输入P查看现有分区,删除现有磁盘输入d,划分新区域输入n 选择新分区是主分区还是拓展分区,主分区输入p拓展分区输入e 选择分区起始位置,默认开始位置是2048MB,按enter确认 因为只需要一个分区,所以默认结束位置为磁盘末尾。 如果你要分很多的区,可以在结束位置加上你想要的分区大小,然后在输入n分第二个区就可以了。 再输入p查看一下分区 可以看到我们分区的id是83,83代表的是linux分区 Linux分区在windows上是无法识别的,如果你的硬盘想在树莓派以及你的win电脑上使用就需要改变分区类型 输入t,再输入b,就更改成了win95 fat32类型了,fat32可以被windows和linux识别 输入w保存退出 第四步格式化磁盘 sudo mkfs.ext4 /dev/sda1 第五步挂载磁盘到系统 系统虽然已经识别到了磁盘分区,但是还没有把磁盘分区加入到系统中去,所以我们要把磁盘分区挂载到系统 挂载磁盘一般是在/mnt 或 /media目录 sudo mkdir /mnt/disk sudo mount -o uid=pi,gid=pi /dev/sda1 /mnt/disk