摘要: JDK 动态代理的实现 虽然在常用的 Java 框架(Spring、MyBaits 等)中,经常见到 JDK 动态代理的使用,也知道了怎么去写一个 JDK 动态代理的 Demo,但是并不清楚实现原理。 之前略微知道是先生成一个代理对象,然后外部调用代理对象的接口方法,接着代理又会调用原始对象的方法, 阅读全文
posted @ 2019-10-30 00:54 关小曦 阅读(239) 评论(0) 推荐(0) 编辑
摘要: MyBatis 中 Mapper 接口的使用原理 MyBatis 3 推荐使用 Mapper 接口的方式来执行 xml 配置中的 SQL,用起来很方便,也很灵活。在方便之余,想了解一下这是如何实现的,之前也大致知道是通过 JDK 的动态代理做到的,但这次想知道细节。 东西越多就越复杂,所以就以一个简 阅读全文
posted @ 2019-10-29 01:13 关小曦 阅读(3151) 评论(1) 推荐(0) 编辑
摘要: JWT(Json Web Token) 的理解 格式 1. : JWT 元数据, Json 对象, 编码 表示 使用的算法, 表示令牌类型, JWT 统一写为 2. : 有效载荷, 包含令牌实际要传输的内容, Json 对象, JWT 规定了 7 个官方字段 可供选择 (非必选), 编码 1. is 阅读全文
posted @ 2019-10-19 10:50 关小曦 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 正题开始之前, 如果对 Homebrew 不太了解, 这里有一篇很好的介绍文章: [macOS 包管理工具 Homebrew 不完全指南][] 花个几分钟读一下, 绝对超值! 正题 Homebrew 通过 Git 来工作的, 默认的源是 Github. 因为众所周知的原因, 超级慢! 通过 可以查看 阅读全文
posted @ 2019-10-13 00:54 关小曦 阅读(3038) 评论(0) 推荐(1) 编辑
摘要: JNA 是基于 JNI(Java Native Interface) 技术的开源工具,能够实现 单方向 的 Java 调用本地方法(通常是 C/C++ 编写的动态链接库中的函数),在 Windows 中是 .dll 文件,Linux 下是 .so 文件。类似于 JNA 这种跨语言调用的工具还有 JN 阅读全文
posted @ 2019-06-12 14:02 关小曦 阅读(2009) 评论(0) 推荐(0) 编辑
摘要: 本文主要分析服务端新连接的接入过程,主要分为以下 2 个各步骤: 1. select 操作 在分析 select 操作前,先要回顾一下 NioEventLoop 的 run()方法及其父类 SingleThreadEventExecutor 的 execute(Runnable task)方法。 这 阅读全文
posted @ 2019-02-14 21:09 关小曦 阅读(599) 评论(0) 推荐(0) 编辑
摘要: 在 Netty 中创建 1 个 NioServerSocketChannel 在指定的端口监听客户端连接,这个过程主要有以下 个步骤: 首先列出一个简易服务端的启动代码: 下面就从 ServerBootstrap 的 bind(int port)方法开始分析服务端的 NioServerSocketC 阅读全文
posted @ 2019-01-23 22:11 关小曦 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 本文是基于 Netty 4.1.6.Final 的源码来分析的。 在分析源码之前做一些准备工作: 先熟悉一下 IDEA 的几个快捷键,能极大的提高我们查看源码的效率: 1. 创建过程 2. 代码 这两行代码创建的 EventLoopGroup 分别用来处理新连接的接入和已接入连接的事件处理。 3. 阅读全文
posted @ 2019-01-05 22:26 关小曦 阅读(1243) 评论(0) 推荐(0) 编辑
摘要: Netty 的学习内容主要是围绕 TCP 和 Java NIO 这两个点展开的,由于 Netty 是基于 Java NIO 的 API 之上构建的网络通讯框架,Java NIO 中的几个组件,都能在 Netty 中找到对应的封装。下面我们就来一一熟悉 Netty 中的基本组件。 一、基本组件 Net 阅读全文
posted @ 2019-01-03 22:41 关小曦 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 本文主要记录 Java 中 NIO 相关的基础知识点,以及基本的使用方式。 一、回顾传统的 I/O 刚接触 Java 中的 I/O 时,使用的传统的 BIO 的 API。由于 BIO 设计的类实在太多,至今我仍然不能信手拈来的写出完整的 BIO 的代码。不过它基本的特点和分类,我还是记得一二的。 一 阅读全文
posted @ 2018-11-14 21:06 关小曦 阅读(262) 评论(0) 推荐(0) 编辑