首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Devops专栏

    4.ConcurrentHashMap 锁分段机制

    4.ConcurrentHashMap 锁分段机制 ConcurrentHashMap - Java 5.0 在 java.util.concurrent 包中提供了多种并发容器类来改进同步容器的性能。 内部采用“锁分段”机制替代 Hashtable 的独占锁。进而提高性能。 new Thread(ht).start(); } } } 演示如下: image-20201101235312600 ConcurrentHashMap 锁分段机制

    75720编辑于 2022-03-23
  • 来自专栏EdisonTalk

    .NET Core多线程 (4) 锁机制

    i.ToString(), DateTime.Now); } finally { if (lockTake) { Monitor.Exit(lockMe); } } (4) PEB 进程环境块 TEB 线程环境块 TLS 线程本地存储(Thread Local Storage),取决于一共有多少个DataSlot (4)应用场景 用来做数据库连接池:DB连接池 基于 ThreadLocal EnterWriteLock() 需要等待所有的reader或writer锁结束,才能开始 (4)CountdownEvent 这个锁可以实现类似MapReduce的效果。 它是如何实现的? (3)WinDbg探究 Release模式 查看memory中的共享变量的值 CPU寄存器 查看共享变量的值 (4)解决方案 使用CancellationToken做取消 性能会相对较低 将共享变量 改为 易变结构,比如:private bool _shouldStop 改为 private volatile bool _shouldStop 小结 本篇,我们复习了锁机制相关的知识点

    73740编辑于 2023-08-13
  • 来自专栏TECH flower

    图解resilience4j容错机制

    Resilience4j提供高阶函数(decorators)来增强任何功能接口、lambda表达式或方法引用,包括断路器、速率限制器、重试或舱壁。 有了Resilience4j,你不必全力以赴,你可以选择你需要的。 https://resilience4j.readme.io/docs/getting-started 概览 本文将介绍resilience4j中的四种容错机制,不过鉴于容错机制原理的通用性,后文所介绍的这几种容错机制也可以脱离 resilience4j而独立存在(你完全可以自己编码实现它们或者采用其他类似的第三方库,如Netflix Hystrix)。 总结 本文介绍了常用的几种容错机制,与其说是resilience4j中的容错机制不如直接把resilience4j去掉,因为可以看到这些机制原理并不只来源于某个库或只与某个特定库有关,它更是一种设计理念

    1.5K10发布于 2020-08-06
  • 来自专栏进阶高级前端工程师

    React源码分析(二)渲染机制4

    jsx语法转换后,会通过creatElement或jsx的api转换为React element作为ReactDom.render()的第一个参数进行渲染。

    34940编辑于 2023-01-06
  • 来自专栏好好学习,天天向上

    SpringCloud学习笔记(4):Hystrix容错机制

    4.创建application.yml: server: port: 8083 spring: application: name: sc-consumer-hystrix-ribbon 4.创建调用提供者服务的Controller: package feign.controller; import org.springframework.beans.factory.annotation.Autowired

    54920发布于 2020-10-29
  • 来自专栏摸鱼范式

    深入AXI4总线-握手机制

    知乎用户ljgibbs授权转发 本系列我想深入探寻 AXI4 总线。不过事情总是这样,不能我说想深入就深入。当前我对 AXI总线的理解尚谈不上深入。 但我希望通过一系列文章,让读者能和我一起深入探寻 AXI4。 声明1:部分时序图以及部分语句来自 ARM AMBA 官方手册 (有的时候感觉手册写得太好了,忍不住就直接翻译了。。) [一] 握手机制 VALID/READY 握手机制 AXI 总线共有 5 个独立的通道,分别为写地址、写数据、写回应、读地址、读数据通道。 5 条通道相互独立,有一些细小的差别,但共同使用一套握手机制:VALID/READY 机制,来实现信息的传递。 VALID/READY 机制这个赛高啊,这个好啊,ARM 的手册上这么夸: 作为一种双向流控机制,VALID/READY 机制可以使发送接收双方都有能力控制传输速率。

    1.9K20发布于 2020-06-24
  • 来自专栏代码永生,思想不朽

    实战ZMQ4.x的安全机制

    ZMQ社区在2013年9月发布了zmq4。 zmq4最大的新功能即提供了一套安全机制,其中有IP黑白名单,用户名/密码鉴权,ECC(Elliptic Curve Cryptography)证书鉴权,以及通讯的加密(类似TSL)。    本文主要介绍zmq4.0的安全机制。 2. ECC的故事:    这里的ECC不是我厂历史上的电商事业群,而是椭圆曲线加密算法。ECC据说被NSA(美国安全局)操作,在算法中设置了后门。 安全机制 3. https://github.com/zeromq/czmq/issues/1470 b. czmq4实现的reactor模型不支持监控zactor对象. c. czmq4有很多函数的参数个数是不确定的

    3.1K30发布于 2018-07-19
  • 来自专栏Jed的技术阶梯

    详解 redis-4.x 持久化机制

    redis持久化的意义 2. redis 持久化机制介绍 redis有两种持久化机制:AOF和RDB (1) RDB RDB是一次的全量备份,即周期性的把redis当前内存中的全量数据写入到一个快照文件中 AOF Rewrite过程 (3) redis-4.x 混合持久化 重启redis时,我们很少使用RDB来恢复内存状态,因为会丢失大量数据。 redis-4.x混合持久化机制 redis重启的时候,可以先加载RDB的内容,然后再重放增量AOF日志,就可以完全替代之前的AOF全量文件重放,恢复效率因此大幅得到提升。 (4) 如何选择redis持久化机制 RDB和AOF到底该如何选择 不要仅仅使用RDB,因为那样会导致你丢失很多数据 也不要仅仅使用AOF,一是数据恢复慢,二是可靠性也不如RDB,毕竟RDB文件中存储的就是某一时刻实实在在的数据 4. redis 持久化机制的配置 ######################### 通用 ######################### # 持久化文件(包括RDB文件和AOF文件)的存储目录

    72630发布于 2019-03-05
  • 来自专栏嵌入式ARM和Linux

    MIPS架构深入理解4-Cache机制

    许多MIPS架构的CPU硬件上没有这种检测机制,避免Cache重影,而是留待OS内存管理者去解决这个问题。 具体格式如下,所示 一旦选中了某行,CPU所能做的操作如下表4-2所示。 理想情况下,存储系统采用什么样的校验机制,Cache也应该采用相同的机制。根据CPU的不同,可以采用奇偶位、纠错码ECC,或者什么都不做。 如果发生错误,CPU产生特殊的错误陷阱。 大部分CPU转换地址的单元是4K大小。这意味虚拟地址的低12位无需转换。只要你的Cache不超过4KB,虚拟地址的索引和物理地址的索引是相同的,这是OK的。 如果此时再从另一个地址4K处访问同一个物理内存上的数据,再次从内存中取出数据加载到Cache索引为4K的位置。现在,对于同一数据在Cache中存在两个备份,彼此之间无法知晓。这就是Cache重影。

    3.2K31编辑于 2022-08-15
  • 来自专栏从零开始学自动化测试

    httprunner 4.x学习 - 11.hook 机制

    前言 前言 httprunner 4.x可以支持hook机制,在发送请求前做一些预处理或在请求完成后后置处理 setup_hooks :主要用于处理接口的前置的准备工作,也可以对请求 request

    59320编辑于 2023-08-22
  • 来自专栏CTF新手教程

    PWN从入门到放弃(4)——程序保护机制

    0x00 程序保护机制 查看程序保护机制 $ checksec ./pwn #pwn为elf程序文件 0x01 CANNARY(栈保护) 这个选项表示栈保护功能有没有开启。 内存地址随机化机制(address space layout randomization),有以下三种情况: 0 – 表示关闭进程地址空间随机化 1 – 表示将mmap的基址,stack和vdso页面随机化

    99510编辑于 2024-01-30
  • 来自专栏Android 研究

    Android Handler机制4之Looper与Handler简介

    Android Handler机制系列文章整体内容如下: Android Handler机制1之Thread Android Handler机制2之ThreadLocal Android Handler 机制3之SystemClock类 Android Handler机制4之Looper与Handler简介 Android Handler机制5之Message简介与消息对象对象池 Android Handler 机制6之MessageQueue简介 Android Handler机制7之消息发送 Android Handler机制8之消息的取出与消息的其他操作 Android Handler机制9之Handler 的Native实现前奏之Linux IO多路复用 Android Handler机制10之Handdler的Native实现Native的实现 Android Handler机制11之Handler机制总结 后面我们会单独说他们 要理解Handler的消息机制,就不得不说Handler/Looper/Message/MessageQueue/Message这四4个类,下面我们先大概了解下这几个类 二、

    1.1K30发布于 2018-08-30
  • 来自专栏U3D技术分享

    《CLR via C#》笔记:第4部分 核心机制(4)

    本博客所总结书籍为《CLR via C#(第4版)》清华大学出版社,2021年11月第11次印刷(如果是旧版书籍或者pdf可能会出现书页对不上的情况) 你可以理解为本博客为该书的精简子集,给正在学习中的人提供一个 在对象和字节流之间转换是很有用的机制。(P541 1) 一旦将对象序列化成内存的字节流,就可方便地以一些更有用的方式处理数据,比如进行加密和压缩。 4、格式化器然后遍历两个数组中的元素,将每个成员的名称和值写入流中。 4、格式化器根据流中包含的数据创建并初始化一个Object数组 5、将新分配对象、MemberInfo 数组以及并行Object 数组(其中包含字段值)的引用传给FormatterServices 的静态方法 2、允许开发人员提供一种方式将类型的一个版本映射到类型的一个不同的版本 为了使这个机制工作起来,首先要定义一个“代理类型”(surrogate type),它接管对现有类型进行序列化和反序列化的行动。

    52620编辑于 2022-09-21
  • 来自专栏前端菜鸟变老鸟

    Webkit底层原理(4)--DOM事件机制和Shadow DOM

    本文链接:https://blog.csdn.net/caomage/article/details/102162100 一、DOM事件机制 1. 事件处理最重要的部分就是事件捕获(Event capture)和事件冒泡(Event bubbling)这两种机制。如下图: ? Webkit的事件处理机制 DOM的事件分为很多种,与用户相关的只是其中一种,称为UIEvent,其他的包括CustomEvent、MutationEvent等。 当事件的派发机制遇到网页的盒模型特别是很多个盒的时候,情况变得比较复杂,这是因为事件需要在多个盒子和多个DOM树之间传递。当触控事件(Touch Events)被引入之后,情况更复杂了。

    1.5K40发布于 2019-10-22
  • 来自专栏指点的专栏

    Java 类机制4)---- 字节码和方法执行

    在开始之前我们先回顾一下在之前讲过的内容,在 Java 类机制(3)---- 类文件结构 中我们解析了已经编译好的 .class 文件的内容结构。 attribute_length:属性数据的长度,u4 类型,即为无符号占用 4 个字节内存空间的无符号整数,它的值代表了这个 Code 表中除了 attribute_name_index 和 attribute_length code_length:这个值表示的是真正的字节码的数量,这是一个 u4 类型,即为占用 4 个字节内存空间的无符号整数,所以其可以表示的最大字节码数量为 2^32 - 1 个。 好了,到这里我们就将 Java 类机制介绍完了,这个系列从反射开始、到类的加载过程、再到类文件结构、最后是虚拟机的字节码和指令执行模型,希望这一系列对你理解虚拟机中的类机制会有所帮助。 好了,到这里我们就将 Java 类机制介绍完了,这个系列从反射开始、到类的加载过程、再到类文件结构、最后是虚拟机的字节码和指令执行模型,希望这一系列对你理解虚拟机中的类机制会有所帮助。

    71020发布于 2019-10-22
  • 来自专栏Android 研究

    Java虚拟机基础——4内存回收机制

    Java虚拟机整体篇幅如下: Java虚拟机基础——1Java的内存模型 Java虚拟机基础——2JVM运行时数据区 Java虚拟机基础——3类加载机制 Java虚拟机基础——4内存回收机制 本篇文章的内容如下 : 1 概述 2 垃圾回收的思考 3 那些内存需要回收 4 垃圾收集算法 5 Stop the World事件 6 垃圾收集器 一、概述 在Java中,它的内存管理包括两方面:内存分配(创建Java的时候 所以Java程序员还是要学习JVM的内存回收机制。才能写出更高效的代码。 新生代回收机机制——MinorGC 老年代回收机制——FullGC 如何回收? - 标记清楚算法 - 复制算法 - 标记整理算法 分代收集算法 Stop-the-world 7种垃圾收集器 - 1 标记-清除收集器 - 2 标记-压缩收集器 - 3 复制收集器 - 4

    63320发布于 2018-10-10
  • 来自专栏OpenFPGA

    AXI总线详解-AXI4交换机制

    AXI4交换机制 接口与互联 一个典型的系统主要是由一个主设备和从设备连接组成的,它们通过某种形式的互连组合在一起,如图4‑29所示。 ? 图4‑29 接口和互联 AXI协议提供了一个单独的接口定义来描述接口: l主设备和互连之间 l从设备和互联之间 l主设备和从设备之间。 上述接口定义使各种不同的互连易于表达。 协议严格的讲是一个点对点的主从接口协议,当多个外设需要互相交互数据时,我们需要加入一个 AXI Interconnect 模块,也就是 AXI 互联矩阵,作用是提供将一个或多个 AXI 主设备连接到一个或多个 AXI 从设备的一种交换机制4‑30 多对一的情况 ? 图4‑31 多对多读写地址通道 ? 图4‑32 多对多读写数据通道 ZYNQ 内部的 AXI 接口设备就是通过互联矩阵的的方式互联起来的,既保证了传输数据的高效性,又保证了连接的灵活性。

    3.8K20发布于 2020-09-21
  • 来自专栏源码之路

    4. JDK源码级别彻底剖析类加载机制

    \log4j\1.2.17\log4j-1.2.17.jar;D:\develop\apache-maven-3.6.1\repository\org\projectlombok\lombok\1.16.18 \log4j\1.2.17\log4j-1.2.17.jar;D:\develop\apache-maven-3.6.1\repository\org\projectlombok\lombok\1.16.18 双亲委派机制说简单点就是,先找父亲加载,不行再由儿子自己加载 我们来看下应用程序类加载器AppClassLoader加载类的双亲委派机制源码,AppClassLoader 的loadClass方法最终会调用其父类 打破双亲委派机制 再来一个沙箱安全机制示例,尝试打破双亲委派机制,用自定义类加载器加载我们自己实现的 java.lang.String.class public class MyClassLoaderTest Tomcat打破双亲委派机制 以Tomcat类加载为例,Tomcat 如果使用默认的双亲委派类加载机制行不行?

    60610发布于 2021-03-02
  • 来自专栏前端桃园

    Webpack4打包机制原理解析

    那么,我可以分析一下它的打包思路,大概有以下4步: 利用babel完成代码转换及解析,并生成单个文件的依赖模块Map 从入口开始递归分析,并生成整个项目的依赖图谱 将各个引用模块打包为一个立即执行函数 Entry 找出所有入口文件 编译模块 从入口文件出发,调用所有配置的 Loader 对模块进行编译,再找出该模块依赖的模块,再递归本步骤直到所有入口依赖的文件都经过了本步骤的处理 完成模块编译 在经过第4步使用 webpack打包结果简化对比 下面,我们直接看看,webpack4 打包后的代码长什么样,跟我们上文的简化模型有何区别(为了格式好看点,我精简了一下,用图片表示): ? 要注意的是,webpack4中只有optimization.namedModules为true,此时moduleId才会为模块路径,否则是数字id。 我们理解了之后,就可以更方便地深入去了解webpack的多入口打包(应该同样的机制跑2次就可以了吧),公共包抽离(因为模块加载时有缓存,只有加上一个次数记录就可以知道这个包被加载了多少次,就可以抽离出来做公共包

    1.1K30发布于 2019-12-04
  • 来自专栏JAVA并发编程

    JAVA并发编程系列(4)一文看懂全部锁机制

    CAS就是乐观锁,数据库版本号机制也是乐观锁。 悲观锁的应用场景:大量更新修改操作,使用悲观锁,可以保证数据强一致性。 乐观锁的应用场景:读多写少的场景,提高吞吐量。

    61920编辑于 2024-12-09
领券