- 博客(4)
- 资源 (2)
- 收藏
- 关注
原创 GC and Tuning
GC和GC TuningGC的基础知识1.什么是垃圾C语言申请内存:malloc freeC++: new deletec/C++ 手动回收内存Java: new ?自动内存回收,编程上简单,系统不容易出错,手动释放内存,容易出两种类型的问题:忘记回收多次回收没有任何引用指向的一个对象或者多个对象(循环引用)2.如何定位垃圾引用计数(ReferenceCount)根可达算法(RootSearching)3.常见的垃圾回收算法标记清除(mark sweep) - 位
2020-08-31 09:49:28
242
原创 concurrenthashmap
concurrenthashmap为什么是线程安全一、HashMap和ConcurrentHashMap的对比我们用一段代码证明下HashMap的线程不安全,以及ConcurrentHashMap的线程安全性。代码逻辑很简单,开启10000个线程,每个线程做很简单的操作,就是put一个key,然后删除一个key,理论上线程安全的情况下,最后map的size()肯定为0。Map myMap=new HashMap<>();// ConcurrentHashMap myMap=new Co
2020-08-31 09:47:57
130
原创 几种树形结构的比较
几种树形结构的比较1.二叉查找树 (BST Binary Search Tree)1.若任意结点的左子树不空,则左子树上所有结点的值均不大于它的根结点的值。2. 若任意结点的右子树不空,则右子树上所有结点的值均不小于它的根结点的值。3.任意结点的左、右子树也分别为二叉搜索树。优点: 二叉搜索树是能够高效地进行如下操作的数据结构。1.插入一个数值2.查询是否包含某个数值3.删除某个数值缺点:如果我们插入的数据刚好是有序的,这个时候 二叉树 会变成链表( “斜树”),时间复杂度会退化成
2020-08-31 09:47:19
1674
原创 数据库分库分表
数据库分库分表一. 数据切分关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定位、整合。数据切分就是将数据分散存储到多个数据库中,使得单一数据库中的数据量变小,通过扩充主机的数量缓解单一数据库的性能问题,从而达到
2020-08-31 09:44:31
228
flume文档总结
2018-01-30
zookeeper简介
2018-01-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人