保存成功
订阅成功
保存失败,请重试
提交成功
韩大

韩大

高级架构师
某医药交易企业的高级架构师,目前承接国家医保局医疗改革项目,主要负责ES的建设!...更多
创作文章14

RocketMQ 消费如何保证消息的可靠性

RocketMQ 在项目开发中是重要的中间件,在面试中也是高频的出题点,既然是消息中间件,那么最重要的就是保证消息的可靠性。保证消息的可靠性,主要分为三个方面,发送方消息不丢失、消息存储的可靠性、消息消费的避免重复。在本Chat 中将以实战的角度,沿消息发送到接收的链路来分析问题,主要涉及以下几个方面: - 1 消息发送的几种方式 - 2 RocketMQ 实现事务消息的原理 - 3 消息是如何进行存储的 - 4 如何避免消息的重复消费
24 订阅

从 BIO、NIO 到多路复用的演进路径

IO 在阅读源码、底层通讯、面试中都是绕不开的知识点,熟悉 IO 操作对理解上层通信操作和复杂问题大有帮助。在 Dubbo 、Nacos、 Rocketmq 等优秀的项目中都有大量的 IO 应用,只不过都是采用 Netty 框架进行了包装而已。在本 Chat 中将会从基础的IO 操作开始讲解,然后逐级深入到多路复用器。本 Chat 中主要涉及以下内容: - 1 BIO 和 NIO 的本质区别是什么? - 2 阻塞和非阻塞、同步和异步的区别 - 3 IO多路复用的概念 - 4 select/poll/epoll 的区别和联系
96 订阅

Elasticsearch 是如何读写数据的

Elasticsearch 作为重要的数据搜索引擎,兼具了数据读取和数据写入时性能的问题,在数据数据检索方面具有很强的优势。在业务系统中,当数据达到亿级后,通常会将数据放入Elasticsearch中,在面试中也会遇到关于ES的问题,在本 chat 中将会从数据存储和写入角度来分析一些Elasticsearch 的问题,例如: - 1 为什么说数据的读取是近实时的 - 2 flush 和 refresh 有什么区别 - 3 shard 和 segment 有什么联系 - 4 Elasticsearch 节点的类型和作用
35 订阅

Python量化交易实战

时下量化交易是一个十分火的技术,本文就简单介绍一下它的实现过程,主要涉及以下内容: - 1 量化交易的主要组成部分介绍。 - 2 如何获取股票的历史交易数据。 - 3 根据交易数据绘制 k 线图。 - 3 构建交易策略并实现数据回测。 - 4 根据交易结果绘图展示交易数据信息。 量化交易采用 `python` 语言,其中涉及到了股票数据爬取,使用 `pandas` 进行数据分析,根据专业的金融分析类库 `talib` 计算均线和技术指标,使用 `matplotlib` 绘制股票 `k` 线图,最后使用 `backtrader` 进行数据回测。
59 订阅

Elasticsearch 集群安装全解析

曾几何时,你是否遇到了 `Elasticsearch` 服务在本地测试环境用的好好的,但是在测试环境却无法启动? 你是否在启动 `Elasticsearch` 一会需要调整线程数,一会又要调整文件句柄数,到底还有多少我们不知道的选项需要调整🤣,本文将从 如下方面来分析: 1. 开发模式和生产模式 2. 启动前校验系统环境参数 3. 节点角色划分以及单一职责节点的配置 4. 简单的冷热节点集群 四个步骤来解析集群安装全过程,让您以后对 `Elasticsearch` 集群安装做到手里有粮,心里不慌,奥里给!
57 订阅

最通俗易懂的高并发最佳实践

高并发、多线程是实际工作里和面试中经常遇到的问题,很多小伙伴抱着满满的信息去处理时,经常是从入门到劝退。前一篇文章已经讲解了高并发的基础理论,这里会一个字符串交替打印的实例出发,从实践的角度解释 Synchronized、Lock 的应用,同时会解释一些 JUC 包下常用的工具类。这里先列一写思考题,后续会在文章中一一讲解。 * Notify 和 Wait 以及 Signal 和 Await 的区别? * ReentrantReadWriteLock 和 StampedLock 的区别? * LockSupport 特点和使用用法? * CountDownLatch 和 CyclicBarrier 的用法有哪些不同? * CompletionService 有哪些特点? * 原子类的适用场景和注意事项? * ThreadLocal 为什么会有内存泄漏的问题? * 强软弱虚的引用有什么特点和作用。 * 使用 Java 实现锁的思路。
高并发
119 订阅

MyBatis 多参数查询去掉 @Param 实践

本文以 MyBatis 使用过程中常见的参数绑定 BindException 为例解析了错误发生的原因,并在这个过程中分析了 SQL 参数解析的逻辑,最后结合 JDK 1.8 和 useActualParamName 解决了参数绑定问题,以后就和 @Param 告别了。
免费MyBatis
34 订阅

史上最通俗易懂的高并发理论详解

