Bulingfeng Blog

「背后的努力决定人生的高度」

A Tutorial of Clickhouse

A Tutorial of Clickhouse

What’s the ClickHouse? Clickhouse is a hight-performance, column-oriented SQL database management system for online analytical processing(OLAP). What’s OLAP? OLAP scenarios require real time res...

Create A Rag Application with Redis and SpringAI

Create A Rag Application with Redis and SpringAI

Overview In this tutorial, we’ll build a ChatBot using the Spring AI framework and RAG technique. With the help of Spring AI, we’ll integrate with the Redis Vector database to store and retrieve d...

The Volatile Keyword in Java

The Volatile Keyword in Java

Overview Without necessary synchronizations, the compiler, runtime, or processors may apply all sorts of optimizations. Even though these optimizations are usually benefical, sometimes they can ca...

Describe the Synchronized Keyword in Java

Describe the Synchronized Keyword in Java

Overview In this article, we’ll learn using synchronized block in Java. Simple put, in a multi-thread environment, a race condition occurs when two or more threads attempt to update mutable share...

Jvm调优相关

Jvm调优相关

简介 JVM常见的问题就是GC进行频繁导致吞吐量减少,已经程序发生OOM而导致程序运行异常; 但是如果想了解OOM就必须知道JVM的垃圾回收的原理或者过程是什么样的;下面就来分别讨论下垃圾回收的过程是什么样的和遇到OOM的时候如何进行分析。 垃圾回收的流程 一般的流程都是对象先创建出来然后被放到Eden区域,然后Eden满的时候就会触发Minor GC;当然具体的流程可以看下面图,这...

Mysql相关一些记录和总结

Mysql相关一些记录和总结

关于mvcc相关文章 1、通俗易懂的mvcc讲解 1 https://www.cnblogs.com/jelly12345/p/14889331.html 在mysql中mvcc的应用知识在隔离级别是RC和RR这两个隔离级别的时候才会出现;但是这两个隔离级别产生的readview的时机不是一样的,RC隔离级别的时候,在同一个事务当中,第一个查询的sql语句执行的时候;而RR隔离级别的...

kafka消息丢失问题(对中文世界资料错误的纠正)

kafka消息丢失问题

简介 不得不再次感叹,每次看中文世界的文章,很多时候都是会被恶心到,因为TMD写的东西错误百出,但是就是这样的骗子文章,大多数人也会信,这些人从来没有反思过这些人说的对不对,言归正传来说下kafka消息丢失的问题把。 详细分析 消息的丢失可以从这几方面入手: 生产者端发送消息丢失; 消费端的数据丢失; 服务器的损坏造成的数据丢失; 生产者端 ...

完美主义是阻碍自己持续进步的拦路虎

日常思考

所谓的完美主义者,他们追求的所谓的完美主义,看似是追求极致的表现,实际上更可能只是在以还未准备好之名来逃避现实的接口而已。 接受早期做的不够优秀的自己 要明白一个事实: 自己在任何领域的早期的实践过程中,自己就是笨拙的。 自己能做的就是马上开始做,边做边学。在实践的过程中不断学习和发现自己的不足,发现自己的不足,然后进行纠正,然后重复这个动作,这样自己就会技能或者能力就会得到螺...

线程池详解

线程池详解

简介 双亲委派加载机制的意义是什么呢? 减少相同类的创建,代码功能的完整性和一致性。还有个原因就是有人恶意创建一些类来对程序进行恶意攻击。 而在谈双亲委派之前,还是要谈谈类的加载过程。 类的加载 1、验证阶段;JVM会校验.class文件是否符合JVM规范。 2、准备阶段;给静态变量赋值给默认值。如果是加final的静态变量,则直接赋值完成。比如public static fin...

条件变量和信号量

条件变量和信号量

简介 如果让你设计一个生产者和消费者,当队列里面没有数据的时候,消费者暂停;当队列里面数据满了的时候,生产者暂停。而暂停的这个动作怎么来做呢? 写一个sleep函数;但是这个会让程序的效率低下。 使用自旋的方式;这个方式可能会导致cpu飙升,影响系统的性能。 这里就要使用线程之间的互相通讯来解决,条件变量和信号量。 条件变量 条件变量有两种: 内置...