【dmytrodanylyk/circular-progress-button源码解析(一)】教程文章相关的互联网学习教程文章

Mybatis Mapper 接口源码解析【代码】【图】

Mybatis Mapper 接口源码解析 TSMYK Java技术编程 本文首发地址为个人博客https://my.oschina.net/mengyuankan/blog/2873220相关文章 Mybatis 解析配置文件的源码解析Mybatis 类型转换源码分析Mybatis 数据库连接池源码解析 前言 在使用 Mybatis 的时候,我们只需要写对应的接口,即dao层的Mapper接口,不用写实现类,Mybatis 就能根据接口中对应的方法名称找到 xml 文件中配置的对应SQL,方法的参数和 SQL 的参数一一对应,在 x...

Spring-Kafka生产者源码解析(二)——RecordAccumulator【代码】【图】

在上一篇中介绍了KafkaProducer的构造方法及send核心方法,其中在send方法中涉及到将消息追加入RecordAccumulator消息累加器的过程,本篇重点将围绕RecordAccumulator来分析这一过程。 对于Spring-Kafka生产者源码将分成三个部分进行分析:KafkaProducer分析、RecordAccumulator分析、Sender线程分析。本篇是第二部分RecordAccumulator分析。目录 一、RecordAccumulator的结构 二、append方法解析 三、总结 RecordAccumulator可以理...

ThreadLocal的使用规则和底层源码解析,以及造成OOM的原因和解决方案【代码】【图】

