- 博客(5)
- 收藏
- 关注
原创 MySQL(一):索引底层数据结构(B+树)
索引是帮助获取数据的一种排好序的数据结构下面先看下几种索引的数据结构,从而分析出为什么使用B+树。1.BST(平衡二叉树) BST 是有序的,但是当节点特别多的时候,这时候树的高度也就特别大,BST查询的时间复杂度就是和树的高度相关的,查询就会非常耗时。2.红黑树 原因和BST相同。3.hash表 hash表通过hash算法将数据映射一个数组里,出现hash碰撞的时候就在链表的后面添加,原理和HashMap相同,对于 = 查找速度很快,但是无法进行范围查找。4.B树 .
2021-03-13 23:38:08 363
原创 Netty(三):零拷贝、空轮循bug和ByteBuf扩容机制
零拷贝零拷贝是netty高性能设计的一个点,想要了解零拷贝,先要知道直接内存这个概念。直接内存不是Java虚拟机中的一部分,他对应的是机器的物理内存。以客户端向服务端发送数据为例,当client发送数据时,先由socket缓冲区接受数据,然后copy到机器的直接内存中,然后再由一些native方法将这些数据拷贝到JVM中,这个过程中就有两次拷贝。而零拷贝是这样做的:以客户端向服务端发送数据为例,当client发送数据时,先由socket缓冲区接受数据,然后copy到机器的直接内存中,然后将这些
2021-02-10 01:45:07 324
原创 Netty(二):编解码器和心跳机制
在上一篇文章中讲了底层的NIO模型,并且写了一个netty的简单demo,这篇文章主要讲netty中一些具体的应用。编解码器首先需要了解netty中pipeline。对于pipeline,有入站和出站的概念,以服务端举例,从客户端发送来数据就是入站,就是上图从head到tail。对于每一个handler,我们在添加入管道的时候,都是使用addLast方法,可以看做直接加入tail的前一个。自定义的handler都是实现了InboundHandler(入站)或者是OutboundHandl
2021-01-31 00:46:39 263
原创 Netty(一):NIO和Netty底层原理
NIONetty是基于NIO模型的,首先需要了解一下BIO和NIO。在Java中IO模型分为BIO、NIO和AIO。BIO 同步阻塞模型,一个客户端连接一个处理线程。
2021-01-28 22:35:05 981 1
原创 运行时出现 module ‘tensorflow’ has no attribute 'ConfigProto'
昨天运行时出现module ‘tensorflow’ has no attribute ‘ConfigProto’,百度了一番,试了好多种方法都没有解决这个问题。后来我突然想到是不是版本的问题,发现网上没有人提出这个问题过,只能自己去官网看API,发现果然是这样下面是2.0版本下,搜索ConfigProto,没有结果接着我换成了1.15之后我将现有版本的tensorflow卸载,安装上...
2019-11-23 09:19:48 2858
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人