摘要: 一、PushbackInputStream源码——可以对输入Stream进行回退的装饰器类 PushbackInputStream适合语法解析过程中的语法回退,因为这个类提供了有限字节(内部定义了一个默认长度为1的byte[] buf字节数组)的缓冲式回退能力,具体过程如下: ①、当调用unread 阅读全文
posted @ 2026-05-18 10:10 Carey_ccl 阅读(56) 评论(0) 推荐(0)
摘要: 一、ByteArrayInputStream的源码——零拷贝(Zero-Copy)的一种字节流 在传统的磁盘 I/O(比如FileInputStream.class、BufferedInputStream.class...等) 中,使用者都需要将磁盘的数据先复制到内存中来使用而无法实现零拷贝(Zer 阅读全文
posted @ 2026-05-10 23:01 Carey_ccl 阅读(100) 评论(0) 推荐(1)
摘要: 一、FileInputStream的源码分析和使用方法详细分析 FileInputStream 是 Java IO 体系中文件读取的基础类,通过封装操作系统的文件操作,提供了简单易用的字节流读取接口。其设计融合了模板方法模式(统一接口)、适配器模式(屏蔽系统差异)和代理模式(资源生命周期管理),是面 阅读全文
posted @ 2026-04-26 19:57 Carey_ccl 阅读(98) 评论(0) 推荐(0)
摘要: 在多线程编程中,线程间的数据交换是一个常见需求。Java IO包中的PipedInputStream和PipedOutputStream提供了一种高效的线程间通信机制,允许一批(多个)线程向PipedOutputStream写入数据,另一批(多个)线程从PipedInputStream读取数据。 但 阅读全文
posted @ 2026-02-19 22:07 Carey_ccl 阅读(178) 评论(1) 推荐(1)
摘要: 一、SequenceInputStream源码——可以顺序读取多个输入Stream的装饰器类 SequenceInputStream.class 的UML关系图,如下所示: SequenceInputStream.class的源码,如下所示: package java.io; import java 阅读全文
posted @ 2026-02-15 22:25 Carey_ccl 阅读(154) 评论(1) 推荐(0)
摘要: 7、InputStream的源码、FilterInputStream源码、BufferedInputStream的源码(windows操作系统,JDK8) https://img2024.cnblogs.com/blog/2485827/202602/2485827-20260206185514108-756686379.png 阅读全文
posted @ 2026-02-14 09:26 Carey_ccl 阅读(278) 评论(1) 推荐(0)
摘要: 一、DatagramChannel DatagramChannel 是一种能够发送和接收 UDP 数据包的Channel ,由于 UDP 是一种无连接的网络协议,所以默认情况下,使用者不能像对其它Channel(比如ServerSocketChannel和SocketChannel)那样直接对 Da 阅读全文
posted @ 2026-02-03 09:53 Carey_ccl 阅读(19) 评论(0) 推荐(0)
摘要: Java NIO 由以下几个核心部分组成: ①、Channels,类似于传统IO中的流(Stream); ②、Buffers; ③、Selectors 虽然Java NIO 中除此之外还有很多类和组件,但是核心还是Channel,Buffer 和 Selector ,像其它组件Pipe、FileLo 阅读全文
posted @ 2026-02-03 09:35 Carey_ccl 阅读(47) 评论(0) 推荐(0)
摘要: Spring-Boot 特点如下: ①、创建独立的 Spring 应用程序; ②、嵌入的 Tomcat,无须部署 .war 文件; ③、简化 Maven 配置; ④、自动配置 Spring; ⑤、提供生产就绪型功能,如指标、健康检查和外部配置;绝对没有代码生成,以及对XMIL没有配置要求。 1、启动 阅读全文
posted @ 2026-01-18 22:35 Carey_ccl 阅读(35) 评论(0) 推荐(0)
摘要: Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的 API,用于在两个应用程序之间或分布式系统中发送消息,并进行异步通信。Java 消息服务是一个与具体平台无关的 API,绝大多数 MOM 提供商都对 JMS 提供支持。 阅读全文
posted @ 2026-01-17 11:54 Carey_ccl 阅读(14) 评论(0) 推荐(0)
摘要: Java远程方法调用,即JavaRMI(JavaRemote Method Invocation),是Java 编程语言里一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。远程方法调用特性使 Java 编程人员能够在网络环境中分布操作。RMI全部的宗旨就是 阅读全文
posted @ 2026-01-15 23:05 Carey_ccl 阅读(14) 评论(0) 推荐(0)
摘要: 阅读此篇博客之前,请先阅读上一篇博客的内容:Spring 源码解析12——整合SpringMVC(一) 1、DispatcherServlet 的逻辑处理 根据之前的示例,我们知道在HttpServlet.class中分别提供了相应的服务方法,它们是doDelete()、doGet()、doOpti 阅读全文
posted @ 2026-01-12 20:48 Carey_ccl 阅读(34) 评论(0) 推荐(0)
摘要: Spring 的 MVC是基于 Servlet功能实现的,通过实现 Servlet接口的 DispatcherServlet 来封装其核心功能实现,通过将请求分派给处理程序,同时带有可配置的处理程序映射、视图解析本地语言、主题解析以及上载文件支持。默认的处理程序是非常简单的Controller.in 阅读全文
posted @ 2026-01-12 09:05 Carey_ccl 阅读(11) 评论(0) 推荐(0)
摘要: MyBatis本是Apache的一个开源项目iBatis,2010年这个项目由Apache Software Foundation 迁移到了 Google Code,并且改名为 MyBatis。 MyBatis是支持普通 SQL查询、存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有 阅读全文
posted @ 2026-01-02 20:47 Carey_ccl 阅读(17) 评论(0) 推荐(0)
摘要: JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行 SQL语句的 Java API可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的 API,据此可以构建更高级的工具和接口,使数据库开 阅读全文
posted @ 2026-01-02 16:18 Carey_ccl 阅读(12) 评论(0) 推荐(0)
摘要: 1、创建AOP静态代理 AOP 的静态代理主要是在虚拟机启动时通过改变 目标对象字节码的方式来完成对目标对象的增强,它与动态代理相比具有更高的效率,因为在动态代理调用的过程中,还需要一个动态创建代理类并代理目标对象的步骤,而静态代理则是在启动时便完成了字节码增强,当系统再次调用目标类时与调用正常的类 阅读全文
posted @ 2026-01-01 21:07 Carey_ccl 阅读(14) 评论(0) 推荐(0)
摘要: 1、动态AOP自定义标签 如果声明了自定义的注解,那么就一定会在程序中的某个地方注册了对应的解析器。我们搜索整个代码,尝试找到注册的地方,全局搜索后发现了在AopNamespaceHandler.class 中对应着这样一段函数: public class AopNamespaceHandler e 阅读全文
posted @ 2025-12-28 23:46 Carey_ccl 阅读(19) 评论(0) 推荐(0)
摘要: 1、ApplicationContext.interface接口介绍 在前面博客中,我们一直BeanFactory.interface接口的实现类XmlBeanFactory.java,Spring中可以通过这个class实现加载配置文件的功能。但是,Spring中还提供了另一个接口Applicat 阅读全文
posted @ 2025-12-27 11:03 Carey_ccl 阅读(15) 评论(0) 推荐(0)
摘要: 8、创建Bean(接Spring源码解析5——bean的加载(一) 中标题6、创建ObjectFactory<?>.java类型的实例(准备创建Bean)的第④步) 当经历了AbstractAutowireCapableBeanFactory.java:createBean() 中的 Abstrac 阅读全文
posted @ 2025-12-26 12:32 Carey_ccl 阅读(21) 评论(0) 推荐(0)
摘要: 1、加载bean的概述 当Spring将Xml配置文件的解析后,生成了BeanDefinition.interface类型的各种配置实例,如:GenericBeanDefinition.java等。接下来,就要解析BeanDefinition.interface类型的各种配置,生成我们需要的实例。 阅读全文
posted @ 2025-12-26 12:31 Carey_ccl 阅读(16) 评论(0) 推荐(0)
摘要: 一、单周期MIPS CPU设计 1.1、控制器设计 1.2、MIPS指令格式 MIPS指令的类型只有3种,R型指令,I型指令,J型指令: 1.2.1、R型指令 ①、R型指令的OP段(最高的6个bit位)为全0; ②、OP段后面为3个寄存器Rs(原寄存器)、Rt(原寄存器)、Rd(目标寄存器),分别占 阅读全文
posted @ 2026-05-21 10:18 Carey_ccl 阅读(0) 评论(0) 推荐(0)
摘要: 一、微程序控制器 1.1、工作原理 1.2、单总线CPU的微指令构造 操作控制字段是微程序控制器将一组并发的信号封装成一组微指令,将整个单总线架构里面所有的控制点都在微指令中进行体现,微指令中的操作控制字段每1bit都对应1个控制信号,这个控制信号也称之为微命令,1个微命令会带来1个微操作(也就是执 阅读全文
posted @ 2026-05-21 10:07 Carey_ccl 阅读(2) 评论(0) 推荐(0)
摘要: 一、指令周期 1.1、指令执行一般流程 1.2、指令周期基本概念 T1、T2、T3、T4,都代表一个时钟周期(节拍脉冲或者震荡周期),是由震荡器按照固定的频率进行震荡产生的一系列方波,CPU中的主频也是根据一个时钟周期内,方波的多少来定义的。 1.3、定长指令周期和变长指令周期的控制同步 1.3.1 阅读全文
posted @ 2026-05-21 09:58 Carey_ccl 阅读(2) 评论(0) 推荐(0)
摘要: 一、CPU的组成与功能 1.1、CPU概述 CPU的主要功能就是通过运算器和控制器完成取指令和执行指令的功能 1.2、CPU基本组成 运算器(ALU)包括算数逻辑运算单元以及通用寄存器,通用寄存器用来暂存运算器所需要的操作数以及运算器运算的结果,MIPS中有32个通用寄存器可以使用,x86的寄存器有 阅读全文
posted @ 2026-05-21 09:45 Carey_ccl 阅读(2) 评论(0) 推荐(0)
摘要: ![image](https://img2024.cnblogs.com/blog/2485827/202605/2485827-20260521093607929-1871457757.png) ![image](https://img2024.cnblogs.com/blog/2485827/202605/2485827-20260521093633153-1975431788.png) ![ 阅读全文
posted @ 2026-05-21 09:37 Carey_ccl 阅读(1) 评论(0) 推荐(0)
摘要: 一、指令格式设计 二、MIPS指令概述 2.1、概述 2.2、MIPS指令格式概述 2.3、MIPS的寄存器 2.4、MIPS寻址方式 2.4.1、立即数寻址 2.4.2、寄存器直接寻址 2.4.3、基址寻址 2.4.4、相对寻址 2.4.5、伪直接寻址 三、MIPS指令详解 3.1、R型指令 R型 阅读全文
posted @ 2026-05-21 09:27 Carey_ccl 阅读(1) 评论(0) 推荐(0)
摘要: 一、指令系统概述及指令格式 1.1、指令的基本概念 1.2、指令的分类 1.2.1、根据计算机层次结构分类(4类) 1.2.2、根据指令中地址码字段的个数分类(4类) 1.2.3、根据指令中地址码字段的个数分类(3类) 1.2.4、根据指令的功能分类(4类) 1.3、指令格式 ①、操作码字段的位数与 阅读全文
posted @ 2026-05-21 09:14 Carey_ccl 阅读(0) 评论(0) 推荐(0)
摘要: 一、多体交叉存储器 其基本思想是在不提高存储器速率、不扩展数据通路位数的前提下,通过存储芯片的交叉组织,提高CPU单位时间内访问的数据量,从而缓解快速的CPU与慢速的主存之间的速度差异。 1.1、高位多体交又存储器的组织方式 1.2、低位多体交叉存储器的组织方式 1.3、低位多体交叉存储器的性能分析 阅读全文
posted @ 2026-05-21 08:57 Carey_ccl 阅读(33) 评论(0) 推荐(0)
摘要: 一、静态存储器(SRAM) 1.1、SRAM存储单元结构 1.2、SRAM存储单元工作原理 1.3、译码器的结构 在单译码器中,由若干个存储单元通过存储器的地址译码线来选通它的门控管,地址译码的输出线要同时连接到存储单元的X选通和Y选通,这样才能选中对应的存储单元,对于单译码结构而言,N位地址,译码 阅读全文
posted @ 2026-05-20 19:45 Carey_ccl 阅读(4) 评论(0) 推荐(0)
摘要: 一、基本存储体系 1.1、主存速度慢的原因 1.2、主存容量不足的原因 1.3、构建存储体系 1.4、存储体系层次化结构的理论基础是时间局部性和空间局部性 二、主存中的数据组织 2.1、存储字长与按边界存放的访问方式 ①、按边界对齐的数据存储(节省了访问次数,但是增加了存储空间,比如读取变量x时只需 阅读全文
posted @ 2026-05-20 19:38 Carey_ccl 阅读(6) 评论(0) 推荐(0)