摘要: NettyMVC 上面介绍 Netty 能做是什么时我们说过,相比于 SpringMVC 等框架,Netty 没提供路由等功能,这也契合和 Netty 的设计思路,它更贴近底层。下面我们在 Netty Http 的基础上加入路由和 IOC 等功能,来实现一个 MVC 框架。 NettyMVC 是一个 阅读全文
posted @ 2019-08-07 21:08 当年明月123 阅读(790) 评论(2) 推荐(1) 编辑
摘要: 带你全面了解高级 Java 面试中需要掌握的 JVM 知识点。 ——当年明月 @[toc] JVM 内存划分与内存溢出异常 概述 如果在大学里学过或者在工作中使用过 C 或者 C++ 的读者一定会发现这两门语言的内存管理机制与 Java 的不同。在使用 C 或者 C++ 编程时,程序员需要手动的去管 阅读全文
posted @ 2019-07-10 21:20 当年明月123 阅读(223) 评论(0) 推荐(0) 编辑
摘要: Google Protobuf 使用方式分析 对于 RPC 协议来说,最重要的就是对象的发送与接收,这就要用到序列化与反序列化,也称为编码和解码,序列化与反序列化和网络传输一般都在对应的 RPC 框架中完成。 序列化与反序列化的流程如下: JavaBean stub(client) skeleton 阅读全文
posted @ 2019-07-09 22:15 当年明月123 阅读(752) 评论(1) 推荐(0) 编辑
摘要: 注册中心代码使用 zookeeper 实现,我们通过图片来看看我们注册中心的架构。 首先说明, zookeeper 的实现思路和代码是参考架构探险这本书上的,另外在 github 和我前面配置文件中的 zookeeper 服务器是用的1个月免费适用的阿里云,大家也可以用它当测试用。 不多说,一次性给 阅读全文
posted @ 2019-07-04 11:01 当年明月123 阅读(669) 评论(0) 推荐(0) 编辑
摘要: 上一章节我们已经实现了从客户端往服务端发送数据并且通过反射方法调用服务端的实现类最后返回给客户端的底层协议。 这一章节我们来实现客户端代理类的注入。 承接上一章,我们实现了多个底层协议,procotol 有 netty,http,和 socket 三个实现类,每个实现类都有启动服务端和客户端发送数据 阅读全文
posted @ 2019-07-04 10:59 当年明月123 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 在写代码之前我们先要想清楚几个问题。 1. 我们的框架到底要实现什么功能? 我们要实现一个远程调用的 RPC 协议。 2. 最终实现效果是什么样的? 我们能像调用本地服务一样调用远程的服务。 3. 怎样实现上面的效果? 前面几章已经给大家说了,使用动态代理,在客户端生成接口代理类使用,在代理类的 i 阅读全文
posted @ 2019-07-04 10:57 当年明月123 阅读(494) 评论(0) 推荐(2) 编辑
摘要: 前言 上一篇文章中我们已经知道了什么是 RPC 框架和为什么要做一个 RPC 框架了,这一章我们来从宏观上分析,怎么来实现一个 RPC 框架,这个框架都有那些模块以及这些模块的作用。 总体设计 在我们的整个框架里比较重要的几个模块: rpc procotol: 既然是可插拔是框架,我们需要支持选择底 阅读全文
posted @ 2019-07-04 10:51 当年明月123 阅读(795) 评论(0) 推荐(0) 编辑
摘要: 目录: "带你手写基于 Spring 的可插拔式 RPC 框架(一)介绍" "带你手写基于 Spring 的可插拔式 RPC 框架(二)整体结构" "带你手写基于 Spring 的可插拔式 RPC 框架(三)通信协议模块" "带你手写基于 Spring 的可插拔式 RPC 框架(四)代理类的注入与服 阅读全文
posted @ 2019-07-04 10:51 当年明月123 阅读(1797) 评论(0) 推荐(0) 编辑
摘要: 精通并发与 Netty Netty 是一个异步的,事件驱动的网络通信框架,用于高性能的基于协议的客户端和服务端的开发。 异步指的是会立即返回,并不知道到底发送过去没有,成功没有,一般都会使用监听器来监听返回。 事件驱动是指开发者只需要关注事件对应的回调方法即可,比如 channel active,i 阅读全文
posted @ 2019-07-02 22:21 当年明月123 阅读(1445) 评论(0) 推荐(0) 编辑
摘要: 前几章我们已经分析了 Spring 的源码并且手动实现了一个 IOC/DI 容器。 这章我们在自己实现的 Spring 框架的基础上实现一个 SpringMVC 框架。 我们自己实现的 Spring 框架的快速入口: "Spring 框架" 里面的 MySpring 是我们 IOC/DI 框架的源码 阅读全文
posted @ 2019-06-16 17:43 当年明月123 阅读(418) 评论(0) 推荐(0) 编辑