首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基础|进程和线程模型

01 — 进程模型 进程是指一个具有一定独立功能程序在一个数据集合依次动态执行过程。...03 — 进程控制块 提到进程,怎么能不提起进程控制块呢,Process Control Block,它是操作系统管理控制进程运行所用信息集合。...进程组织管理都是通过对PCB组织管理来实现。 组织 链表,同一状态进程其PCB组成一链表,多个状态对应多个不同链表。...索引表,同一状态进程归入一个索引表,由索引指向PCB,多个状态对应多个不同索引表。 04 — 进程状态 ?...等待进程不会因自身被唤醒。 进程由运行变为退出 进程结束情况: 1. 正常退出(自愿) 2. 错误退出(自愿) 3. 致命错误(强制性) 4.

91150

Guava布隆过滤器原来是这么回事儿

但是,哈希函数发生冲突概率比较高,若要降低冲突概率到1%,就要将 BitSet长度设置为URL个数100倍。  但是冲突无法避免,这就带来了误判。...理想中算法总是又准确又快捷,但是现实中往往是“一地鸡毛”。我们真的需要100%正确率吗?如果需要,时间和空间开销无法避免;如果能够忍受低概率错误,就有极大地降低时间和空间开销方法。 ?  ...Bloom Filter这种高效是有一定代价:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合元素误认为属于这个集合(false positive)。...精确度量十分重要,对于算法性能,我们不能只是简单感官上比较,要进行具体计算和性能测试。找到不同算法之间平衡点,根据平衡点和现实情况来决定使用哪种算法。...在判断y是否属于这个集合时,我们对y应用k次哈希函数,如果所有hi(y)位置都是1(1≤i≤k),那么我们就认为y是集合元素,否则就认为y不是集合元素。下图中y1就不是集合元素。

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

Guava布隆过滤器

但是,哈希函数发生冲突概率比较高,若要降低冲突概率到1%,就要将 BitSet长度设置为URL个数100倍。  但是冲突无法避免,这就带来了误判。...理想中算法总是又准确又快捷,但是现实中往往是“一地鸡毛”。我们真的需要100%正确率吗?如果需要,时间和空间开销无法避免;如果能够忍受低概率错误,就有极大地降低时间和空间开销方法。 ?  ...Bloom Filter这种高效是有一定代价:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合元素误认为属于这个集合(false positive)。...精确度量十分重要,对于算法性能,我们不能只是简单感官上比较,要进行具体计算和性能测试。找到不同算法之间平衡点,根据平衡点和现实情况来决定使用哪种算法。...在判断y是否属于这个集合时,我们对y应用k次哈希函数,如果所有hi(y)位置都是1(1≤i≤k),那么我们就认为y是集合元素,否则就认为y不是集合元素。下图中y1就不是集合元素。

42221

php异常处理捕获错误整理

PHP错误报告有三种: 1、错误,语法解析错误致命错误 2、警告 3、注意 后果: 错误致命错误,会终止已下程序执行,语法错误的话,PHP压根就没执行。...(); //警告,没有传参 echo dae(); //致命错误,找不到这个函数 echo 123; 异常: 在 PHP语言里,所有异常都必须自己抛出,而不像 JAVA 之类语言会自动抛出异常,这也正是...异常与错误: 异常是指程序运行中不符合预期情况以及与正常流程不同状况。错误属于自身问题,是一种非法语法或者环境问题导致、让编译器 无法通过检查设置无法运行情况。...在php中通常会在以下场景中使用异常: 1、对程序悲观预测:如果认为自己代码无法一一处理各种可预见情况、不可预见情况。...fetal error: 致命错误,直接导致程序终止运行。这类错误必须修改。 prase error: 语法解析错误,上面几种都属于运行时错误,此错误在运行前就会抛出。

2.1K31

快速划分测试用例优先级

