摘要:Spring 注解驱动(二)Servlet 3.0 注解驱动在 Spring MVC 中的应用 __Spring 系列目录()__ 在 Servlet 3.0 时支持注解启动,不再需要 web.xml 配制文件。详见《Servlet 3.0 规范(二)注解规范》: 一、Servlet 3.0 与 S
阅读全文
摘要:Spring 注解驱动(一)基本使用规则 __Spring 系列目录()__ 一、基本使用 启动测试: 二、@ComponentScan 自定义的包扫描如下: 三、@Conditional 四、@Import 给容器中注册组件有以下方式: 1. @Bean 2. 包扫描(@ComponentScan
阅读全文
摘要:Spring Boot REST(二)源码分析 __Spring 系列目录()__ SpringBoot REST 系列相关的文章: 1. "SpringBoot REST(一)核心接口" 2. "SpringBoot REST(二)源码分析" 在上一篇文章中提到了 Spring Boot 中的 R
阅读全文
摘要:JDK 之 NIO 2 WatchService、WatchKey(监控文件变化) __JDK 规范目录()__ 一、WatchService、WatchKey 使用 具体详见: 二、原理 实现 WatchService 接口 具体的实现,启动 Poller 线程 线程,轮询指定的目录 __(1)
阅读全文
摘要:JDK 规范目录 "1.1 Java 异常处理" "2.1 JDK 之 NIO 2 WatchService、WatchKey(监控文件变化)" https://www.cnblogs.com/skywang12345/p/io_01.html refrect "unsafe类和反射获取对象字段值速
阅读全文
摘要:Spring() 系列目录 第一章 Spring Core __(1) Convert__ "1.1.1 Spring ConversionService 类型转换(一) Convert" "1.1.2 Spring ConversionService 类型转换(二) ConversionServi
阅读全文
摘要:Netty 源码 ChannelHandler(四)编解码技术 __Netty 系列目录()__ 一、拆包与粘包问题 由于 TCP 是面向字节流的,什么意思呢:虽然应用程序和 TCP 的交互是一次一个数据块(大小不等),但 TCP 把应用程序交下来的数据仅仅看成式一连串的无结构的字节流。TCP 并不
阅读全文
摘要:Netty 源码 ChannelHandler(三)概述 __Netty 系列目录()__ 一、ChannelInboundHandler 和 ChannelOutboundHandler Netty 中的事件分为 Inbound 事件和 Outbound 事件。 Inbound 事件通常由 IO
阅读全文
摘要:Netty 源码 Channel(二)核心类 [toc] __Netty 系列目录()__ 相关文章: "4.1 Netty 源码 Channel(一)概述" "4.2 Netty 源码 Channel(二)核心类" 1. Channel 类图 2. AbstractChannel 2.1 几个重要
阅读全文
摘要:Netty 源码 Channel(二)主要类 __Netty 系列目录()__ 一、Channel 类图 二、AbstractChannel 2.1 几个重要属性 2.2 核心 API read、write、connect、bind 都委托给了 pipeline 处理。 三、AbstractNioC
阅读全文
摘要:Netty 源码 Channel(一)概述 [toc] __Netty 系列目录()__ 相关文章: "Netty 源码 Channel(一)概述" "Netty 源码 Channel(二)核心类" Channel 为 Netty 网络操作抽象类,EventLoop 主要是为 Channel 处理
阅读全文
摘要:Netty 源码 NioEventLoop(三)执行流程 [toc] __Netty 系列目录()__ 相关文章: "Netty 源码 NioEventLoop(一)初始化" "Netty 源码 NioEventLoop(二)Channel 注册" "Netty 源码 NioEventLoop(三)
阅读全文
摘要:Netty 组件简介 [toc] __Netty 系列目录()__ 1. "Netty" 架构 Core:核心部分,是底层的⽹网络通⽤用抽象和部分实现。 Extensible Event Model :可拓拓展的事件模型。Netty 是基于事件模型的⽹网络应⽤用框架。 Universal Commu
阅读全文
摘要:Netty 源码(二)NioEventLoop 之 Channel 注册 [toc] __Netty 系列目录()__ 相关文章: "Netty 源码 NioEventLoop(一)初始化" "Netty 源码 NioEventLoop(二)Channel 注册" "Netty 源码 NioEven
阅读全文
摘要:Java 算法(一)贪心算法 __数据结构与算法目录()__ 一、贪心算法 什么是贪心算法?是指在对问题进行求解时,总是做出当前看来是最好的选择。也就是说,不从整体最优上加以考虑,所得出的结果仅仅是某种意义上的局部最优解。 __因此贪心算法不会对所有问题都能得到整体最优解,但对于很多问题能产生整体最
阅读全文
摘要:Netty Reator(三)Reactor 模型 [toc] __Netty 系列目录 ()__ 相关文章: "Netty Reator(一)基本的并发编程模型" "Netty Reator(二)Scalable IO in Java" "Netty Reator(三)Reactor 模型" 本文
阅读全文
摘要:Netty Reator(二)Scalable IO in Java [toc] __Netty 系列目录 ()__ 相关文章: "Netty Reator(一)基本的并发编程模型" "Netty Reator(二)Scalable IO in Java" "Netty Reator(三)React
阅读全文
摘要:Reactor 模型(一)基本并发编程模型 [toc] __Netty 系列目录 ()__ 相关文章: "Netty Reator(一)基本的并发编程模型" "Netty Reator(二)Scalable IO in Java" "Netty Reator(三)Reactor 模型" 在讲解 Re
阅读全文
摘要:Netty 零拷贝(三)Netty 对零拷贝的改进 [toc] __Netty 之美系列目录 ()__ 相关文章: "Netty 零拷贝(一)Linux 零拷贝" "Netty 零拷贝(二)NIO 对零拷贝的支持" "Netty 零拷贝(三)Netty 对零拷贝的改进" Netty 的“零拷贝”主要
阅读全文
摘要:Netty 之美目录 相关资源: 网络编程原理目录: Netty 之美目录: 本文是极客时间 "《Netty源码剖析与实战》" 的学习笔记,感兴趣的可以订阅正版。 1. [Netty 初识] [1.0 Netty 怎么学] [1.1 Netty 面试题精选] 2. [Netty 源码:领域知识(必备
阅读全文
摘要:Java数据结构 散列表原理 [toc] __数据结构与算法目录()__ 散列表(Hash table) 也叫哈希表,借助散列函数对数组进行扩展,利用的是数组支持按照下标随机访问元素的特性。散列表两个核心问题是散列函数和散列冲突。散列函数有 MD5、SHA、CRC 等哈希算法。散列冲突开放寻址法和链
阅读全文
摘要:Java数据结构和算法(七)B+ 树 __数据结构与算法目录()__ 我们都知道二叉查找树的查找的时间复杂度是 O(logN),其查找效率已经足够高了,那为什么还有 B 树和 B+ 树的出现呢?难道它两的时间复杂度比二叉查找树还小吗?答案当然不是, B 树和 B+ 树的出现是因为另外一个问题,那就是
阅读全文
摘要:Java 数据结构 堆和堆排序:为什么快排比堆排序性能好 [toc] __数据结构与算法目录()__ 关于二叉树这种数据结构在实现软件工程中的应用,前面我们已经介绍了红黑树,下面我们再介绍另一种常见的二叉树 堆。 红黑树:基于平衡二叉查找树的动态数据结构,用于快速插入和查找数据,其时间复杂度都是 O
阅读全文
摘要:Java 数据结构 红黑树:为什么工程中使用的平衡二叉查找树都是红黑树? [toc] __数据结构与算法目录()__ 1. 平衡二叉查找树 平衡二叉树:二叉树中任意一个节点的左右子树的高度相差不能大于 1。 从这个定义来看,完全二叉树、满二叉树其实都是平衡二叉树。常用的平衡二叉查找树的实现有两种:
阅读全文
摘要:Java数据结构和算法(一)线性结构之单链表 单链表的结构如上:最后一个节点的 next=null。下面看一下代码。 __(1) 链表的基本操作__ __(2) 取出中间节点__ 偶数节点取中间两个节点的前一个节点,奇数节点取正中间的节点 __(3) 链表反转__ 测试一把: __(4) 有序链表的
阅读全文
摘要:Java数据结构和算法(一)线性结构 __数据结构与算法目录()__ __线性表__ 是一种逻辑结构,相同数据类型的 n 个数据元素的有限序列,除第一个元素外,每个元素有且仅有个直接前驱,除最后一个元素外,每个元素有且仅有一个直接后继。 一、基本概念 __线性表具有以下特点:__ 元素个数有限 逻辑
阅读全文
摘要:数据结构与算法之美 学习资源推荐 《数据结构与算法分析:Java语言描述》 LeetCode: 数据结构可视化网站: 数据结构可视化网站: 1. [Java数据结构和算法 概述篇] "1.1 Java 数据结构和算法 复杂度分析" [1.2 Java 数据结构和算法 数据结构总结] [1.3 Jav
阅读全文
摘要:Java 数据结构 二叉树概念:什么样的二叉树可以使用数组存储 [toc] 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 前面讲到的链表、栈和队列都是一对一的线性结构,这节讲一对多的线性结构 树。「一对多」就是指一个元素只能
阅读全文
摘要:数据结构与算法之美 学习资源推荐 《数据结构与算法分析:Java语言描述》 LeetCode: 数据结构可视化网站: 数据结构可视化网站: 1. [Java数据结构和算法 概述篇] "1.1 Java 数据结构和算法 复杂度分析" [1.2 Java 数据结构和算法 数据结构总结] [1.3 Jav
阅读全文
摘要:Java数据结构和算法(三)顺序存储的树结构 二叉树也可以用数组存储,可以和完全二叉树的节点一一对应。 一、树的遍历 每天用心记录一点点。内容也许不重要,但习惯很重要!
阅读全文
摘要:Java 数据结构 二叉查找树:有了高效的哈希表,为什么还需要二叉树 [toc] __数据结构与算法之美目录()__ 在学习二叉查找树之前,我们先看一下,目前已经接触的几种高效的数据结构的时间复杂度: 有序数组:查找的时间复杂度为 O(logn),但如果数据发生变化,查找前就需要重新排序,时间复杂度
阅读全文
摘要:Java数据结构和算法(一)树 前面讲到的链表、栈和队列都是一对一的线性结构,这节讲一对多的线性结构 树。「一对多」就是指一个元素只能有一个前驱,但可以有多个后继。 一、树的基本概念 __度(Degree)__ :节点拥有的子树数。树的度是树中各个节点度的最大值。 __节点__ :度为 0 的节点称
阅读全文
摘要:数据结构和算法(一)复杂度分析 __数据结构与算法目录()__ [toc] 数据结构和算法本身解决的是 "快" 和 "省" 的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用:时间复杂度和空间复杂度
阅读全文
摘要:并发编程(五)LockSupport LockSupport 提供 park() 和 unpark() 方法实现阻塞线程和解除线程阻塞,实现的阻塞和解除阻塞是基于“许可(permit)”作为关联,permit 相当于一个信号量(0,1),默认是0。 线程之间不再需要一个 Object 或者其它变量来
阅读全文
摘要:UnSafe 本文是 sun.misc.Unsafe 公共 API 的简要概述,及其一些有趣的用法。即使 Unsafe 对应用程序很有用,但(建议)不要使用它。 一、创建 Unsafe 实例 Unsafe 的构造器是私有的。它也有一个静态的 getUnsafe() 方法,但如果你直接调用 Unsaf
阅读全文
摘要:并发编程(四)TaskFuture ExecutorService 异步执行任务返回一个 Future,本节重点分析 Future 的 get 方法是如何拿到返回结果的呢? 下面我们重点分析 FutureTask 类 一、基本变量 __(1) 核心成员变量__ __(2) 状态变化__ 任务执行正常
阅读全文
摘要:Netty 源码 NioEventLoop(一)初始化与启动 [toc] __Netty 系列目录()__ 相关文章: "Netty 源码 NioEventLoop(一)初始化" "Netty 源码 NioEventLoop(二)Channel 注册" "Netty 源码 NioEventLoop(
阅读全文
摘要:Netty 零拷贝(二)NIO 对零拷贝的支持 [toc] __Netty 之美系列目录 ()__ 相关文章: "Netty 零拷贝(一)Linux 零拷贝" "Netty 零拷贝(二)NIO 对零拷贝的支持" "Netty 零拷贝(三)Netty 对零拷贝的改进" 非直接缓冲区(HeapByteB
阅读全文
摘要:Netty 零拷贝(一)Linux 零拷贝 [toc] __Netty 之美系列目录 ()__ 相关文章: "Netty 零拷贝(一)Linux 零拷贝" "Netty 零拷贝(二)NIO 对零拷贝的支持" "Netty 零拷贝(三)Netty 对零拷贝的改进" 本文探讨 Linux 中主要的几种零
阅读全文