Netty 介绍和应用场景
1.1 本课程学习要求 本课程不适用于 0 基础的学员。 要求已经掌握了 Java 编程,主要技术构成:Java OOP 编程、Java 多线程编程、Java IO 编程、Java 网络编程、常用的 Java 设计模式(比如观察者模式,命令模式,职责链模式)、常用的数据结构(比如链表)。 本课程的《Netty 核心源码剖析章节》要求学员最好有项目开发和阅读源码的经历。 1...
1.1 本课程学习要求 本课程不适用于 0 基础的学员。 要求已经掌握了 Java 编程,主要技术构成:Java OOP 编程、Java 多线程编程、Java IO 编程、Java 网络编程、常用的 Java 设计模式(比如观察者模式,命令模式,职责链模式)、常用的数据结构(比如链表)。 本课程的《Netty 核心源码剖析章节》要求学员最好有项目开发和阅读源码的经历。 1...
git init #在当前目录新建一个 Git 代码库 git clone [url] # 下载一个项目和它的整个代码历史 git config --list # 显示当前的 Git 配置 git config -e [--global] # 编辑 Git 配置文件 git add # 添加指定文件到暂存区 git add -u # 只添加modified的文件到暂存区 g...
// Merge sort public int[] mergeSort(int[] array) { if (array == null || array.length <= 1) { return array; } return divide(array, 0, array.length - 1); } public int[] divid...
Max Depth of Binary Tree Leetcode https://leetcode.cn/problems/maximum-depth-of-binary-tree/ 题目描述 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root = [3,9,20,null,null,1...
最近公共祖先(Lowest Common Ancestor,简称 LCA)。 git pull 这个命令我们经常会用,它默认是使用 merge 方式将远端别人的修改拉到本地;如果带上参数 git pull -r,就会使用 rebase 的方式将远端修改拉到本地。 这二者最直观的区别就是:merge 方式合并的分支会看到很多「分叉」,而 rebase 方式合并的分支就是一条直线。但无论哪种...
Balanced Binary Tree Leetcode https://leetcode.cn/problems/balanced-binary-tree/ 题目描述 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root = [3, 9, 20, nu...
Preorder Traverse Leetcode https://leetcode.cn/problems/binary-tree-preorder-traversal/ 题目描述 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root = [1, null, 2, 3] 输出:[1, 2, 3] 示例 2: 输入:root = [] ...
LeetCode https://leetcode.cn/problems/search-in-rotated-sorted-array/ 题目描述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …...
First Bad Version Leetcode https://leetcode.cn/problems/first-bad-version/ 题目描述 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, …, n],你想找...