怎么划分优先级呢 我相信你肯定也遇见过如下场景,面对成百上千测试用例,要挑选出一个最小、最终要、优先级最高测试用例集时候却无法下手。...是每次测试开始allin投入前最希望被运行得以确认测试用例集。 冒烟测试用例集规则:如果该用例无法正确执行成功,其他测试用例都没有办法执行。...测试用例包含了大多数方面的功能,其中除了有正确数据流和错误数据流,还应该有一些配置方面的测试。 4、低优先级 低优先测试用例集合是按照执行频度和业务功树根部分支条件选入。...低优先级测试用例规则:这个是最不频繁测试用例执行部分。但是低并不是说不执行,不测试。只是在迭代过程汇总,执行频率比较低,不常常被执行。例如:错误消息,可用性,压力和性能测试等。...3、 确定BVT 将高优先级测试分为两组,分别为致命和严重(如果出现bug就是致命bug,那么这条测试用例也设定为致命。将致命测试用例归并到BVT优先级。

94130

海量数据处理:算法

当它判断某元素不属于这个集合时,该元素一定不属于这个集合;当它判断某元素属于这个集合时,该元素不一定属于这个集合。...具体而言,查询结果由两种可能,即“不属于这个集合(绝对正确)”和”属于这个集合(可能错误)“。所以,Bloom filter适合应用在对于低错误率可以容忍场合。...当hash函数个数 k=(ln2)*(m/n)时错误率最小,在错误率不大于E情况下,m至少要等于n*lg(1/E)才能表示任意n个元素集合。...例如,假设E为0.01,即错误率为0.01,则此时m应该大约为n13倍。这样k大约是8个(注意,m与n单位不同,m单位是bit,而n则是以元素个数为单位)。...例如,SQL Server数据库分区是将不同数据存于不同文件组下,而不同文件组存于不同磁盘分区下,这样将数据分散开,减小磁盘I/O,减小了系统负荷,而且还可以将日志、索引等放于不同分区下。

85620

php错误处理和异常处理

什么是php错误属于php脚本自身问题,大部分情况是由错误语法,服务器环境导致,不能再编译期发现运行期错误,往往导致程序或逻辑无法继续下去而需要中断,甚至无法运行情况。...,如warning、notice都是错误,只是他们级别不同而已,并且错误是不能被try-catch捕获。 什么是php异常?...程序在运行中出现不符合预期情况,允许发生(你也不想让他出现不正常情况)但他是一种不正常情况,按照我们正常逻辑本不该出错误,但仍然会出现错误属于逻辑和业务流程错误,而不是编译或者语法上错误...> Fatal Error:致命错误(脚本终止运行) E_ERROR // 致命运行错误错误无法恢复,暂停执行脚本 E_CORE_ERROR...非致命错误)。

99310

2018最新php笔试题及答案(持续更新)

,大小不同:GET是放在URL首部,因此大小随着浏览器而定,而POST则是在报文中,只要没有具体限制,文件大小是没限制 然后,安全性不同:GET采用是明文传输,而POST是放在报文内部,无法看到...,服务器收到请求,需要请求者继续执行操作 2** - 成功,操作被成功接收并处理 3** - 重定向,需要进一步操作以完成请求 4** - 客户端错误,请求包含语法错误或者无法完成请求 5** 服务器错误...全文索引:在比较版本中,只有myisam引擎支持全文索引,在innodb5.6后引擎也支持全文索引,在mysql中全文索引不支持中文。...我们一般使用sphinx集合coreseek来实现中文全文索引。 常见设计模式 工厂模式:是一种类,它具有为您创建对象某些方法。...一致64位支持 - 对64位体系结构机器一致支持。 改进了异常层次 - 异常层次得到了改进 许多致命错误转换为例外 - 例外范围增加,涵盖许多致命错误转换为例外。

51010

Guava布隆过滤器

但是,哈希函数发生冲突概率比较高,若要降低冲突概率到1%,就要将BitSet长度设置为URL个数100倍。  但是冲突无法避免,这就带来了误判。...理想中算法总是又准确又快捷,但是现实中往往是“一地鸡毛”。我们真的需要100%正确率吗?如果需要,时间和空间开销无法避免;如果能够忍受低概率错误,就有极大地降低时间和空间开销方法。...Bloom Filter这种高效是有一定代价:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合元素误认为属于这个集合(false positive)。...精确度量十分重要,对于算法性能,我们不能只是简单感官上比较,要进行具体计算和性能测试。找到不同算法之间平衡点,根据平衡点和现实情况来决定使用哪种算法。...通过下面两个图,我们可以清晰看到1,10两个元素被三个不同韩系函数映射到不同bit上,然后判断3是否在集合中,3映射3个bit都没有值,所以判断绝对不在集合中。

1.1K20

去公司第一天老大问我:内存泄露检测工具你知道几个?

如果您每隔一段时间记录几次,那么比较堆内容部分,看看哪些对象类型在这些记录之间增加得最多,如图所示: 尤其要注意那些不属于标准库类。例如,您经常会看到Char数组是一个顶级增长对象。...内存泄漏一个常见迹象是 java.lang.OutOfMemoryError例外情况。在这种情况下,垃圾回收器无法腾出空间来容纳新对象,堆也无法进一步扩展。...此外,当本机内存不足,无法支持Java类加载时,可能会抛出此错误。在极少数情况下 java.lang.OutOfMemoryError在执行垃圾收集时间过长,并且释放内存很少时,会引发。...通常原因是报告分配失败源模块名称,尽管有时这是实际原因。 操作:当抛出此错误消息时,VM调用致命错误处理机制(即,它生成一个致命错误日志文件,其中包含有关崩溃时线程、进程和系统有用信息)。...在本机堆耗尽情况下,日志中堆内存和内存映射信息可能很有用。请参阅致命错误日志。

30520

BloomFilter 简介及在 Hadoop reduce side join 中应用

以少量内存空间判断一个元素是否属于这个集合, 代价是有一定错误率 2、工作原理      1....函数得到一组索引值 h1(xi), h2(xi),…,hk(xi)           2.2  将集合A中上述索引值标记为1(如果不同元素有重复, 则重复覆盖为1, 这是一个觅等操作)...对于一个元素x, 将其根据2.0中选取hash函数, 进行hash, 得到一组索引值 h1(x), h2(x), …,hk(x)           如果集合A中这些索引位置上值都是1,...表示这个元素属于集合S, 否则则不属于S 举例说明: 建立一个容量为500万Bit Array结构(Bit Array大小和keyword数量决定了误判几率),将集合每个...在判断一个元素是否属于某个集合时,有可能会把不属于这个集合元素误认为属于这个集合(false positive)。因此,Bloom Filter不适合那些“零错误应用场合。

1.2K80

基准测试:要做就做到最好

时没有调整MongoDB; • OnGres没有遵循经过证明MongoDB最佳实践; • OnGres使用不切实际工作负载创建了自定义综合基准测试; • OnGres创建了索引或在测试数据库上有不同索引...当我们团队应用最佳实践并纠正错误索引时,发现MongoDB在相同基准测试中运行速度比PostgreSQL快。...连接池,没有合理依据可以比较这些结果。...在MongoDB上,一些集合没有索引,在PostgreSQL上,添加了一系列额外索引来优化连接。缺乏有效索引会导致任何数据库要按照记录来扫描每个表或集合记录,从而大大降低性能。...因为当我们发现查询D索引在20毫秒内返回时,而不是Ongres报告2小时23分44秒或我们报告42分钟时,团队意识到有一个查询没有任何意义,并且在MongoDB和PostgreSQL上是不同

1.1K20

2020最新MongoDB规范你应该了解一下

【建议】一个库中写入较大集合会影响其它集合读写性能,如果业务比较繁忙集合在一个DB中,建议最多80个集合,同时也要考虑磁盘I/O性能; 4....创建集合规则 不同业务场景是可以使用不同配置; db.createCollection("logs", { "storageEngine": { "wiredTiger": { "configString...【强制】尽量将同样类型文档存放在一个集合中,将不同类型文档分散在不同集合中;相同类型文档能够大幅度提高索引利用率,如果文档混杂存放则可能会出现查询经常需要全表扫描情况; 3....【建议】如果字段较大,应尽量压缩存放; 不要存放太长字符串,如果这个字段为查询条件,那么确保该字段值不超过1KB;MongoDB索引仅支持1K以内字段,如果你存入数据长度超过1K,那么它将无法索引...【建议】在使用数组字段做为查询条件时候,将与覆盖索引无缘;这是因为数组是保存在索引,即便将数组字段从需要返回字段中剔除,这样索引仍然无法覆盖查询; 17.

1.9K30

Spring Boot 中使用 RabbitMQ

mysql实际无法胜任大数据量下任意字段查询,而mongodb查询性能实在让我惊讶。...4.全索引支持,扩展到内部对象和内嵌数组 索引通常能够极大提高查询效率,如果没有索引,MongoDB在读取数据时必须扫描集合每个文件并选取那些符合查询条件记录。...这种扫描全集合查询效率是非常低,特别在处理大量数据时,查询可以要花费几十秒甚至几分钟,这对网站性能是非常致命。...索引是特殊数据结构,索引存储在一个易于遍历读取数据集合中,索引是对数据库表中一列或多列值进行排序一种结构。...4、可以定期运行db.repairDatabase()来整理记录,但这个过程会比较缓慢 MongoDB没有如MySQL那样成熟维护工具,这对于开发和IT运营都是个值得注意地方。

1.3K90

浅谈PHP异常处理

什么是异常什么是错误,两种语言设计者存在不同观点。 PHP中异常:   是程序在运行中出现不符合预期情况及与正常流程不同状况。...一种不正常情况,按照正常逻辑本不该出错误,但仍然会出现错误,这是属于逻辑和业务流程错误,而不是编译或者语法上错误。...PHP中错误:   是属于php脚本自身问题,大部分情况是由错误语法,服务器环境导致,使得编译器无法通过检查,甚至无法运行情况。...warning、notice都是错误,只是他们级别不同而已,并且错误是不能被try-catch捕获。    在PHP中遇到任何自身错误都会触发一个错误,而不是抛出异常。...局部:error_reporting(E_ERROR | E_WARNING | E_PARSE) 1 E_ERROR 致命运行错误错误无法恢复,暂停执行脚本。

1.3K30

JavaScript学习笔记

; ===:不会自动转换数据类型,数据类型不一致则返回false; NaN,表示Not a Number与所有其他值都不相等,包括自己; null:表示一个空值,与0和空字符串''不同,0是一个数值,...`…`表示; 模版字符串:自动替换字符串中变量,message = 'hello, ${name}, your age is ${age}'; 字符串是不可变,对字符串某个索引赋值既不会引起错误,也不会改变字符串...; 直接给Arraylength赋新值会导致Array大小变化,可以通过索引改变对应元素值,索引超过范围时同样引起Array大小变化; push()向Array末尾添加若干元素,pop()把最后一个元素删除...和Set则无法使用下标,引入inerable类型(Array、Map、Set都属于)通过for...of循环来遍历; for...in遍历是对象属性名称,for...of循环集合本身元素,更好方式是使用内置...; apply()把参数打包成Array再传入,call()把参数顺序传入; filter用于把Array某些元素过滤调,然后返回剩下元素; 自带sort函数是按照ASCII大小比较; 返回闭包时

85420

聊聊面试-NoClassDefFoundError 和 ClassNotFoundException 区别

概述 Hello,大家好,我们又来讲面试中基础题了,今天这是一道很经典面试题,因为这两个异常名字比较近似,但事实上他们完全不同,导致很多同学会经常容易把它们搞混,由这道题可以引出问题有很多,例如:...---- 常见回答 NoClassDefFoundError 是一种 Error,Error 在大多数情况下代表无法从程序中恢复致命错误,产生原因在于 JVM 或者 ClassLoader 在运行时类加载器在...Error 在大多数情况下代表程序出现了致命并且不可恢复错误,它们大多都是不可预测错误,不需要也不能捕获和抛出,例如常见 OutOfMemeryError,StackOverFlowError,还有本文提到...NoClassDefFoundError,他们都是 Error 子类 Exception 属于程序错误,大多是人为编码所导致,它们大多都可以预测,也可以通过程序处理让程序正常流程,所以是需要进行捕获...(Exception e) { } // 业务代码 以上代码犯了哪几个明显错误

53810

一文带你秒懂数据结构与算法三大要素、五大特征!

这可能和你认知不同,以为我是由数据结构和算法够成吧? 别急,请听我细细道来。 何为数据? 数据,是构成我基石,没有数据,我就没有用武之地。...更夸张说,没有数据,整个计算机世界可能都没了用武之地。 因为,数据是信息载体。人类能够识别的数据,放到计算机世界中,不经过输入设备转换,是无法被识别的。这种能被计算机识别的信息就叫做数据。...是的,集合比较特殊。我们认为,集合数据元素,除了同属于一个集合外就没有其他任何关系了,所以这也是一种非线性关系。 数据存储结构 看到存储你会想到什么?硬盘、内存等存储介质,对吧?...优点:检索速度快 缺点:附加索引表额外占用空间,增删数据时要修改索引表,花费更多时间 散列存储又称为哈希存储(HASH)。这种存储结构比较讨巧,是通过公式来计算数据真正存储位置。...所以说,无限执行算法是错误,是不能被称作算法。所以,写递归函数时候千万当心。 确定性 每条指令必须有确切含义,相同输入只能得出相同输出。

1.9K40

MongoDB在vivo评论中台实践

因此我们扩展了 MongoDB集群架构: ? 扩展后评论MongoDB集群 增加了 【逻辑集群】和【物理集群】概念。一个业务方属于一个逻辑集群,一个物理集群包含多个逻辑集群。...不同MongoDB分片集群,实现了物理隔离和差异调优可能。...随着性能测试介入,我们发现了有两个非常致命问题: jumbo chunk问题 唯一键问题 jumbo chunk: 官方文档中,MongoDB中chunk大小被限制在了1M-1024M。...而对于同一个片键写入是属于一个chunk,无法被分裂,就会造成 jumbo chunk 问题。...但对于MongoDB来说,集群化部署是一个不可逆过程,集群化后也带来了索引,分片策略等较多限制。

1.4K20
领券