3 wdtsyz1

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 54w+

InnoDB存储引擎底层B+树

B+树定义B+树是为磁盘或其他存取辅助设备设计的一种平衡查找树。在B+树中,所有记录节点都是按照键值的大小顺序存放在同一层的叶子节点上,由各叶子节点指针进行连接。B+树特性:高度、页page、扇出fan out。举例:上图B+树中,所有记录节点都在叶子节点上,并且是顺序存放的,如果用户从左边的叶子节点开始顺序遍历,可以得到所有键值的顺序排序:5、10、15、20、25、30、50、55、60、65、75、80、85。B+树的插入操作B+树的插入操作,必须保证插入后叶子节点中的记录依然排序。为了保持

2020-06-18 12:25:16

maven 处理jar包冲突

1、基本说明groupId:maven项目隶属的实际项目;artifactId:定义当前项目中的一个maven项目(模块),使用实际项目名称;2、maven的依赖原则(1)依赖路径最短优先 一个项目demo依赖了2个Jar包,其中A-B-C-X(1.0),A-D-X(2.0)。由于X(2.0)路径最短,所以项目使用X(2.0)。(2)相同路径长度,pom文件中声明顺序优先如果A-B-X(1.0),A-C-X(2.0)这样相同路径长度,Maven会根据pom文件声明的顺序,加载。如果先声

2020-06-17 19:25:03

Spring中BeanFactory与ApplicationContext的区别

BeanFactory和ApplicationContext,都是接口。ApplicationContext是BeanFactory的子接口。BeanFactory是Spring中最底层的接口,提供了最简单的容器功能,只提供了实例化对象和获取对象的功能;而ApplicationContext是Spring的一个更高级的容器,提供了更多有用的功能,如消息发送、响应机制、统一加载资源、强大的事件机制3.BeanFactory采用延迟加载方式注入Bean,ApplicationContext是在IOC容器启.

2020-06-17 18:59:37

innodb存储引擎中的redo log和undo log

redo log重做日志,用来保证事务的原子性和持久性。undo log,用来保证事务的一致性,帮助事务的回滚和MVCC的功能。区别与联系:redo恢复提交事务修改的页操作,而undo回滚行记录到某个特定版本。二者记录的内容不同,redo通常是物理日志,记录的是页的物理修改操作。undo是逻辑日志,根据每行记录进行记录。redo log基本上是顺序写的,在数据库运行时,不需要对redo log的文件进行读取操作,而undo log是需要进行随机读写的。具体介绍:1)redo log重做日志由

2020-06-17 18:50:02

怎样将一个Long类型的数据转换成字节数组

//先写进去long n = 1000000L;ByteArrayOutputStream baos = new ByteArrayOutputStream();DataOutputStream dos = new DataOutputStream(baos);dos.write(n);//再读出来byte[] buf = baos.toByteArray();

2020-06-17 18:15:46

快速排序算法

原理:选择一个关键值作为基准值(一般选择第1个元素为基准元素),将比基准值大的都放在右边的序列中,将比基准值小的都放在左边的序列化中。(小—>大)具体循环过程如下:(1)从后往前比较,用基准值和最后一个值进行比较。如果比基准值小,则交换位置,如果比基准值大,则继续比较下一个值,直到找到第一个比基准值小的值,才交换位置。(2)从前向后比较,如果有比基准值大的,则进行交换,如果比基准值小,则继续比较下一个值,直到找到第一个比基准值大的,则交换位置。(3)重复上述步骤,直到从前向后比较的索引大于等于

2020-06-17 18:05:17

Netty的零拷贝实现

第1种“零拷贝”——DIRECT BUFFERSNetty的接收和发送ByteBuffer,采用DIRECT BUFFERS,使用堆外直接内存进行Socket读写,不需要进行字节缓冲去的二次拷贝。如果使用传统的堆内存(HEAP BUFFERS)进行Socket读写,JVM会将堆内存的Buffer拷贝一份到直接内存中,然后,才写入Socket中,相比多了一次缓冲区的内存拷贝。使用native函数库直接分配堆外内存,然后通过一个存储在java堆中的DirectByteBuffer对象引用这个堆外内存,..

2020-06-17 17:45:37

主要的序列化协议及应用场景

序列化对象writeObject(object->二进制)反序列化readObject(二进制->object)序列化作用:数据持久化;网络传输。如高并发下Session对象可持久化,需要时再还原到内存。注意:序列化出的二进制要尽可能地小。序列化协议:java原生序列化协议、Hession序列化、Google的ProtoBuffer、Facebook的Thrift、MessgePack。1.Java原生序列化主要由ObjectInputStream 和ObjectOutputSream

2020-06-17 17:16:19

CountDownLatch的原理

CountDownLatch的原理java.lang.Concurrent包下的可阻塞类CountDownLatch(倒数计数器),基于基类AQS(AbstractQueuedSynchronizer)标准队列同步器类。在同步状态state中保存的是当前的计数值。countDown()调用release,从而导致计数器值递减,并且计数器值为零时,解除所有等待线程的阻塞。await()调用accquie,当计数器值为零时,acquire将立即返回,否则将阻塞。await():阻塞当前线程,将当前线程加入A

2020-06-10 12:48:43
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。