基本分类 按照读写数据的基本单位不同,分为 字节流 和 字符流。 其中字节流主要指以字节为单位进行数据读写的流,可以读写任意类型的文件。...其中字符流主要指以字符(2个字节)为单位进行数据读写的流,只能读写文本文件。 按照读写数据的方向不同,分为 输入流 和 输出流(站在程序的角度)。...其中输出流主要指将程序中的数据内容输出到文件中,也就是写文件。 按照流的角色不同分为节点流和处理流。 其中节点流主要指直接和输入输出源对接的流。...其中处理流主要指需要建立在节点流的基础之上的流。 IO流的思维导图 IO流实现文件的上传,复制,粘贴的过程,更好的解决了文件内容的解决读取、访问
优点: 1)无刷新更新数据(在不刷新整个页面的情况下维持与服务器通信) 2)异步与服务器通信(使用异步的方式与服务器通信,不打断用户的操作) 3)前端和后端负载均衡(将一些后端的工作交给前端...,减少服务器与宽度的负担) 4)界面和应用相分离(ajax将界面和应用分离也就是数据与呈现相分离) 缺点: 1)ajax不支持浏览器back按钮 2)安全问题 Aajax暴露了与服务器交互的细节... 3)对搜索引擎的支持比较弱 4)破坏了Back与History后退按钮的正常行为等浏览器机制
简述ARP的工作原理 ---- 1、ARP,意思是地址解析协议。每一台主机在出厂的时候都会有一个唯一标识自己的物理地址,也就是MAC地址。...每一台主机在本地的ARP 报文缓冲区里都会维护一张ARP 列表,里面存放的是IP 地址与MAC 地址的映射关系。 2、当源主机向目标主机发送数据包时,在数据链路层传输时需要知道目标主机的MAC 地址。...然后,这台主机便会返回一个包含了本机MAC 地址的ARP 响应数据包给源主机,告诉它自己的MAC 地址。...4、源主机收到这个ARP 响应数据包后,将目标主机的IP地址和MAC 地址一 一添加到自己的ARP 列表中。然后,便根据此信息进行数据的传输。...ARP(地址解析协议)是网络层的,用于IP地址到MAC的解析。 RARP(反向地址解析协议),用于MAC地址到IP的解析,此协议多用于无盘工作站。
大家好,又见面了,我是你们的朋友全栈君。 简述Java中的面向对象(OOP)思想 Java是一种面向对象的语言,那么什么是面向对象(Object Oriented Programming)?...面向对象的编程语言,是将功能封装进对象,强调具备某些功能的对象,其实面向对象的语言是基于面向过程的,因为即使是调用某个对象,被调用的对象的方法也是通过面向过程的方式编写的。...但面向对象的编程思想更加符合人们的日常思维,将复杂的问题分解为不同领域的简单问题,更便于逻辑分析与分工合作。 最后,面向对象有什么特征?...在面向对象的程序设计中,对象与消息传递分别表现事物及事物之间的相互关系,通过封装(Encapsulation)将对象的定义和对象的实现分开,通过继承(Inheritance)体现类与类之间的相互关系,以及由此带来的实体的多态...形成多态的条件首先要有子父类的继承关系(extends),或类与接口的实现关系(implements);其次,子类要重写父类的方法;最后,在调用时,父类的“引用变量”指向子类的对象。
Job 的控制由 metad 上的 Job Manager 负责,而 Task 的控制由 storaged 上的 Task Manager 负责。...Task Manager 要解决的问题 上文说到 storaged 上的 Task Manager 控制的 Task 是 meta 控制的 Job 的子任务,那 Task Manager 它自己具体解决什么问题呢...Task Manager 的调度控制 [TM04.png] 之前提到的,Task Manager 的调度控制希望做到 2 点: 系统资源足够时,尽可能的高并发执行 Task 系统资源吃紧时,让所有运行中的...Task 占用的资源不要超过某一个设定的阈值。...按 FIFO 顺序执行:不同的 Task 有不同的优先级,高优先级的可以插队 用户可取消一个排队中的 Task storaged 随时 shutdown 一个 Task,为了使其尽可能高的并发,会被拆分为多个
大家好,又见面了,我是你们的朋友全栈君。 源起: 1.我要做交叉验证,需要每个训练集和测试集都保持相同的样本分布比例,直接用sklearn提供的KFold并不能满足这个需求。...2.将生成的交叉验证数据集保存成CSV文件,而不是直接用sklearn训练分类模型。...3.在编码过程中有一的误区需要注意: 这个sklearn官方给出的文档>>> import numpy as np >>> from sklearn.model_selection import KFold...train,test理解成原数据集分割成子数据集之后的子数据集索引。...而实际上,它就是原始数据集本身的样本索引。
遍历老数组每个位置中的链表元素 (3). 取每个元素的key,重新计算每个元素在数组的下标 (4). 将元素添加到新数组中 (5)....如果下标位置元素个数8,则生成一棵新的红黑树,并将树的根节点添加到新数组的对应下标位置 c. 如果下标位置元素个数小于8,则生成一个链表,并将链表的头节点添加到新数组的对应位置 (5)....HashMap进行扩容的方法是比较巧妙的,扩容后,与原来的下标(n-1)&hash相对,其实只是多了1bit位。...& hash,扩容后的数据10101和原来的00101相比,其实就是多了1bit,10101是十进制的21,而21=5+16,就是“原位置+旧容量”,还有另外一种情况是保持为0的情况,这种情况是不改变位置的...分别有两种情况,保持原来位置的和“原位置+旧容量”这个位置 所以,扩容的过程,对应的节点位置改变是这样的过程: resize的源码实现 经过上面比较详细的分析,这个实现逻辑是可以在代码里找到对应的
在没有外网的情况下,安装Python环境只能采用离线方式。...Windows离线安装Python Python离线安装包的下载地址:https://www.python.org/ftp/python/ 我选择的是:python-3.8.5-amd64.exe 双击运行安装包即可完成安装...Linux离线安装Python Python离线安装包的下载地址:https://www.python.org/ftp/python/ 我选择的是:Python-3.8.5.tgz 进入解压路径: cd...Windows离线安装Anaconda Anaconda离线安装包的下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 我选择的版本是...Linux离线安装Anaconda Anaconda离线安装包的下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 我选择的版本是:Anaconda3
昨天,我们讲到了HBase的逻辑结构,今天我们来看一下HBase的存储及访问原理。 ?...二、Client从ZooKeeper中拿到HBase的HRegionServer的主节点地址,ZooKeeper负责RegionServer的主节点的动态管理、选择。...三、HMaster是HBase 的主节点,负责整个集群的状态感知、负载分配、负责用户表的元数据(schema)管理。...四、RegionServer是HBase 中真正负责管理 Region 的服务器,也就是负责为客户端进行表数据读写的服务器。每一台 RegionServer 会管理很多的 Region。...五、Region是 HBase 将一个表中的所有数据按照 RowKey 的不同范围进行切割的逻辑单元,每个 Region 负责一定范围数据的读写访问。
这是目前为止对Java类库最好的补充,因为Stream API可以极大提供Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。...Stream 和 Collection 集合的区别:Collection 是一种静态的内存数据结构,而 Stream 是有关计算的。...相反,他们会返回一个持有结果的新Stream。 ③Stream 操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。...StreamAPITest1::fromStringToStream); characterStream.forEach(System.out::println); } //将字符串中的多个字符构成的集合转换为对应的...接收一个 Collector接口的实现,用于给Stream中元素做汇总的方法 // 练习1:查找工资大于6000的员工,结果返回为一个List或Set List<Employee
weak简述 weak表其实是一个hash表,Key是所指对象的地址,Value是weak指针的地址数组,weak是弱引用,所引用对象的计数器不会+1,并在引用对象被释放的时候自动被设置为nil。...weak底层原理 2.1weak 的实现原理可以概括一下三步: 1、初始化时:runtime会调用objc_initWeak函数,初始化一个新的weak指针指向对象的地址。...2、添加引用时:objc_initWeak函数会调用 objc_storeWeak() 函数, objc_storeWeak() 的作用是更新指针指向,创建对应的弱引用表。...clearDeallocating函数首先根据对象地址获取所有weak指针地址的数组,然后遍历这个数组把其中的数据设为nil,最后把这个entry从weak表中删除,最后清理对象的记录。
1.简述php的垃圾收集机制 php中的变量存储在变量容器zval中,zval中除了存储变量类型和值外,还有is_ref和refcount字段。...3.前端跨域都有哪些解决方案 js的前端跨域很多,通常我们给出方案并且应该简述优缺点,比如方式有,jsonp、document.domain+iframe、window.name+ifram、location.hash...HTTP协议中的两种发送请求的方法。 4、HTTP是什么?HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。 5、HTTP的底层是TCP/IP。...所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。...GET与POST都有自己的语义,不能随便混用。2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。
,默认情况下是当前对象所处空间首地址的十进制展示。...目前大家展示数据时,需要考虑使用的方法,可以通过Sout方法直接展示出对应的对象内 容。 使用DEBUG工具,一些辅助的可视化工具使用。...代码中存在一些情况,需要比较的是两个对象中保存的内容是一直,但是使用Object类内继承而来的equals方法,是不合理的!!!...一般会参考参与equals比较的所有成员变量来组成对应的hashCode,这里会使用到一些Java中提供的计算哈希值的方法。...代码: @Override public int hashCode() { // 这里通过Objects 工具类内的hash方法,传入所有参与equals比较的成员变量 // 得到对应的hashCode
解藕在传统的分布式系统中,组件之间的直接调用容易导致耦合度过高,降低了系统的可维护性和可扩展性。...流量消锋在高流量场景下,系统可能会面临瞬间的流量高峰。消息中间件通过缓存消息和异步处理的方式,有效地分摊请求压力,实现流量削锋,保证系统的稳定性和响应速度。...消息中间件会根据其处理能力逐步消费这些消息并进行相应的处理。这样,可以将请求压力分散到不同的时间段,降低系统在高峰时刻的压力。...很典型的例子就说秒杀活动,把请求放到消息队列,放不了的就直接拦截,发送消息提示,然后服务才一个个处理消息队列的请求。...采用柔性事务(如两阶段提交、补偿事务、Saga等)是一种解决分布式事务的可行方案。柔性事务的核心思想是在一定程度上放宽事务的约束条件,实现最终一致性。
KNN的使用范围很广泛,在样本量足够大的前提条件之下它的准确度非常高。 KNN是一种非参数的懒惰学习算法。其目的是使用一个数据库,其中数据点被分成几个类来预测新样本点的分类。...K是用于识别新数据点的类似邻居的数字。 参考我们在新社区中的朋友圈的例子。我们根据共同的思维或爱好选择了3个我们希望成为非常亲密朋友的邻居。在这种情况下,K是3。...KNN使用K最近邻居来决定新数据点所属的位置。此决定基于特征相似性。 我们如何选择K的值? K的选择对我们从KNN获得的结果产生了巨大影响。 我们可以采用测试集并绘制准确率或F1分数对不同的K值。...步骤4:对于分类,计算k个邻居中每个类别中的数据点的数量。新数据点将属于具有最多邻居的类。 对于回归,新数据点的值将是k个邻居的平均值。 ? KNN算法原理 K = 5。...K最近邻居的优点 简单的算法因此易于解释预测 非参数化,因此不对基础数据模式做出假设 用于分类和回归 与其他机器学习算法相比,最近邻居的训练步骤要快得多 K最近邻居的缺点 KNN在计算上是昂贵的,因为它在预测阶段搜索最近邻居的新点
但是,面临互联网自媒体时代的出现,采用Mysql来存储微信类评论数据、零碎图片、零碎视频,采用Mysql的数据库,已经力不从心。表现在:1、Mysql数据库字段固定。...因此,面临此类问题,Apache在HDFS的基础上推出了HBase的NoSQL数据库,解决此类问题。...三、HBase按column-family进行自动分裂,存放不同的服务器的HDFS文件中,支持大容量的水平自动扩展。...通过第三、第四的自动化扩展,HBase可以在廉价的pc服务器上存储大量的数据文件。...今天HBase的第一章讲到这里,明天为大家带来HBase后台的存储原因。
定义 href是Hypertext Reference的简写,表示超文本引用,指向网络资源所在位置。...href="http://www.baidu.com"> src是source的简写...script src="show.js"> 作用结果 1.href 用于在当前文档和引用资源之间确立联系 2.src 用于替换当前内容 浏览器解析方式 当浏览器遇到href会并行下载资源并且不会停止对当前文档的处理...(同时也是为什么建议使用 link 方式加载 CSS,而不是使用 @import 方式) 当浏览器解析到src ,会暂停其他资源的下载和处理,直到将该资源加载或执行完毕。...(这也是script标签为什么放在底部而不是头部的原因)
(12)点击Devices,告诉苹果哪一台设备可以进行真机调试 (13)点击右上角的加号: (14)在Xcode中,点击window->Devices,获取设备的UDID (15)填写设备的描述和设备的...,只有被描述文件包含的设备才能进行相应的测试。...方法3:(前提是已经用开发者帐号,注册过相应的证书) (1)方法1和2中,Xcode可能已经默默帮我们做了很多配置,现在我们针对“要打包ipa测试包的任务“明确的做一些特定的配置。...(6)其中下方的 Provisioning Profile 可以使用默认的 Automatic,也可以指定对应的描述文件。(一般我们使用Automatic) (7)执行方法2中的步骤(3)~(7)。... 选好之后,显示如下: 同样,其中的 Provisioning Profile 可以使用默认的 Automatic,也可以指定对应的描述文件。
加密方式 常见的加密方式:对称加密和非对称加密。 对称加密算法和非对称加密算法只不过是密码学中的两种加密算法罢了,所谓的算法就是一种可以将信息从一种形式转变为另一种形式的规则。...称公开的密钥为公钥,不公开的密钥为私钥。...,来保证数据传输的安全;另一种是确认网站的真实性。...公共密钥用于加密信息,私用密钥用于解译加密的信息; 如果你的网站使用SSL证书,客户就知道他们的交易安全可靠,并且充分信赖你的网站。...ssl加密传输协议; http和https使用的是安全不同的连接方式,用的端口也不一样,前者是80,后者是443; http的连接很简单,是无状态的; https是由SSL+HTTP协议构建的可进行加密传输
今天看一下 PyTorch数据通常的处理方法~ 一般我们会将dataset用来封装自己的数据集,dataloader用于读取数据 Dataset格式说明 dataset定义了这个数据集的总长度...torch.utils.data import Dataset class MyDataset(Dataset): def __init__(self, ): # 定义数据集包含的数据和标签...self): return len(self.x_data) def __getitem__(self, index): # 当数据集被读取时,返回一个包含数据和标签的元组...5]) tensor([ 8, 10]) tensor([6, 7]) tensor([12, 14]) tensor([8, 9]) tensor([16, 18]) 我们可以看出,这是管理每次输出的批次的...,我们也可以在dataset中规定数据在返回时进行更多的操作,数据在返回时也不一定是有两个。
领取专属 10元无门槛券
手把手带您无忧上云