- 博客(12)
- 收藏
- 关注
原创 分析countdownlatch
分析countdownlatch A synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads completes. A CountDownLatch is initialized with a given co
2017-09-27 15:19:27
230
原创 分析下reentrantlock
分析下reentrantlockreentrant 英文:可重入的,就加锁之后可以再加锁,很明显的道理,既然抢到锁了,则么可以再抢呢,这个java的实现就可以欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和
2017-09-27 12:08:52
294
转载 排序
常用的排序算法的时间复杂度和空间复杂度排序法最差时间分析平均时间复杂度稳定度空间复杂度冒泡排序O(n2)O(n2)稳定O(1)快速排序O(n2)O(n*log2n)不稳定O(log2n)~O(n)选择排序O(n2)O(n2)稳定O(1)二叉树排序O(n
2017-09-21 14:20:46
235
转载 冒泡排序法为什么最佳的时间复杂度是O(n)
BUBBLESORT(A)1 for i ← 1 to length[A]2 do for j ← length[A] downto i + 13 do if A[j] A[j - 1]4 then exchange A[j] ↔ A[j - 1] 1 使用循环不变式证明算法的正确性:初始化
2017-09-21 12:05:17
3812
转载 直接转的一篇译文,非原创
一、ZooKeeper的背景1.1 认识ZooKeeperZooKeeper---译名为“动物园管理员”。动物园里当然有好多的动物,游客可以根据动物园提供的向导图到不同的场馆观赏各种类型的动物,而不是像走在原始丛林里,心惊胆颤的被动 物所观赏。为了让各种不同的动物呆在它们应该呆的地方,而不是相互串门,或是相互厮杀,就需要动物园管理员按照动物的各种习性加以分类和管理,这样我们才能更加
2017-09-15 13:46:51
226
转载 转下你假笨的一篇java堆内存分析
JVM源码分析之堆外内存完全解读2016-03-26 你假笨概述广义的堆外内存说到堆外内存,那大家肯定想到堆内内存,这也是我们大家接触最多的,我们在jvm参数里通常设置-Xmx来指定我们的堆的最大值,不过这还不是我们理解的Java堆,-Xmx的值是新生代和老生代的和的最大值,我们在jvm参数里通常还会加一个参数-XX:MaxPermSize来指定持久代的
2017-07-07 13:17:39
231
转载 转下需要经常看看的磁盘知识,来自大众点评技术博客
磁盘I/O那些事喻枭 ·2017-05-19 19:20背景计算机硬件性能在过去十年间的发展普遍遵循摩尔定律,通用计算机的CPU主频早已超过3GHz,内存也进入了普及DDR4的时代。然而传统硬盘虽然在存储容量上增长迅速,但是在读写性能上并无明显提升,同时SSD硬盘价格高昂,不能在短时间内完全替代传统硬盘。传统磁盘的I/O读写速度成为了计算机系统性能提高的瓶颈,制约了计算
2017-07-07 12:19:29
363
原创 谈下分布式算法
不谈下分布式算法,自己会忘记是(这种大白话都是自己的总结)paxos算法,为了解决分布式副本状态不一致问题,常见的情景是,多个客户端对数据增删改查,由于有不同副本,而且网络的不确定因素,要确保多个客户端对不同副本提交修改,但是不同副本能够见到相同的命令序列,有必要对每一个提交的命令进行一致性算法来提交。下面说下具体步骤paxos算法3个角色proposer:提议者,帮client整
2017-07-07 12:15:24
722
转载 简单转下snowflak的介绍
Twitter-Snowflake,64位自增ID算法详解2015/04/06 · 25 CommentsTwitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都必须分配一条唯一的id,这些id还需要一些大致的顺序(方便客户端排序),并且在分布式系统中不同机器产生的id必须不同。Snowflake算法核心把
2017-07-06 20:48:56
632
转载 分库分表的意义
1. 垂直切分垂直切分的依据原则是:将业务紧密,表间关联密切的表划分在一起,例如同一模块的表。结合已经准备好的数据库ER图或领域模型图,仿照活动图中的泳道概念,一个泳道代表一个shard,把所有表格划分到不同的泳道中。下面的分析示例会展示这种做法。当然,你也可以在打印出的ER图或模型图上直接用铅笔圈,一切取决于你自己的喜好。2. 水平切分垂直切分后,需要对shard内表格的数据量和
2017-07-06 20:15:41
1754
转载 java 的四大引用
强引用:普通引用软引用:如果内存不足才回收弱引用:gc 看到就回收虚引用:完全跟没有引用一样,不造成任何影响软引用和弱引用区别:对于强引用,我们平时在编写代码时经常会用到。而对于其他三种类型的引用,使用得最多的就是软引用和弱引用,这2种既有相似之处又有区别。它们都是用来描述非必需对象的,但是被软引用关联的对象只有在内存不足时才会被回收,而被弱引用关联的对象在
2017-07-03 22:03:40
250
原创 unix网咯编程笔记
网上很多关于unix怎么现在调试的 ,我说一句,其实没必要装apue,直接发命令了1,./configure2, cd lib3,make4,cd ../intro5,make daytimetcpcli ,也可以不执行这一句 ,走默认的gcc daytimetcpcli.c -I ../lib ../libunp.a (-I 是制定include的文件夹,视为unp.
2017-05-30 22:43:30
212
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人