- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 4.10 NIO中零拷贝原理
4.10 零拷贝 零拷贝即Zero-Copy,顾名思义,零拷贝是指的一种非拷贝的方式来减少IO次数的工作方式。零拷贝的作用就是减少IO,提高IO效率。4.10.1 传统IO方式 传统IO的工作方式需要经历多次文件拷贝,还需要程序在操作系统模式和用户模式之间来回切换,这样来回一圈后才来完成一次文件修改,这样极大浪费了内存,效率偏低,所以在
2021-03-20 13:00:12 296 2
原创 4.9 文件描述符FileDescriptor
4.9 FileDescriptor Instances of the file descriptor class serve as an opaque handle to the underlying machine-specific structure representing an open file, an open socket, or another source or sink of bytes.The
2021-03-20 12:17:32 342
原创 求树的最大深度,求树的最小深度
树的深度 树的深度描述的树从根到当前节点的层级信息。求树的最大深度 解法:遍历所有的层级信息,找最大的。public static int maxDepth(TreeNode root){ if (root==null){ return 0; } return 1+Math.max(maxDept
2021-03-17 21:35:26 346
原创 LeetCode102. 二叉树的层序遍历
题目描述 按照层次遍历树(即BFS),相同层级作为一个List放在一起放入作为结果的List。解题思路 即BFS,按照广度优先去遍历树,关于树的BFS和DFS在笔者相关文章中有详述。代码实现public List<List<Integer>> levelOrder(TreeNode root) { Q
2021-03-17 00:01:29 1714
原创 树的广度优先遍历
树的广度遍历 广度优先遍历又称宽度优先遍历,缩写为BFS,和深度优先遍历DFS不同的是深度优先是指的同一个树先将某节点所有子节点遍历完后再遍历其兄弟节点。而BFS是先把同一层级的节点遍历完后再遍历下一级的子节点。BFS 即同一层级遍历完然后到下一层级。DFS &nb
2021-03-16 23:53:50 3823 5
原创 基于ElasticSearch的站内全文搜索实现
摘要 对于一家公司而言,数据量越来越多,如果快速去查找这些信息是一个很难的问题,在计算机领域有一个专门的领域IR(Information Retrival)研究如果获取信息,做信息检索。在国内的如百度这样的搜索引擎也属于这个领域,要自己实现一个搜索引擎是非常难的,不过信息查找对每一个公司都非常重要,对于开发人员也可以选则一些市场上的开源项目来构建自己的站内搜索引擎,本文将通过ElasticSearch来构建一个这样的信息检索
2021-03-07 23:22:25 3450 13
原创 4.8 NIO Buffer详解
4.8 Buffer Java中的Buffer就是一块内存区,用于存放特定的数据,Buffer常用于和Channel一起工作,也能做缓存。将数据从其他地方读到Buffer,也可以将Buffer中的数据写入其他地方。4.8.1 Buffer分类 Java中有以下不同类型的buffer:ByteBuffer,MappedByteBuffer,
2021-03-06 19:02:31 1964 2
原创 4.7 Nio Channel详解
4.7 Channel Channel是NIO中的一个重要组成部分,可以从Channel中读入数据到Buffer,也可以将Buffer中的数据写入Channel。4.7.1 Channel的分类Channel作用FileChannel用于从文件中读取数据DatagramChannel通过UDP读写数据SocketChannel作为客户端通过TCP读写数据ServerSocke
2021-03-06 16:29:40 2084
原创 基于数组实现的树遍历方法
Binary Search Tree 二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)。二叉排序树的性质 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。即按照左子树<根<右子
2021-03-06 13:53:49 2747 3
原创 二叉树所有路径 LeetCode257
题目描述给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。题目分析即从根节点返回到每一个叶子节点的路径,很容易可以想到解题思路:遍历树到叶子节点记录返回代码实现public List<String> binaryTreePaths(TreeNode root) { List<String> result = new ArrayList<>(); path(result,"",roo
2021-03-05 00:28:19 3069 8
翻译 Python 3.10新特性,看看有什么新功能吧
Python 3.10 新特性Python 3.10 新特性,上一版本 3.9更多详情, 查看 changelog.预发行版用户应注意,此文档目前处于草稿形式。随着python3.10的发布,它将得到实质性的更新,所以即使在阅读了早期版本之后,也值得再检查一下。新特性1.带圆括号的上下文管理器现在支持在上下文管理器中跨多行使用圆括号继续。这允许以类似于以前使用import语句的方式格式化多行中的上下文管理器的长集合。例如,所有这些示例现在都有效:with (CtxManager() as ex
2021-03-02 22:53:05 1224
libfastcommon-1.0.40.tar.gz
2020-03-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人