kafka之旅总览
初识kafka 初识kafka集群 初识kafka中的生产者与消费者 初识kafka对消息处理与可靠性做出的保证 文章永久链接:https://tech.souyunku.com/47131
初识kafka 初识kafka集群 初识kafka中的生产者与消费者 初识kafka对消息处理与可靠性做出的保证 文章永久链接:https://tech.souyunku.com/47131
一篇文章入门Netty ByteBuf详解 ChannelHandler流程详解 EventLoop流程详解 Bootstrap使用详解 ChannelHandler做测试 数据格式转换与自带Channel工具 Netty Hello wo...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
可靠性、协议格式、tcpDump 可靠性、协议格式、tcpDump 处理连接 处理连接 数据传输 数据传输 超时处理 超时处理 局限性与定时器 局限性 定时器 文章永久链接:https://tech.souyunku.com/47135
思路:在包含问题的解空间中,按照深度优先搜索的策略,从根节点出发深度探索解空间树,当探索到某一节点时,先判断该节点是否包含问题的解,如果包含,就从该节点触发继续探索下去,如果不包含该节点的解,则逐层向其祖先节点回溯。 示例 组合总和:给定一...
方法区的概念 根据JVM的规范,方法区用来存储类的结构,比如运行时常量池,字段和方法数据,方法和构造函数的代码,以及类和实例初始化,接口初始化中使用的一些特殊方法。规范把方法区从逻辑上看做是属于堆的一部分,不同的实现可以选择是否要对这块代码...
wait源码实现如下 //TRAPS表示是否有异常 void ObjectSynchronizer::wait(Handle obj, jlong millis, TRAPS) { if (UseBiasedLocking) { //如果是...
为什么需要偏向锁? 当多个处理器同时处理的时候,通常需要处理互斥的问题。 一般的解决方式都会包含acquire和release这个两种操作,操作保证,一个线程在acquire执行之后,在它执行release之前,其它线程不能完成acquir...
以 GC safe-point引入 GC如何找到不可用的对象?编写代码的时候是可以知道对象不可用的,但对于程序来说,需要一定的方式来知晓,可用方法比如:编译分析,引用计数,和对象是否可达 可达性分析 mutator 含义:,一般GC执行完之...
LockSupport是用来创建locks的基本线程阻塞基元,比如AQS中实现线程挂起的方法,就是park,对应唤醒就是unpark。JDK中有使用的如下 LockSupport提供的是一个许可,如果存在许可,线程在调用 park的时候,会...
unsafe中对应拥有三个方法 compareAndSwapObject ,compareAndSwapInt和compareAndSwapLong ,他们都被标记为native compareAndSwapObject 它的核心实现为 o...