安利一个好用的IDEA插件 object-helper-plugin
发布于 2022-10-29 12:44
|
其他
•
|
点赞 0
|
预览 353
一. 插件背景object-helper 插件是一个日常开发工具集插件,提供丰富的功能,最开始是基于 GenerateO2O 插件开发而来,它提供了对象之间值拷贝代码自动生成的能力,就像这样:因为该插件很早之前就停止维护了,新版本IDEA无法使用该插件,所以自己参考它的交互模式,基于新版本API开发
Java21 GA新特性-虚拟线程详解(转)
发布于 2023-12-17 19:36
|
并发编程
•
|
点赞 0
|
预览 141
JDK中的每个java.lang.Thread实例也就是每个平台线程实例都在底层操作系统线程上运行Java代码,并且平台线程在运行代码的整个生命周期内捕获系统线程。可以得出一个结论,平台线程与底层系统线程是一一对应的,平台线程实例本质是由系统内核的线程调度程序进行调度,并且平台线程的总数量受限于系统线程的总数量。
RocketMQ主从同步原理
发布于 2023-12-02 10:36
|
源码分析
•
|
点赞 0
|
预览 42
主从同步这个概念相信大家在平时的工作中,多少都会听到。其目的主要是用于做一备份类操作,以及一些读写分离场景。比如我们常用的关系型数据库mysql,就有主从同步功能在。
RocketMQ事务消息源码解析
发布于 2023-11-19 16:10
|
源码分析
•
|
点赞 0
|
预览 27
RocketMQ提供了事务消息的功能,采用**2PC**(两阶段协议)+补偿机制(事务回查)的分布式事务功能,通过这种方式能达到分布式事务的最终一致。
RocketMQ消息过滤机制源码详解
发布于 2023-11-18 09:57
|
源码分析
•
|
点赞 0
|
预览 20
如果是 TAG 过滤。broker要先根据ConsumeQueue 中 Tag HashCode过滤一次,消费者在根据 Tag 值过滤一次。因为 ConsumeQueue 为了便于检索,文件中每一个条目都是定长20字节,所以条目在最后八个字节存储的是消息 Tag 的 HashCode,而不是hash值。这样broker在拉取磁盘中的消息时,只需要对比 ConsumeQueue中 的Tag HashCode,而不需要解析 CommitLog 中的 Tag 值,如果发生Hash冲突,则交给消费者客户端过滤消息中的Tag值。
JVM Sandbox入门详解
发布于 2023-05-27 21:33
|
Java
•
|
点赞 0
|
预览 111
一. 概述在日常开发中,经常会接触到面向AOP编程的思想,我们通常会使用Spring AOP来做统一的权限认证、异常捕获返回、日志记录等工作。之所以使用Spring AOP来实现上述功能,是因为这些场景本质上来说都是与业务场景挂钩的,但是具有一定的抽象程度,并且绝大多数业务逻辑类都已经被Spring
工作面试老大难-MySQL中的锁类型
发布于 2023-04-08 15:34
|
数据库
•
|
点赞 0
|
预览 199
MySQL 是支持ACID特性的数据库。我们都知道”C”代表Consistent,当不同事务操作同一行记录时,为了保证一致性,需要对记录加锁。在MySQL 中,不同的引擎下的锁行为也会不同,本文将重点介绍 MySQL InnoDB引擎中常见的锁。一. 准备CREATE TABLE `user
CentOS搭建Jellyfin家庭影音服务器
发布于 2023-04-05 12:16
|
其他
•
|
点赞 0
|
预览 577
一. 安装Jellyfin之前介绍过Docker安装jellyfin,但Docker安装方式存在一些限制,于是一起学习一下用RPM包在CentOS 7下安装方法。先安装需要的依赖:yum install libicu fontconfig -y COPY下载CentOS最新可用RPM包进行安装:最新
动态类型语言 VS 静态类型语言
发布于 2023-02-11 12:08
|
其他
•
|
点赞 0
|
预览 124
一. 运行期动态修改类型结构动态编程语言是高级编程语言的一个类别,在计算机科学领域已被广泛应用。它是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力。众所周知的ECMAScript(JavaScript)便是
Arthas源码分析
发布于 2022-12-23 20:44
|
源码分析
•
|
点赞 0
|
预览 783
一. 前言Arthas 相信大家已经不陌生了,肯定用过太多次了,平时说到 Arthas 的时候都知道是基于Java Agent的,那么他具体是怎么实现呢,今天就一起来看看Arthas 的源码。首先 Arthas 是在 GitHub 开源的,我们可以直接去 GitHub 上获取源码:Arthas。本文基于 Arthas
Dubbo SPI扩展机制源码详解(基于2.7.10)
发布于 2022-12-04 17:05
|
Dubbo
•
|
点赞 0
|
预览 156
一. 概述本文主要分享 Dubbo 的拓展机制 SPI。想要理解 Dubbo ,理解 Dubbo SPI 是非常必须的。在 Dubbo 中,提供了大量的拓展点,基于 Dubbo SPI 机制加载Dubbo SPI官方文档:Dubbo SPI 概述 | Apache Dubbo本文基于 Dubbo 2
计算机算法的本质(转)
发布于 2022-07-30 11:26
|
数据结构与算法
•
|
点赞 0
|
预览 362
「算法工程师」做的这个「算法」,和「数据结构与算法」中的这个「算法」完全是两码事, 免得⼀些初学同学误解。
对前者来说,重点在数学建模和调参经验,计算机真就只是拿来做计算的工具而已;而后者的重点是计算机思维,需要你能够站在计算机的视角,抽象、化简实际问题,然后用合理的数据结构去解决问题。
详解Spring SPI机制
发布于 2022-05-22 10:44
|
源码分析
•
|
点赞 0
|
预览 641
一. 从类加载说起Java中的类加载器负载加载来自文件系统、网络或者其他来源的类文件。jvm的类加载器默认使用的是双亲委派模式。三种默认的类加载器Bootstrap ClassLoader、Extension ClassLoader和System ClassLoader(Application Cl
一文搞懂 Spring Bean 的生命周期
发布于 2022-05-03 17:16
|
源码分析
•
|
点赞 0
|
预览 313
一. 前言在学习Spring框架的IOC、AOP两大功能之前,首先需要了解这两个技术的基础——Bean。在Spring框架中,Bean无处不在,IOC容器管理的对象就是各种各样的Bean。理解Bean的生命周期有助于我们更好的理解和使用Spring框架的IOC功能,也有助于我们理解框架如何初始化、使
详解Spring循环依赖
发布于 2022-04-10 18:30
|
源码分析
•
|
点赞 0
|
预览 398
就是两个或则两个以上的bean互相依赖对方,最终形成闭环。比如“A对象依赖B对象,而B对象也依赖A对象”,或者“A对象依赖B对象,B对象依赖C对象,C对象依赖A对象”