精华内容
下载资源
问答
  • 说说关于访问控制模型

    万次阅读 2016-01-22 15:48:47
    那么来说说访问控制模型啊 经典的三大模型DAC、MAC、RBAC,虽然现在在学术界这三大模型都遭到嫌弃,但是现有的访问控制模型其实都是在这三大模型上改改写写的。 自主访问控制(DAC,Discretionary Access ...

    **

    前言

    **

    前段时间一直在帮导师写论文,虽然在实验室之余,本人致力于学习前端技术(好想在这里加一个坏笑的表情),但是云计算的学习不能中断啊,论文不能停。。。。也就说一下对访问控制的理解,表示我还是一个研究生。
    在信息环境中,访问控制主要用来确保信息不会被非法访问。在访问控制的安全机制中,经过合法授权的实体能够对请求的资源进行合法的访问,而未经过授权的实体则不能访问所请求的资源。因而,访问控制的目的就是为了对资源请求的合法性进行相应的验证,是一种授权行为的体现。通过访问控制可以对系统的安全性进行判定。
    **

    正文

    **
    访问控制服务主要由访问控制模型策略描述语言组成
    常见的访问控制模型主要是自主访问控制 DAC、强制访问控制 MAC、基于角色的访问控制 RBAC。
    访问策略规则以及访问主体和访问客体三者是访问控制系统的基本条件。
    访问主体:在信息环境中,对目标信息的获取通常是由访问主体发起的,访问主体需要遵循相应的规则,从而可以访问一定的客体。通常访问主体是用户开发和使用的应用程度。
    访问客体:在信息系统中,客体可以被主体进行一定的访问行为操作。
    安全访问策略:是为了保护信息安全性而制定的策略规则,规定了主体是否可以访问客体以及可以使用何种方式对客体进行访问。
    常见的策略描述语言就有ACML、XACML,就像前端里面的JSON、XML一样,用于前后端的交流,哈哈,这是我的理解~~就说XACML语言吧,它是为了PEP(执行模块)和PDP(策略模块),还有可能有PIP(信息模块)的信息交换,因为每个模块可能用不同的语言写,会存在语义鸿沟(当然,这是虚拟机自省技术里的定义了),但是确实也是这样,就像两个地区的人都说方言肯定听不懂嘛,所以大家交流都得说普通话,这就是策略描述语言。

    那么来说说访问控制模型啊
    经典的三大模型DAC、MAC、RBAC,虽然现在在学术界这三大模型都遭到嫌弃,但是现有的访问控制模型其实都是在这三大模型上改改写写的。

    自主访问控制(DAC,Discretionary Access Control)

    自主访问控制(DAC,Discretionary Access Control)比较基础和常用,在多种计算机系统中都会提供自主访问控制。此种访问控制的基本思想是:访问控制中访问客体的拥有者具有很大的权限,能够决定客体是否可以被相应主体访问,并且可以迁移和转让访问客体。在 DAC 模型中,访问权限是否进行授权需要根据主体情况并结合具体的安全规则从而做出判断。DAC 有访问控制矩阵和访问控制列表两种实施方式。
    访问控制矩阵(ACM:Acess Control Matrix)中使用矩阵的列和行来分别对应访问主体和访问客体,二者交叉位置的元素则代表着相应的主体对客体的操作规则。
    这里写图片描述
    访问控制列表(ACL:Access Control List)是前面说介绍矩阵的一种变形。列表对应某个固定客体,其中的列表示能够对此客体进行一定操作的主体。第二列访问属性则表示二者对应的具体操作。如表 所示,是上表中客体 X 所对应的等价控制矩阵转化。通过 ACL 可以方便的理解和查询某个客体所对应的特定权限主体,适用于稳定的主客体不太复杂的系统。在信息系统发生较大改变时,需要重新对访问控制列表进行相应修改,容易影响系统安全性。
    这里写图片描述
    DAC 在进行授权时相对灵活,访问控制中客体的所有者可以将其所有用的权限进行转移,从而具有很好的灵活性,适用范围比较广,因而可以用于多个系统。但是,DAC 存在几个缺点:
    1.由于权限可以进行委托,会导致资源管理比较分散,同时增加了系统的风险性。
    2.不能够适应多域安全策略环境,以及在环境策略变化的情况下无法保证整体的安全性。
    3.访问控制权限容易发生转移,同时,在主体与客体数量较多时,会给系统带来巨大开销,导致效率低下,不能很好的适应交大规模的网络环境

    强制访问控制(MAC)

    强制访问控制(MAC:Mandatory Acess Control)在十八世纪七十年代就已经提出,在 Multics 模型上得到最早使用和验证,与前面介绍的自主访问控制相比,定义规则和策略相对更加严格。MAC 设计的基本思想是:在访问控制系统中,主体和客体被分配一定的安全属性,然后系统对二者所拥有的属性关系进行一定的评价比较,从而确定是否进行访问。也就是说这是一种多级表示模型。比较关系来源于安全属性,并且用(安全级别,类型集合)这样的组合代表安全属性。类型集合是指一定的元素的集体,而安全等级则表示相应信息的保密等级。在系统中安全属性是由维护系统的管理人员进行配置的,或者是系统自动生成的,这种安全属性是不能随意被修改的,具有强制认可性。
    MAC 具有强制性和严格的单向不可逆性。MAC 系统规定高级别主体可以得到低级别主体的信息,而反过来却行不通。如果主体 A 的级别高于客体 B,那么主体 A 可以读取客体 B 中的信息和资源;如果主体 A 的级别低于主体 B 的级别,那么主体 A 可以对主体 B 进行一定的诸如写入的操作;如果主体 A 和客体 B的等级是相同的,那么主体 A 和客体 B 之间不能进行任何读与写的操作。这意味着在 MAC 模型的信息始终遵循单向流通的规则,因而可以保证系统信息的安全。如图 所示。
    这里写图片描述
    强制访问控制中最具有代表性的就是 BLP 模型。

    基于角色的访问控制(RBAC)

    基于角色的访问控制(RBAC)是在上世纪九十年代被提出,是一种评估效果比较好的访问控制信息技。在此种模型中,主体与客体并不是直接发生联系,而是增加了角色这一层次,先将访问操作的权限匹配给某些角色,然后在将这些特定的角色指定给相应的主体,通过这种方式主体就得到了对客体的访问权限。
    这里写图片描述
    基于角色使得主体和客体之间的关系不是通过他们之间的映射来建立,而是中间有了周转,多了一个角色这个中转站。

    其他

    然后随着云计算的出现,又出现了基于属性的访问控制ABAC,大家可以自行去查资料。基于属性的访问控制很厉害,它具有环境属性,而且可以把角色啊、客体啊、主体啊都当作一种属性,这种细粒度的访问控制安全性能很强,而且还能把数据挖掘的思想运用进来。

    本文作为科普性文章,扯到这里就不往下阐述了,如果有兴趣想跟我交流的,可以回复我,哈哈(虽然并不是很期待大家可以回复)

    展开全文
  • 说说ShellExecuteEx

    万次阅读 2009-04-15 15:49:00
    今天来说说ShellExecuteEx这个函数,先翻译MSDN,然后看个例子。 ShellExecuteEx Function对指定应用程序执行某个操作语法:BOOL ShellExecuteEx( LPSHELLEXECUTEINFO lpExecInfo);参数:lpExecInfo [in, out] ...

    今天来说说ShellExecuteEx这个函数,先翻译MSDN,然后看个例子。

     

    ShellExecuteEx Function

    对指定应用程序执行某个操作

    语法:

    BOOL ShellExecuteEx(      
        LPSHELLEXECUTEINFO lpExecInfo
    );

    参数:

    lpExecInfo

    [in, out] 一个指向 SHELLEXECUTEINFO 结构的指针,用来传递和保存应用程序执行相关的信息。

    返回值:

    如果函数成功执行就返回TRUE,否则返回 FALSE 。可调用 GetLastError 获取错误信息。

    备注:

    由于ShellExecuteEx 能够将执行委托给那些由组件对象模型COM激活的Shell 扩展(数据源,上下文菜单句柄,动词实现),因此在调用ShellExecuteEx 之前要先初始化 COM。某些Shell 扩展要求单线程单元模型的COM,在这种情况下,应当像下面一般初始化COM

     

    CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)
     

    在某些情况下 ShellExecuteEx 并没有使用这种类型的Shell 扩展,这时就无需初始化COM。虽然如此,总是在使用这个函数之前初始化COM是个不错的举措。

    如果有多个显示器,并且你指定了一个HWND 同时设置lpExecInfo 的成员lpVerb "Properties",那么由ShellExecuteEx 创建的任何窗口都有可能显示在不正确的位置上。

    如果这个函数执行成功,它会设置 SHELLEXECUTEINFO hInstApp 成员为一个大于32的值。如果函数执行失败,hInstApp 成员被设置为SE_ERR_XXX(提示失败的原因)。虽然为了兼容16位的windows应用程序hInstApp 被声明成一个句柄,但它并不是一个句柄。它只能被转型为整数,并同32SE_ERR_XXX之类的错误代码比较。

    提供SE_ERR_XXX 之类的错误代码是为了兼容ShellExecute使用GetLastError可以获得更详细的错误信息。返回值可以使下列之一:

    Error

    Description

    ERROR_FILE_NOT_FOUND

    指定文件不存在

    ERROR_PATH_NOT_FOUND

    指定路径不存在

    ERROR_DDE_FAIL

    动态数据交换 (DDE) 处理失败

    ERROR_NO_ASSOCIATION

    没有与制定文件名扩展对应的应用程序

    ERROR_ACCESS_DENIED

    访问指定文件被拒绝

    ERROR_DLL_NOT_FOUND

    无法找到运行应用程序所必须的库文件

    ERROR_CANCELLED

    这个函数要求用户提供更多其他信息(译注:比如弹出对话框),但请求用户被取消了

    ERROR_NOT_ENOUGH_MEMORY

    没有足够的内存来执行操作

    ERROR_SHARING_VIOLATION

    共享违规发生了

    Windows 95/98/Me: ShellExecuteEx Microsoft Layer for Unicode (MSLU)所支持。为了使用这个函数,必须添加额外的文件到应用程序中去,请参考:Microsoft Layer for Unicode on Windows Me/98/95 Systems.

     

    函数信息:

    Minimum DLL Version

    shell32.dll version 3.51 or later

    Custom Implementation

    No

    Header

    shellapi.h

    Import library

    shell32.lib

    Minimum operating systems

    Windows NT 4.0, Windows 95

    Unicode

    Implemented as ANSI and Unicode versions

     

     

     

    下面举例说明如何使用这个函数,executePackage 这个函数用来执行某个应用程序。

     

     

    展开全文
  • 说说FoundationDB

    万次阅读 2015-03-29 18:36:49
    从官网上看,它的一些设计理念还是比较切合实际的,毕竟分布式DBMS存在很多难以解决的问题,要在短期内做到Oracle等传统RDBMS那样的程度是不现实的。例如它把重点放到了核心特性上,做了取舍3,4: 可扩展性,采用...

    FoundationDB

    Apple收购了FoundationDB1,而且后者从开源立即变成了闭源。说实话,在此之前都没有注意到还有这么一个DBMS产品2。从官网上看,它的一些设计理念还是比较切合实际的,毕竟分布式DBMS存在很多难以解决的问题,要在短期内做到Oracle等传统RDBMS那样的程度是不现实的。例如它把重点放到了核心特性上,做了取舍3,4

    1. 可扩展性,采用Shared-nothing架构。
    2. ACID,支持可串行化的隔离级别。
    3. 容错,不仅仅是避免单点故障。
    4. 复制,多副本存储。
    5. 数据模型,有序KV存储。
    6. 变更通知,客户端可以订阅记录的修改。
    7. 原子操作,避免了Read-modify-write?
    8. OLTP,适合小的读和写。OLTP是有限制的,例如不支持修改太大的事务。
    9. OLAP,支持范围扫描大批数据。OLAP不等于大量数据扫描。
    10. 核心不支持查询语言,只有API。
    11. 并发控制采用MVCC和乐观并发控制。
    12. 线程模型,不是一连接一线程。
    13. 应用可以是交互式的,不依赖存储过程。
    14. 快照形式的备份。不确认这个是否保持一致性。

    不过,从这些材料里并不能准确判断它实际的做法5以及完整的限制6。Quora里头找到一个2013年的问答7,说到了做这个系统的一些取舍,可以一看。还有其他的一些材料:

    1. http://2014.nosql-matters.org/cgn/wp-content/uploads/2014/05/Jennifer-Rullmann-NoSQL-and-ACID.pdf
    2. http://www.methodsandtools.com/archive/acidnosqldatabase.php 
      As Gilbert and Lynch note, their proof relies on an asynchronous model in which "there is no clock, and nodes must make decisions based only on the messages received and local computation." Mahajan revisit Gilbert and Lynch’s work and strengthen its result by employing an asynchronous model allowing local clocks, but no clock globally visible to all nodes. … Real Time Causal (RTC) consistency that is strictly stronger than eventual consistency. Percolator, Megastore, and, most recently, Spanner.

    很多人喜欢把NoSQL、NewSQL与传统的RDBMS相比。在很大程度上,这种比较是不太容易的,因为它们针对的需求以及设计的权衡存在着巨大的区别。例如:

    1. 处理的数据量。传统的OLTP数据不会太大,集中式系统可以很好的处理。不过,一旦数据分布在不同的IDC,情况就很不一样了。
    2. 可靠性要求。集中式系统与分布式系统的处理方式和能力显然不可能一样。Paxos远在RDBMS成熟之后才出现。
    3. 数据模型。新的数据库很少能够支持好关系模型的,例如各种约束,以及衍生出来的索引、序列等特性。
    4. 查询语言。API还是SQL,甚至XQuery?
    5. 数据一致性。集中式系统的ACID显然要胜出一筹。
    6. 重要功能。存储过程、视图、触发器、数据仓库,很容易就可以列出一堆新系统很难做到的特性。

    To summarize: one size does not fit all。

    展开全文
  • 说说 Vue 中组件的缓存

    千次阅读 2019-04-19 20:38:50
    说说 Vue 中组件的缓存 之前在《Vue一个案例引发的动态组件与全局事件绑定总结》这篇文章中简单提到过组件的...自然就存在组件之间的切换问题,Vue 中有个「动态组件」的概念,它能够让我们更好的实现组件的切换。 ...

    说说 Vue 中组件的缓存

    之前在《Vue一个案例引发的动态组件与全局事件绑定总结》这篇文章中简单提到过组件的缓存。当时只是简单的提供了一个解决问题的思路,并没有说到多少组件缓存的东西,今天我们就来详细说说组件的缓存。

    组件化开发模式下,我们会把整个项目拆分成很多组件,然后按照合理的方式组织起来。

    自然就存在组件之间的切换问题,Vue 中有个「动态组件」的概念,它能够让我们更好的实现组件的切换。

    在实际的项目开发中,产品是不可能放过我们的,需求总是在不停的变化,如果你碰到那些不改需求的产品就嫁了吧,太难得了。

    最近项目中需要实现一个保留上一次Tab 页的功能。如下图,当我选择 B 组件时,我希望从首页切换到设置页时,还会停留在 B 组件,而不是重新渲染为默认的 A 组件。

    首先我们可以使用内置组件 <component>实现动态组件的效果。

    <template>
      <div>
          <button
            v-for="tab in tabs"
            :key="tab"
            @click="currentTab = tab"
          ></button>
        <component :is="currentTab"></component>
      </div>
    </template>
    <script>
    export default {
      name: "Tab",
      data() {
        return {
          currentTab: "A",
          tabs: ['A','B']
        };
      }
    };
    </script>
    

    这时,我们做到了两个组件之间的切换,但动态组件在切换的过程中,组件的实例都是「重新创建」的,而我们需要保留组件状态。

    为了解决这个问题,你还需要使用 vue 内置组件 <keep-alive>

    keep-alive

    keep-alive包裹「动态组件」时,会缓存不活动的组件实例,而不是销毁它们。它是一个抽象的组件,它自身不会渲染成一个 DOM 元素,也不会出现在父组件链中。

    值得注意的是 「动态组件」这四个字,它只有在包含动态组件时,才会产生效果。如果不是动态组件则会无效。比如下面这种用法是没有效果的。

    <keep-alive>
        <my-component></my-component>
    </keep-alive>
    

    既然如此,我们来看看 keep-alive常用的几种方式:

    方案一: 使用内置组件 <component>

    <keep-alive>
      <component :is="view"></component>
    </keep-alive>
    

    方案二: 当出现条件判断时的子组件

    <keep-alive>
      <comp-a v-if="a > 1"></comp-a>
      <comp-b v-else></comp-b>
    </keep-alive>
    

    方案三: 结合路由使用时

     <keep-alive>
         <router-view></router-view>
     </keep-alive>
    

    以上三种方式组件都会被缓存。另外一点需要注意的是,<keep-alive>只能用在只有一个子组件的情况。如果你在其中有 v-for 则不会产生效果。

    明白了如何使用 <keep-alive>时,想要保留我们的 Tab 页,我们只需这么做即可。

    <keep-alive>
        <router-view></router-view>
    </keep-alive>
    

    但是这里你会发现,我们把每一个组件都缓存了起来,不仅案例中的「设置页」被缓存连「首页」也一起被缓存了起来,这不是我们想要的。

    vue 帮我们也考虑到了这一点,所以我们可以选择性的进行组件的缓存,也就是说你想让谁缓存,就让谁缓存,非常的自由与可配置。

    原因是因为 <keep-alive>提供了两个属性 includeexclude

    • include:只有名称匹配的组件会被缓存。
    • exclude:任何名称匹配的组件都不会被缓存。

    二者都可以用逗号分隔字符串、正则表达式或一个数组来表示。

    <keep-alive include="a,b"></keep-alive>
    <keep-alive :include="/a|b/"></keep-alive>
    <keep-alive :include="['a', 'b']"></keep-alive>
    

    所以,结合 <keep-alive>includeexclude属性,我们就可以轻易的选择需要缓存的组件。

    <keep-alive include="system">
        <router-view></router-view>
    </keep-alive>
    

    这样我们就可以只缓存「设置页」,然后实现保留上次选择的 Tab 页。

    欢迎关注公众号:六小登登,与我一起交流。
    在这里插入图片描述

    展开全文
  • 说说人生

    千次阅读 2012-07-21 00:38:17
    本文转载自励志爷爷陈岚《说说人生》    有人爱说,人生如戏,可又有别于戏。因为它没有预演的机会,一旦拉开了序幕,不管你如何怯场,都得演到戏的结尾。因为,人生是没有草稿的。当你面对人生时,有人...
  • 面试官:说说什么是 Java 内存模型(JMM)?

    万次阅读 多人点赞 2021-05-05 23:23:20
    本文禁止转载 1. 为什么要有内存模型...在面试中,面试官经常喜欢问:『说说什么是Java内存模型(JMM)?』 面试者内心狂喜,这题刚背过:『Java内存主要分为五大块:堆、方法区、虚拟机栈、本地方法栈、PC寄存器,ba.
  • 老猿说说-CopyOnWriteArrayList

    万次阅读 2020-11-17 11:04:25
    5 其它方法 5.1 indexOf indexOf 方法的主要用处是查找元素在数组中的下标位置,如果元素存在就返回元素的下标位置,元素不存在的话返回 -1,不但支持 null 值的搜索,还支持正向和反向的查找,我们以正向查找为例...
  • 简单说说我理解的性能测试软件测试关于性能测试,我觉得现在很多情况下,很多人误解了它存在的意义。刚才和kernzhang聊天,说到性能测试调优的问题。性能测试来说,调优,我想是很重要的一块。而如果在现有架构的...
  • 说说ajax 跨域、说说JSON和JSONP

    万次阅读 2017-08-29 08:51:52
     7、为了便于客户端使用数据,逐渐形成了一种非正式传输协议,人们把它称作JSONP,协议的一个要点就是允许用户传递一个callback参数给服务端,然后服务端返回数据时会将这个callback参数作为函数名来包裹住JSON...
  • 说说HTTP/3.0

    千次阅读 2020-04-12 12:20:02
    尽管HTTP/2解决了很多1.1的问题,但HTTP/2仍然存在一些缺陷,这些缺陷并不是来自于HTTP/2协议本身,而是来源于底层的TCP协议,我们知道TCP链接是可靠的连接,如果出现了丢包,那么整个连接都要等待重传,HTTP/1.1...
  • 推荐这六本关于机器学习的书籍,并说说它们的优缺点 作者:永远的幻想 因此:第一本书,我推荐《Pattern Classification》。 引进的中文版和影印版,和原版都是第2版,但是英文原版后来多...
  • 闲谈IPv6-说说IPv6地址分配和BGP

    千次阅读 2019-03-16 08:01:40
    互联网这么开放的组织,统一的规则存在是合理的,但大一统的机构监管,确实别扭。 后来地址分配和管理这件事就逐渐被一些非营利性公司或者组织接管,比如最大的ICANN,开始行使IANA的职能。 不仅仅是为了防止IPv6...
  • 实例说说汉明码

    千次阅读 2009-03-09 19:56:00
    实例说说汉明码 一个(n,k)码指的是把信源序列划为长度k,编码后长度为n,因此信道传输速率为k/n。下文所用的信道是二进制对称信道(BSC),单个比特误码率p 假设信道传输速率R=4/7,即每个单位时间信源能产生4个比特...
  • 说说QQ音乐项目的那些bug

    千次阅读 多人点赞 2021-09-18 15:40:34
    登录注册验证的总结6.mybatis的一些注意事项对于查询对于更新、删除关于插入数据成功表中却没数据约束文件内容vue中引入jquery7.路由配置 1.开发工具 1.后端:spring+mybatis+springmvc 2.前端:...
  • 说说Python程序的执行过程

    千次阅读 2015-05-07 23:14:42
    说说Python程序的执行过程 1. Python是一门解释型...我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在。如果是解释型语言,那么生
  • 举例说明关于 Lua闭包 的存在价值

    千次阅读 2011-02-20 12:56:00
    关于Lua的闭包的用法。动态语言闭包是一大特色,但是知道如何产生一个闭包,不知道闭包如果来使用就会变成一个非常尴尬的问题。前几天突然想明白了。跟大家说说。有其他好的理解也欢迎来和俺讨论切磋。for i in ...
  • 说说劫持 Cookie 的原理

    万次阅读 2019-04-06 15:32:53
    完成具体功能的恶意脚本(javaScript、Flash 等)称为 XSS Payload。黑客会通过这些脚本,来控制用户的浏览器。劫持 Cookie 就是一种 XSS Payload。...首先先在存在 XSS 漏洞的网站,加载一段远程脚本,形...
  • 小秋:我一般使用 Java,我会采用 HashMap 来实现,因为一个节点的字节点个数未知,采用 HashMap 可以动态拓展,而且可以在 O(1) 复杂度内判断某个子节点是否存在。 面试官:嗯,回去等通知吧。 总结 今天主要...
  • 通俗说说DSP、SSP、RTB、DMP是什么

    万次阅读 2017-12-18 22:12:54
    AdNetwork、AdExchange、DSP、SSP、RTB、DMP这些模式之间存在着内在的关系,所以在理解的时候,我们需要联系起来进行理解,不能分开。 1、RTB(RealTimeBidding,实时竞价): 定义:是一种利用第三方技术在数以...
  • 说说铁道部12306

    千次阅读 2012-09-24 17:41:41
    说说12306铁道部的购票网站。 在很不合适的时间,年初春运前,铁道部12306系统上线。一下暴露众多问题,特别是性能,典型容量不足、过载处理不当。可气的是居然新闻误导说是因为网络带宽不够,记者逮着电信一通开火...
  • 开始的时候使用的是fs.exists判断文件,后面在查文档时偶然看到fs.exists不被提倡使用,而且fs.existsSync方法已经过时淘汰了,下面说说 exists 和 acess 的 区别。 1、fs.exists()的回调参数只有一个参数,并且这个...
  • 说说测试驱动开发

    千次阅读 2017-04-28 10:53:22
    如果几个测试都存在一些通用对象,这种重复是不好的,因为: 它需要花费一些时间去编写(复制、粘贴),而我们是期望能够实现快速编写。 如果要修改对这个通用对象进行修改,那么这些测试中的相应的代码都...
  • 说说EFCore查询的性能调优小技巧。 如果说查询出来的数据,只是做展示,不做增删改查,可以在查询的时候,增加AsNoTracking()方法,可以提高性能,可以避免在内存中存在副本; 建议在查询的时候,多使用Find()方法,...
  • 这个文章主要是在前一篇文章上新增了说说秒赞的功能 前一篇文章可以了解一下 那么,这次主要功能就是 监控女神的 QQ空间,一旦女神发布新的说说,马上点赞,你的邮箱马上就会收到说说内容,是不是想了解一下 直接上...
  • 老猿说说-HashMap

    千次阅读 2020-10-10 10:42:41
    //入参onlylfAbsent:false表示即使key已经存在了,仍然会用新值覆盖原来的值,默认为false final V putVal(int hash, K key, V value, boolean onlylfAbsent,boolean evict){ //n表示数组的长度,i为数组索引下标...
  • 说说接口测试那些事

    千次阅读 2015-12-31 10:55:55
    一直都在说什么自动化测试,性能测试,安全测试,接口测试,今天说说接口测试到底是啥东西 本文只是撸点概念,常用的工具。。 接口测试时集成测试实现的一种方式,其实在集成测试中分为消息接口和代码接口...
  • 我是并不懂什么容器,沙盒这些的,我只是在工作中碰到了一个关于容器内网卡无法释放的BUG,需要定位,所以才稍微窥了一眼Docker,后来又顺藤摸瓜了解了firejail,而已…最后突然发现,好一片广阔的天地,感谢这些人...
  • 说说浏览器的沙箱机制

    万次阅读 2019-03-23 20:23:24
    Chrome 浏览器是第一个采用多进程(Multiprocessing)架构的浏览器:这个架构能容许多个程序同时运行而互不影响,每个网页标签都是独立于窗口程序而存在,当资源过高或崩溃时,不会因为一个停顿而整个程序当掉。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 170,791
精华内容 68,316
关键字:

关于该如何存在的说说