
go 基础
没什么营养,单纯记录一下 基础包、变量与函数每个 Go 程序都由包构成。 程序从 main 包开始运行。 本程序通过导入路径 "fmt" 和 "math/rand" 来使用这两个包。 按照约定,包名与导入路径的最后一个元素一致。例如,"math/rand" 包中的源码均以 package rand 语句开始 123456789...

没什么营养,单纯记录一下 基础包、变量与函数每个 Go 程序都由包构成。 程序从 main 包开始运行。 本程序通过导入路径 "fmt" 和 "math/rand" 来使用这两个包。 按照约定,包名与导入路径的最后一个元素一致。例如,"math/rand" 包中的源码均以 package rand 语句开始 123456789...

02 初出茅庐:构造一个极简的 HttpServer使用 Socket 简单实现 Request12345678910111213141516171819202122232425262728293031323334353637383940414243public class Request { InputStream input; String uri; publ...

01 - 原始版本的 IOC 容器IOC 容器的作用是自动创建对象,降低系统间的耦合度 core12public interface Resource extends Iterator<Object>{} 外部的配置信息都当成 Resource (资源)来进行抽象 123456789101112131415161718192021222324252627282...

https://www.bilibili.com/video/BV1yE411Z7AP 内存结构程序计数器好的,我们来详细讲解一下 Java 虚拟机(JVM)内存结构中的程序计数器(Program Counter Register)。 我会从它是什么、为什么需要它、如何工作以及它的核心特点这几个方面来全面解释。 什么是程序计数器?程序计数器,也常被称为 PC 寄存器,是 JVM 内存...

循环依赖执行原理三级缓存: 第一级缓存:singletonObjects,用于保存实例化、注入、初始化完成的 bean 实例例; 第二级缓存:earlySingletonObjects,用于保存实例化完成的 bean 实例例; 第三级缓存:singletonFactories,⽤于保存 bean 创建⼯工⼚,以便后面有机会创建代理对象 执行流程: 在第一层中,先去获取 A 的 Be...

ThreadPoolExecutor 固定大小的线程池 Executors.newFixedThreadPool(int nThreads);,适合用于任务数量确定,且对线程数有明确要求的场景。例如,IO 密集型任务、数据库连接池等。 缓存线程池 Executors.newCachedThreadPool();,适用于短时间内任务量波动较大的场景。例如,短时间内有大量的文件处理任务或网络请...

HashMap构造方法HashMap(int initialCapacity, float loadFactor)loadFactor 加载因子 loadFactor 是加载因子,默认是0.75,当 实际节点数 / 总容量 超过 loadFactor 会触发扩容机制 initialCapacity 初始容量HashMap内部的 Node<K, V> 数组的大小总为2的...

https://www.bilibili.com/video/BV1ue411N7GX 什么是代理 自己的理解:类似与Spring中的AOP,是对原有代码的增强,也是对原有代码的封装 官话:在Java中,代理(Proxy)是一种设计模式,用于控制对某个对象的访问。代理模式通过创建一个代理对象,来替代原始对象,以实现对原始对象的访问控制。代理对象和原始对象实现相同的接口,客户端对象可以透明...

仓库地址视频地址 分布式:一个大应用分拆成多个小应用分布部署在各个机器上 微服务(Spring Boot)(自治):独立部署,数据隔离,单点故障 注册中心(Spring Cloud Alibaba Nacos):服务发现,服务注册,配置中心 远程调用(Spring Cloud Open Feign) 服务熔断(Spring Cloud Alibaba Sentinel):快速失败,服务...

ByteBuffer基本使用12345678910111213141516try(FileChannel fileChannel = new FileInputStream("data/data.txt").getChannel()) { ByteBuffer buffer = ByteBuffer.allocate(10); //创建一个容量为 10 字...