目录 ThreadLocalThreadLocalMapThreadLocal.setThreadLocalMap.getMap ThreadLocal.getThreadLocalMap.getEntry ThreadLocal使用规范ThreadLocal 此类提供线程局部变量。这些变量不同于普通的对应变量,因为每个访问一个(通过其get或set方法)的线程都有自己独立初始化的变量副本。ThreadLocal实例通常是类中的私有静态(private static (在java当中可以理解static就是全局的意思))字段,它们希望将状态与线程相关联(例如,用...

RocketMQ源码解析之broker文件清理【图】

原创不易,转载请注明出处文章目录 1. broker 清理文件介绍1.1 哪些文件需要清理1.2 RocketMQ文件清理的机制 2.源码解析2.1 清理commitlog2.2 ConsumeQueue 与indexFile 清理 总结1. broker 清理文件介绍 1.1 哪些文件需要清理 首先我们需要介绍下在RocketMQ中哪些文件需要清理,其实可以想一想,在RocketMQ中哪些文件是一直在往里面写入东西的,最容易想到的就是commitlog 了,因为在一个broker 进程中,所有的普通消息,事务消息...

django的View和drf的APIView源码解析【代码】

目录django中的View源码解析drf中APIView源码解析 django中的View源码解析 FBV: path('admin/', admin.site.urls), CBV: path('books/', views.BookView.as_view()),在路由层使用CBV时需要执行 CBV.as_view()方法,使该位置的实参变为一个FBV(函数地址) as_view方法的返回值是view view是一个函数,即CBV的views.BookView.as_view()的结果就是views.BookView.view 在收到请求,路由匹配成功之后会触发view函数的运行 view函...

Appium自动化(11) - 详解 Applications 类里的方法和源码解析【图】

如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 Applications 类在 python安装路径\Lib\site-packages\appium\webdriver\extensions 下的 applications.py 模块中该类的方法面向对象都是app ,而不是Webelement background_app(self: T, seconds: int) 作用 将app 放到后台运行一段时间 参数讲解 seconds:应用程序保留在后台的持续时间 源码解析其实这个...

源码解读:ArrayList源码解析(JDK8)

ArrayList源码解析(JDK8) 更详细的讲解可以参考这篇博文,本文只讲解在阅读源码中个人遇到的问题。 面试必备:ArrayList源码解析(JDK8) 构造函数/*** ArrayList容器默认初始容量*/private static final int DEFAULT_CAPACITY = 10;/*** 用于有参构造的空数组*/private static final Object[] EMPTY_ELEMENTDATA = {};/*** 用于无参构造的空数组*/private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};/*** 用...

Semaphore源码解析

SemaphoreSemaphore信号量,许可,用于控制在一段时间内,可并发访问执行的线程数量,基于AQS实现。 获取许可,支持公平和非公平模式,默认非公平模式。公平模式无论是否有许可,都会判断是否线程在排队,如果有线程排队,获取线程立即失败,进入排队;非公平模式无论许可是否充足,直接尝试获取许可。 可用于网关限流,或者资源限制(如最大可发起连接数)。 由于release()释放许可时,未对释放许可数做限制,所以可以通过该方法增加...

IK分词器 原理分析 源码解析【代码】【图】

IK分词器在是一款 基于词典和规则 的中文分词器。本文讲解的IK分词器是独立于elasticsearch、Lucene、solr,可以直接用在java代码中的部分。关于如何开发es分词插件,后续会有文章介绍。 IK分词器的源码:Google Code,直接下载请点击这里。 一、两种分词模式 IK提供两种分词模式:智能模式和细粒度模式(智能:对应es的IK插件的ik_smart,细粒度:对应es的IK插件的ik_max_word)。 先看两种分词模式的demo和效果import org.wlte...

【源码解析】Spring Boot中Security关于BCryptPasswordEncoder的使用【图】

前言 SpringSecurity中有一个升级版的消息--BCryptPasswordEncoder,使用相同的明文,生成的新的加密字符串都是不一样的,这与我们常见的加密算法MD5是不同的,MD5加密的话,只要是相同的salt和原密码,加密后产生的密串都是一致的。 关于MD5 MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。比如,在UNIX下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件...

Dubbo源码解析-服务暴露

Dubbo源码解析-服务暴露 服务发布-原理 第一个发布的动作:暴露本地服务 ?Export dubbo service com.alibaba.dubbo.demo.DemoService to local registry, dubbo version: 2.0.0, current host: 127.0.0.1 第二个发布动作:暴露远程服务Export dubbo service com.alibaba.dubbo.demo.DemoService to url dubbo://192.168.100.38:20880/com.alibaba.dubbo.demo.DemoService?anyhost=true&application=demo-provider&dubbo=2.0.0&ge...

twemproxy源码解析-前言:特性简介

下面是twemproxy的特性 后面根据这些特性做一些讲解:1.Fast,即快速,据测试,直连twenproxy和直连redis相比几乎没有性能损失,这已经很逆天了,最重要的是他还没有进行读写分离就能达到这样的效果,确实fast 2.Lightweight,即轻量级,就我个人而言,它代码量就是轻量级的,解压后仅仅1.8MB!!!因为透明连接池,内存零拷贝以及epoll模型的使用,使得它足够快速和轻量级。 3.Enables pipelining of requests and responses,Keeps c...

容器之路 HashMap、HashSet解析(北京PK10源码出售)【代码】

1.1 HashMap概述相信大家在大学北京PK10出售QQ2952777280【话仙源码论坛】hxforum.com 的时候都学习过散列表。 使用散列表的查找算法主要分为两步,第一步是利用散列函数将被查找的键转化为一个索引,理想情况下,所有不同的key都会被散列为不同的索引值,但是由于散列函数无法达到完美的散列,所以,我们通常还需要处理碰撞的情况。 处理碰撞的方法主要有两种,一种是拉链法,另一种是线性探测法。 在HashMap中,使用的是拉链法,...

深度解析程序从编译到运行【代码】【图】

深度解析程序从编译到运行 前言 ? C语言算是大学里接触的最早,用的最"多"的语言了,对于大部分学习计算机的学生基本上是从开始学习C语言起,凭借着一句经典的"hello, world!"迈入了计算机的世界的,初体味了一把这个世界还有个叫编程的活。作为系统级的开发首选语言,自诞生以来就屹立不倒,C语言的重要性是不言而喻的。做为一个菜鸟级别的程序员,使用C有些年,但对于C没有有真正的了解。我想有必要从新了解这门古老的语言背后的...

Mybatis 解析 SQL 源码分析二【代码】【图】

Mybatis 解析 SQL 源码分析二 TSMYK Java技术编程 Mybatis Mapper.xml 配置文件中 resultMap 节点的源码解析Mybatis 解析 SQL 源码分析一Mybatis Mapper 接口源码解析Mybatis 数据库连接池源码解析Mybatis 类型转换源码分析Mybatis 解析配置文件的源码解析 前言 在上两篇文章 Mybatis 解析 SQL 源码分析一 和 Mybatis Mapper.xml 配置文件中 resultMap 节点的源码解析 中分析了 Mybatis 是如何解析 Mapper.xml 配置文件的,配置...