- 博客(10)
- 收藏
- 关注
原创 Netty原理与源码分析(5) - 请求处理流程
我们了解到Netty本身是基于JDK的NIO进行优化和改进一个框架,其实Netty本身还是基于JDK的NIO实现,所以我们再次把JDK的NIO的流程拉出来看一看。从上图可以看到,要启动NIO,那么就需要创建Selector,同样Netty要启动,同样也需要创建Selector。那么我们可以采用调试跟踪的方式来分析源码。
2025-01-07 02:30:00
744
原创 Netty原理与源码分析(4) - Netty源码解读之底层原理
假设客户端分别发送了两个数据包ABC和DEF给服务端,由于服务端一次读取到的字节数是不确定的,故可能存在以下4种情况1、服务端分两次读取到了两个独立的数据包,分别是ABC和DDEF,没有粘包和拆包;2、服务端一次接收到了两个数据包,ABC和DEF粘合在一起,被称为TCP粘包;3、服务端分两次读取到了两个数据包,第一次读取到了完整的ABC包和DEF包的部分内容(ABCD),第二次读取到了DEF包的剩余内容(EF),这被称为TCP拆包。
2025-01-06 23:00:00
1867
原创 Netty原理与源码分析(3) - Netty入门
Netty 由 Trustin Lee(韩国,Line 公司)2004 年开发本质:网络应用程序框架实现:异步、事件驱动特性:高性能、可维护、快速开发用途:开发服务器和客户端Netty的性能很高,按照Facebook公司开发小组的测试表明,Netty最高能达到接近百万的吞吐。
2025-01-06 01:30:00
1241
原创 Netty原理与源码分析(2) - NIO网络编程
SelectionKey是一个抽象类,表示selectableChannel在Selector中注册的标识.每个Channel向Selector注册时,都将会创建一个SelectionKey。SelectionKey将Channel与Selector建立了关系,并维护了channel事件。可以通过cancel方法取消键,取消的键不会立即从selector中移除,而是添加到cancelledKeys中,在下一次select操作时移除它.所以在调用某个key时,需要使用isValid进行校验.
2025-01-05 23:30:00
1542
原创 Netty原理与源码分析(1)- Java网络编程
RPC(Remote Procedure Call ——远程过程调用),它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络的技术。一次完整的RPC同步调用流程:1)服务消费方(client)以本地调用方式调用客户端存根;2)什么叫客户端存根?就是远程方法在本地的模拟对象,一样的也有方法名,也有方法参数,client stub接收到调用后负责将方法名、方法的参数等包装,并将包装后的信息通过网络发送到服务端;3)服务端收到消息后,交给代理存根在服务器的部分后进行解码为实际的方法名和参数。
2025-01-05 19:19:48
679
原创 【Spring编程思想】五、Spring IoC 依赖来源
Spring IoC 依赖来源本章节参考模块:dependency-source一、依赖查找的来源查找来源来源配置源数据Spring BeanDefinition@Bean public User user(){}BeanDefinitionBuilder单例来源Api实现Spring 内建BeanDefinitionBean名称Bean实例使用场景org.springframework.context.anno
2020-12-16 10:03:55
141
原创 【Spring编程思想】四、Spring Ioc 依赖注入
Spring IoC 依赖注入本章节代码演示: 在dependency-injection模块一、依赖注入的模型和类型手动模式 - 配置或者编程的方式,提前安排注入规则XML资源配置元信息Java注解配置元信息Java API配置元信息自动模式 -实现方提供依赖自动关联的方式,按照内建的注入规则Autowiring(自动绑定 )依赖注入类型依赖注入类型配置元数据举例Setter方法构造器字段@Autowired User us
2020-12-16 10:03:24
88
原创 【Spring编程思想】三、Spring IoC 依赖注入
Spring IoC 依赖注入一、依赖注入的模型和类型手动模式 - 配置或者编程的方式,提前安排注入规则XML资源配置元信息Java注解配置元信息Java API配置元信息自动模式 -实现方提供依赖自动关联的方式,按照内建的注入规则Autowiring(自动绑定 )依赖注入类型依赖注入类型配置元数据举例Setter方法构造器字段@Autowired User user;方法@Autowired public void use
2020-12-16 10:01:46
104
原创 【Spring编程思想】二、Spring Bean 基础
Spring 基础本节代码示例:spring-bean一、定义Spring Bean什么是BeanDefinition? BeanDefinition是Spring Framework中定义Bean的配置元信息接口。包含: Bean 的 类名 Bean 行为配置、如作用域、自动绑定的模式,生命周期回调等 其他Bean引用,又可称合作者(collaborators) 或者依赖 (dependencies) 配置设置。 如:Bean属性(Properties)
2020-12-02 09:46:08
111
原创 【Spring编程思想】一、Spring IoC容器概述
Spring IoC容器概述本节示例代码:think-in-spring/ioc-container-overview根据<<小马哥讲Spring编程思想>>,学习笔记总结一、Spring IoC依赖查找 根据名称查找 实时查找 延时查找 FactoryBean 根据类型查找 单个类型查找 集合类型查找 根据注解方式查找 二、 Spring IoC依赖注入 根据Bean名称注入 .
2020-12-02 09:41:56
152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人