- 博客(16)
- 收藏
- 关注
原创 Kafka专题-3 Kafka核心概念
一个典型的Kafka体系架构包括多个Producer,多个Broker,多个Consumer以及一个Zookeeper集群。 Zookeeper负责Kafka集群元数据的管理、控制器的选举等操作; Producer负责生产消息发送到Broker; Broker负责将收到的消息存储到磁盘; Consumer负责从Broker订阅并消费消息; Kafka体系结构 Kafka核心概念:topic与partition Kafka底层实现来说,topic和partition都是逻辑上的概念,topic划分为多.
2022-02-28 01:41:08
1397
原创 Kafka专题-2 Kafka集群搭建与使用
学习Kafka原理需要通过实践与原理相辅相成提高自己的认知能力 ,该篇前半部分为集群搭建,后半部分为实践的Java代码,后续会通过学习Kafka原理来升级Java代码。 Kafka集群搭建 Kafka版本选择 Kafka下载官网 Kafka3.0开始弃用Java8 Kafka2.8.0 使用自我管理的元数据仲裁替代Zookeeper 忽视Java支持,可直接使用最新的; 需要使用去Zookeeper版本则使用2.8.1 需要使用自带Zookeeper版本则使用2.7.2 本文使.
2022-02-19 18:28:17
1085
原创 Kafka专题-1 开启Kakfa学习之旅
Kafka 作为当下热门的大数据处理流的中间件,必须学习Kafka的架构、设计思想。 作为消息中间件,首先需要知道消息中间件的需求背景,以及基本架构体系。 消息中间件的需求 换个角度思考, 当我们自己去设计消息中间件时,需要处理哪些问题,需要提供哪些能力。 ...
2022-02-14 13:08:17
882
原创 逻辑表达:高效沟通的金字塔思维学习-1
当下,我在思考怎么提高自己的深度思考和总结能力时,在网上搜相关信息寻找答案,在知乎里看到有网友 提到【金字塔原理和结构化思考】,于是我就开始了 阅读金字塔原理这本书籍。 如何高效沟通,让受众快速理解,记忆。 书中讲到:我们在表达信息时,就要通过逻辑结构的呈现,使接收信息这项复杂的任务尽可能地简化,让受众有兴趣、能理解、记得住。 而逻辑结构的设计,可以运用金字塔原理。 ...
2022-02-12 14:37:15
1191
原创 【JVM源码匠心修炼】下载openjdk的hotspot jvm源码
jvm源码下载开源OpenJDK源码下载方式1 (版本jdk6~ 9)开源OpenJDK源码下载方式2(版本jdk 7~14) 开源OpenJDK源码下载方式1 (版本jdk6~ 9) 下载链接:openjdk源码地址 选择下载的jdk源码版本 jdk6~ 9 开源OpenJDK源码下载方式2(版本jdk 7~14) 下载链接: http://jdk.java.net/ 支持下载 jdk 7~14 ...
2020-05-10 21:10:07
753
1
原创 【Java并发体系】synchronized 的使用与原理
基本语法 synchronized 有三种方式来加锁,不同的修饰类型,代表锁的控制粒度 修饰实例方法,获取当前对象锁; 修饰静态方法,获取当前类的Class对象锁; 修饰代码块,获取指定对象锁; // 修饰实例方法 private synchronized int nextThreadNum() { return 0; } // 修饰静态方法 private static synchro...
2020-05-08 00:16:42
314
原创 【Spring源码系列】IOC-Resource统一资源定义与加载
Resource接口为spring提供所有资源的顶层接口定义 AbstractResource为提供默认实现 FileSystemResource:可操作文件,URL,Spring5开始由NIO2实现具体操作 ByteArrayResource:对字节数组提供的数据的封装。 UrlResource ClassPathResource:class path 类型资源的实现。 InputStream...
2020-05-04 15:12:52
268
原创 【Java并发体系】线程基础
线程的出现 在多核CPU,多线程可以真正意义上并行执行 线程是CPU最小的调度基本单位 线程的创建,销毁比进程快 当进程存在多个同时执行的互不依赖任务,当一个任务被阻塞会导致其他任务也无法执行 线程生命周期 线程状态图 NEW:初始新建状态,还未调用start(),向操作系统提交创建线程,分配资源 RUNNABLED:可运行状态(可能在运行中) yield =)释放cpu退让给同等优先级...
2020-05-04 03:43:11
202
原创 JDK源码之HashMap源码解读
HashMap源码解读推荐文章内部数据结构Hash冲突数据插入原理扩容原理扩容原理 推荐文章 一个HashMap跟面试官扯了半个小时 - 安琪拉的博客 内部数据结构 数组+链表红黑树 链表长度>8或数组大小>64 转红黑树 红黑树节点<6 转链表 Hash冲突 hash函数:key的hashcode高16位与低16位进行异或 尽可能降低hash碰撞,越分散越好 算法高效 ...
2020-05-04 03:28:50
186
原创 Mybatis 3.X框架-Mybatis框架思考与总结
Mybatis框架思考与总结为什么很多公司都不用Mybatis自带二级缓存如何关闭一级缓存解析全局配置文件创建了什么对象四大对象什么时候创建的同类工具选型参考,如何在Mybatis和其他框架进行选择 为什么很多公司都不用Mybatis自带二级缓存 集群环境下,mybatis不支持分布式缓存;(虽然可额外配置实现) 二级缓存域是mapper级别,使用不当,容易产生脏数据 因为mybatis一般自...
2020-05-04 03:23:06
231
原创 Mybatis 3.X框架-Mybatis源码分析
Mybatis源码分析核心对象的生命周期工作流程及源码解读核心流程调用链 核心对象的生命周期 核心对象 生命周期 描述 SqlSessionFactoryBuilder 方法局部 只需要使用一次,用于构建SqlSessionFactory SqlSessionFactory 应用级别 全局单例,SqlSession工厂 SqlSession 会话级别 每次访问DB都需要使用...
2020-05-03 16:20:03
314
原创 Mybatis 3.X框架-进阶用法
进阶用法TypeHandlers类型转换器ObjectFactory实体类实例工厂Plugins(JDK动态代理+责任链实现)Mybatis增强 TypeHandlers类型转换器 mybatis在初始化时已注册自带默认TypeHandler保存在Configuration配置类 实现TypeHandler接口注入Configuration,可扩展额外的类型转换 ObjectFactory实体...
2020-05-03 15:42:39
220
原创 Mybatis 3.X框架-从零开始实践
官方指导文档 https://mybatis.org/mybatis-3/zh/configuration.html 核心特性 连接池对连接管理 SQL与代码分离 结果集映射,参数映射,动态SQL 重复Sql提取 缓存管理 插件机制 关联结果集(1对1,1对多),N+1 懒加载 核心配置 1. mybatis-config.xml configuration,properties se...
2020-05-03 15:23:39
413
原创 AbstractQueuedSynchronizer之AQS源码解读
AQS:核心方法 acquire(int arg): 进入临界区,失败加入队列,park, unpark之后再次尝试进入临界区 boolean tryAcquire(int arg); 试图进入临界区; Node addWaiter(Node): 将该线程添加至同步队列尾节点(双向链表队列) + 当前线程构建成 新Node节点; + 新Node CAS 至 tail; + (CAS...
2020-04-06 21:08:35
264
原创 mybatis缓存浅析(spring boot集成, ehcache集成实例)
mybatis缓存浅析写在最前mybatis缓存结构一级缓存二级缓存开启二级缓存spring boot 使用ehcache二级缓存写在最后 写在最前 本文章对mybatis缓存整体进行浅析,但并不是深究其实现原理,而是对mybatis缓存框架的基本认知,对我们选择缓存框架时有一定的帮助 mybatis缓存结构 mybatis的查询缓存分为一级缓存和二级缓存 一级缓存是SqlSession级别...
2019-03-14 16:39:50
518
原创 Spring Boot 之 Filter顺序配置 @Order无效原因解读(源码理解)
Spring Filter类结构图 implementsimplementsextendsextendsCompositeFilterFilterGenericFilterBeanDelegatingFilterProxyOncePerRequestFilter extendsextendsextendsextendsextendsextendsCharacterEncodingFilterOnc...
2019-01-23 16:19:39
22648
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