
read books
文章平均质量分 96
原理
scl、
回首往昔 更进一步 ---工作1年的快乐风男♂
展开
-
《深入理解RPC框架原理与实现 华钟明》使用Netty、Zookeeper等实现一个简单的RPC框架、自定义注解、SPI机制实践与原理分析
深入理解RPC框架原理与实现 华钟明》读书笔记接下来就是实践练习环节,结合书中最简易的实现的RPC的源码和一些开源的源码,来自己一步一步手敲出一个自己升级版的RPC…通过实践,可以对Netty、Zookeeper等中间件、自定义注解、SPI机制、常见的序列化协议以及网络编程有一定的理解…一个RPC框架需要具备远程通信方式、通信协议、序列化方式等组件,需要动态代理实现本地存根等。原创 2022-09-16 10:39:34 · 1326 阅读 · 0 评论 -
《深入理解RPC框架原理与实现 华钟明》读书笔记
这本书更像是全面系统的讲解RPC,内容可以连贯起来,从计算机处理器发展到RPC的诞生,后面讲几种常见的RPC组件、通信协议、序列化协议,虽然内容不是很深入,但是对于小白较易理解,便于建立起框架知识,如从Socket到Java NIO 再到 Netty 、RPC等框架来讲解。挺不错的。算对得起100大洋。下面主要记录一下点,虽然偏理论,点到线到面才能形成自己的思维。主要讲RPC出现是为了解决什么问题,以及RPC的定义概念,概括一个RPC远程调用过程需要经历哪几个阶段?为什么调用本地接口就能实现调用远程的方法?原创 2022-07-14 16:44:55 · 2117 阅读 · 0 评论 -
《Spring源码深度解析 郝佳 第2版》AOP
往期博客《Spring源码深度解析 郝佳 第2版》容器的基本实现与XML文件的加载《Spring源码深度解析 郝佳 第2版》XML标签的解析《Spring源码深度解析 郝佳 第2版》bean的加载、循环依赖的解决《Spring源码深度解析 郝佳 第2版》ApplicationContextAOP面向切面编程,不同于OOP,他可以为不具有继承关系的对象引入一个公共行为如日志,安全监测等。Spring早期的AOP定义切面很麻烦,Spring 2.0 之后已经可以使用@AspectJ定义一个切面,包含原创 2022-03-29 22:05:19 · 1541 阅读 · 0 评论 -
《Spring源码深度解析 郝佳 第2版》SpringBoot体系分析、Starter的原理
往期博客《Spring源码深度解析 郝佳 第2版》容器的基本实现与XML文件的加载《Spring源码深度解析 郝佳 第2版》XML标签的解析《Spring源码深度解析 郝佳 第2版》bean的加载、循环依赖的解决《Spring源码深度解析 郝佳 第2版》ApplicationContext《Spring源码深度解析 郝佳 第2版》AOP《Spring源码深度解析 郝佳 第2版》JDBC、MyBatis原理目录...原创 2022-04-14 11:32:37 · 949 阅读 · 0 评论 -
《Spring源码深度解析 郝佳 第2版》事务
往期博客《Spring源码深度解析 郝佳 第2版》容器的基本实现与XML文件的加载《Spring源码深度解析 郝佳 第2版》XML标签的解析《Spring源码深度解析 郝佳 第2版》bean的加载、循环依赖的解决《Spring源码深度解析 郝佳 第2版》ApplicationContext《Spring源码深度解析 郝佳 第2版》AOP《Spring源码深度解析 郝佳 第2版》JDBC、MyBatis原理目录Spring声明式事务让我们从复杂的事务处理中得到解脱,使我们不在关注获取连接,原创 2022-04-02 22:04:55 · 1169 阅读 · 0 评论 -
《Spring源码深度解析 郝佳 第2版》JDBC、MyBatis原理
往期博客《Spring源码深度解析 郝佳 第2版》容器的基本实现与XML文件的加载《Spring源码深度解析 郝佳 第2版》XML标签的解析《Spring源码深度解析 郝佳 第2版》bean的加载、循环依赖的解决《Spring源码深度解析 郝佳 第2版》ApplicationContext《Spring源码深度解析 郝佳 第2版》AOP目录JDBCupdate方法实现原理execute方法真正执行逻辑// 获取connection对象根据connection使用PreparedS原创 2022-03-31 13:05:21 · 2256 阅读 · 0 评论 -
《Spring源码深度解析 郝佳 第2版》ApplicationContext
往期博客:《Spring源码深度解析 郝佳 第2版》容器的基本实现与XML文件的加载《Spring源码深度解析 郝佳 第2版》XML标签的解析《Spring源码深度解析 郝佳 第2版》bean的加载、循环依赖的解决往期博客分析了BeanFactory接口以及他的默认实现类XmlBeanFactoryBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("beanFactory.xml"));接下来分析另外一个高级拓原创 2022-03-27 17:27:23 · 1934 阅读 · 0 评论 -
《Spring源码深度解析 郝佳 第2版》bean的加载、循环依赖的解决
目录往期博客:《Spring源码深度解析 郝佳 第2版》容器的基本实现与XML文件的加载《Spring源码深度解析 郝佳 第2版》XML标签的解析往期博客完成了xml文件加载和内容解析,将BeanDefinition相关信息保存在容器中,接着就是bean的加载 BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("beanFactory.xml")); // 就是对下面语句的分析,手动getBean流程 //注意原创 2022-03-01 21:31:49 · 757 阅读 · 0 评论 -
《Spring源码深度解析 郝佳 第2版》XML标签的解析
目录往期博客《Spring源码深度解析 郝佳 第2版》容器的基本实现与XML文件的加载分析了xml文件的加载,接下来就是标签的解析,入口函数有两个默认标签的解析自定义标签的解析一、默认标签的解析1、DefaultBeanDefinitionDocumentReader#parseDefaultElement方法private void parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate) { /原创 2022-03-01 13:20:31 · 656 阅读 · 2 评论 -
《Spring源码深度解析 郝佳 第2版》容器的基本实现与XML文件的加载
目录Spring的整体架构容器的基本实现一、Spring的整体架构Spring是一个分层架构,主要包含以下部分Core ContainerData AccessWebAopTest1、Core Container核心容器,包含Core、Beans、Context和Expression Language(EL表达式)模块。Core和Beans是基础部分,提供IoC(控制反转)和DI(依赖注入),提供对工厂模式的经典实现来消除对程序单例模式的需求,并通过xml的配置和代码解耦C原创 2022-02-28 22:24:43 · 986 阅读 · 0 评论 -
《深入理解Java虚拟机第3版》类文件结构、虚拟机类加载机制
目录类文件结构Class文件的结构魔数与Class文件的版本常量池访问标志类索引、福索引与接口索引集合字段表集合方法表集合属性表集合Code属性Exceotions属性LineNumberTable属性LocalVariableTable及LocalVariableTypeTable属性SourceFile属性ConstantValue属性InnerClass属性…虚拟机类加载机制概述类加载的时机类加载的过程类加载器类与类加载器双亲委派原创 2021-09-25 21:09:07 · 263 阅读 · 2 评论 -
《深入理解Java虚拟机第3版》垃圾收集器与内存分配策略、虚拟机性能监控故障处理工具
目录为什么要了解垃圾收集和内存分配?如何判断对象已死?引用计数算法可达性分析算法JDK1.2之后引用的扩充回收方法区垃圾收集算法分代收集理论标记清除标记复制标记整理1、为什么需要了解垃圾收集和内存分配?当需要排查各种内存溢出、内存泄露问题时,当垃圾收集成为系统达到高并发量的瓶颈时,我们必须对这些“自动化”的技术实施必要的监控和调节。2、如何判断对象已死?2.1、引用计数法在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1,当有一个地方取消原创 2021-09-09 10:21:04 · 3441 阅读 · 0 评论 -
《深入理解Java虚拟机第3版》Java内存模型与线程、线程安全与锁优化
目录一、Java内存模型与线程二、线程安全与锁优化一、Java内存模型与线程1、概述对于计算量相同的任务,程序线程并发协调的越有条不紊,小笼包自然就越高,反之,线程之间频繁征用数据,互相阻塞甚至死锁,将会大大降低程序的并发能力现代计算机基本都是内存-缓存-主存三层结构,将运算的数据放到缓存中提高运算速度,结束之后从缓存同步到主存,这样处理器就无须等待缓慢的内存读写了,但是缓存引入的问题就是缓存一致性问题,多路处理器系统中,每个都处理器都对应自己的缓存,当同时对主存中数据运算时,将可能导致自原创 2021-10-09 22:54:48 · 338 阅读 · 0 评论 -
《Java多线程编程核心技术第二版》读书笔记
一、总结这本书写的很浅,更多的是案例,ThreadLocal部分还可以,原理基本讲到了大致总结了下面部分知识点二、内容在什么情况下使用多线程?阻塞依赖,如业务分为两个执行过程,当A业务阻塞的时候,B业务的执行不依赖A业务的执行结果start()方法耗时的原因是因为执行了多个步骤通过JVM告诉操作系统创建Thread通过系统开辟内存并使用WindowsSDK中的createThread()函数创建Thread对象操作系统对Thread对象进行调度,以确定执行时机Thread在操作系原创 2021-11-19 22:26:37 · 648 阅读 · 0 评论 -
《Java并发编程的艺术》读书笔记
一、总结二、内容1、并发编程的挑战上下文切换即使是单核处理器也支持多线程处理代码,因为cpu会给每个线程分配时间片,不停的切换线程,让我们感觉线程是在同时执行的在线程切换的前,需要保留上一个线程任务的状态,以便下一次重新切换回这个任务,所以任务从保存到在加载的过程就是依次上下文切换如何避免上下文切换无锁编程:多线程竞争锁的时候,会上下文切换,因此可以使用采用避免锁的方法进行多线程处理数据,如将数据的ID经过hash之后分段,不同的线程处理不同分段的数据CAS算法:非阻塞自旋Compar原创 2021-11-23 22:12:41 · 4016 阅读 · 0 评论 -
《看透SpringMVC源代码分析与实践》SpringMVC组件详解
目录一、HandlerMapping二、HandlerAdapter三、ViewResolver四、RequestToViewTranslator五、HandlerExceptionResolver六、MultipartResolver一、HandlerMapping1.继承体系可以看到HandlerMapping家族的成员可以分为两支,其下第一个抽象类为AbstractHandlerMapping一支继承AbstractUrlHandlerMapping一支继承AbstractH原创 2021-10-08 22:30:32 · 360 阅读 · 0 评论 -
《看透SpringMVC源代码分析与实践》网站基础知识、俯视SpringMVC请求处理流程、SpringMVC组件概述
目录Java中Socket的用法详解ServletTomcat的分析一、Java中Socket的用法二、 详解Servlet三、 Tomcat的分析原创 2021-09-30 18:20:31 · 379 阅读 · 0 评论