高并发、多线程是 Java 程序员是面向高级的必备技能,很多朋友在面试时经常在这里折戟沉沙,饮恨不已。熟练掌握高并发知识,在实践中具有很强的操作性,尤其是在 2C 的行业,不仅要写好代码、实现功能,而且还要在高并发的情况下能够正常运转。那么,学习高并发需要掌握哪些要点呢?小编认为,需要先掌握高并发的基础知识,JMM 是学习高并发的一道门槛,看过上一篇文章《从一个对象的角度揭开 JVM 的面纱》的朋友应该都知道了。还有一些像并发安全集合、锁机制、线程池、原子类、线程同步机制、AQS、CLH 等等。 这里照例先留一些思考: * JOL 该怎么用?Java 加锁锁住的到底是什么? * 缓存一致性协议(MESI)是指的什么呢? * 锁可以升级,为什么不能降级呢? * Synchronized 与 Lock 的区别和联系 * 多线程之间的同步方法有哪些? * 什么样的场景才适合采用多线程的方案呢?
高并发
187 订阅

MySQL 数据库字段校对攻略

在项目开发过程中,肯定会跟数据库打交道。尤其是在遇到巨量的数据库表、有些数据库表由于历史原因设计的不合理,导致表中的数据字段数量会达到 100+,尤其是在对比各个数据库的差异时,将会耗费大量的人力、时间去做对比。为了解决这样的难题,小编在这里介绍几种解决方案供大家参考。这里小编也根据实际的业务场景提供了一种终极解决方案,利用 Python 编写脚本进行数据库校对,可以快速解决问题。 这里照例先提几个思考题: 1. 如何快速读取数据库中的表和字段? 2. information_schema 库查询的库表数据是准确的吗? 3. describe table_name 是否有了解呢? 4. show create table table_name 这个命令是否用过呢?
MySQL
92 订阅

线程池源码浅析

面试的时候往往会问到线程池相关的内容,对于线程池知其然而不知其所以然。本篇文章通过源码阐述线程池构造方法、详细参数信息(核心线程数量、最大线程数量、空闲等待时间、线程工厂、拒绝策略)及线程池的使用。 本 Chat 读者将获得以下知识: 1. 线程池简介 2. 线程池优点 3. 线程池构造 4. 线程池详细参数信息 5. 使用 Executors 构造线程池的方法及对比 6. 使用线程池默认构造方法创建线程池 7. 线程池状态描述 8. 线程池常用方法解析 9. 线程池监控常用方法 适合人群: 小白及 Java 初中级开发。
线程池
146 订阅

Docker 从理论到实践

在当前 Devops 日趋流行的时候,Docker 作为容器化的代表,更是一种先进生产力的体现,Docker 集开发、打包、运行应用于一体的开放平台,可以用来快速交付应用。本文将带你从理论到实践,更快入门 Docker 。
免费Docker
125 订阅

从一个对象的角度揭开 JVM 的神秘面纱

不论是工作还是面试,会一点 JVM 在恰当的时候总会显得与众不同,是不是感觉看了那么多文章和书籍还是对此一知半解,提起来的时候还是一脸懵逼。原因在于文章的介绍只是做了一个知识点的介绍,并没有把它们之间的关系和联系体现出来。小编也是深受荼毒,痛定思痛,深刻总结了一下,本文会从一个全新的角度揭开 (从一个对象生死轮回的角度)JVM 的神秘面纱。 小编先提出几个思考题, 文章中会逐一解答: 1. 为什么新生代和老年代的比例是 1:2 ,Eden 和 Survivor 的比例是 8:1 ? 2. 对象的分配有没有顺序,对象一定是在堆上吗 ? 3. 什么是分配担保机制? 4. 怎么限制线程数量呢? 5. OOM 到底是怎么发生的呢?
JVM
98 订阅

有了 Python-Docx,不再害怕 Word 文档!

工作中遇到项目交付时,会有大量的文档需要撰写。编辑文档内容已是费时费力,样式调整还是会把人逼入绝境。尤其是在编辑巨量的 Word 文档时,时不时出现 Word 卡死的情况。尤其是文档对样式有要求的时候,重复而繁重的工作简直让人崩溃。来吧,我来解脱你! Python 编辑 Word 的优势: - 编程的方式可以避免重复的工作,提高撰写效率。 - 通过操作 Python-Docx 的 API,可以批量修改标题、正文、表格的样式问题。 - 通过 Python 可以实现文本的批量替换、编辑,检查文档样式问题。 - 对于比较大的 Word 文档,通过 Python 操作省时省力,不会出现 Word 卡死的情况。 - 通过编程的方式,可以预生成一些模板文档,减少编辑的工作量。 文章内容如下: 1. Python-Docx 的安装以及 Python 简单语法简介 2. Word 文档的结构说明 3. Python-Docx 的语法说明 4. Python-Docx 生成数据库设计说明书实战 5 . 编辑 Word 文档的三板斧 6 . Python 编辑 Word 文档心得体会
Python
146 订阅

初识 Elasticsearch

本 Chat 旨在帮助初学者正确理解 Elasticsearch 概念,快速入门并付诸实践。 1. 搜索引擎的发展历史及索引介绍 2. 安装 ES 集群及安装常见问题 3. ES 基本概念:Index、Document、Mapping 4. Analyzer:快速搜索全靠我! 5. 深入搜索:搜索的各种姿势,让你了解个够! 6. Java Rest API 7. 常见的一些问题 - 为什么集群 red、yellow 了,对集群有什么影响? - 明明有数据为什么搜索不到数据? - 为什么数据不是实时插入的?
Elasticsearch
167 订阅