后端

什么是双亲委派机制?

双亲委派机制 Parent Delegation Model,又称为父级委托模型。想要了解它,还需理解类加载机制、类加载器、类加载器的层级关系。 类加载机制:编译器把Java源文件编译成.class文件,再由JVM装载.class文件到内存中,JVM装载完成后得到一个Class对象字节码。有了字节码对象,接下来就可以实例化使用了。 Java类加载流程 类的加载器主要有启动类加载器、附加

RPC笔记整理

什么是RPC HTTP和RPC的关系 例如,HTTP+Restful规范+序列化与反序列化,构成一个完整的远程调用方案,再和RPC进行比较。而单纯的HTTP,只是一个通信协议,自然无法和RPC比较。 RPC的英文全称是Remote Procedure Call,翻译为中文叫“远程过程调用”。其中稍显晦涩的其实就是“过程”,过程其实就是方法。所以,可以把RPC理解为“远程方法调用”。 而

第一章 理解高性能程序(7) 扩展指令集

附加指令集        前面提到,为了提升处理器的性能,芯片制造商开始增加一些复杂指令,这些指令可以做向量计算或者执行一些以前通常在应用层代码中实现的算法。        SIMD和向量指令可以通过并行计算多个标量值的方式对标量运算实现并行处理。因此,我们必须可以一次加载多个浮点数到两组SIMD寄存器,之后一次性地对所有加载的数据进行操作。Intel处理器在一系列的扩展指令集中引入了SIMD

Spring AI 和 LangChain4j对比分析,哪个好用?

自2023年初ChatGPT的兴起,人工智能(AI)领域经历了迅猛的发展,各类AI模型与应用如雨后春笋般涌现。尽管当前AI开发工具主要集中在Python和JavaScript语言的大型语言模型(LLM)库上,但在面向企业级(toB)的应用场景中,Java作为一

Java学习笔记

自增自减运算符 短路逻辑运算符 两只老虎,用三元运算符比较大小 public class HelloWorld { public static void main(String[]  args)  {   int m = 180 ;   int n = 200 ;   boolean b = m == n ? true : false ;   System.out.println("b:"

万字长文告诉你,B 站是怎样崩的

一年之后,B 站终于把故障复盘写了出来。 我简单看了一下,和我当初猜测的原因部分吻合,猜对了由于某接口负载过大导致雪崩效应,但没有猜对导致负载过大的原因。 很显然,这篇文章是从纯技术角度解读本次故障的。 B 站有 UP 主做了这方面的视频,但受篇幅所限,讲的还不够细致,我尽力做了补充,但最终还是决定单独写一篇文章讲讲这件事。 如果大家对技术有一定了解,比如你听说过微服务、负载均衡、集群、多活,并且

服务器迁移及docker部署

背景 这段时间负责公司运维工作,多个私有云服务器快到期了,因此线上服务和数据需要迁移备份,但是如果在同一台机器上部署多个实例难免有端口冲突,为了做到相互隔离和维护方便,docker可能是最佳选择,于是开始了我的迁移之旅: 备份 服务器迁移过程中最重要的是数据,为了确保数据不丢失,最好是晚上停机备份 # redis:拷贝rdb文件和conf配置文件 # mysql全量备份 mysqldump --a