自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

anjing900812的博客

一个安静的美男子

  • 博客(13)
  • 收藏
  • 关注

原创 对只包含0、1、2三种元素的数组进行排序

时间复杂度:o(n)两种方法,都是只遍历一次;/*借鉴《算法》中,当数组中存在大量重复元素时,对快排partition方法的改进。 *即三个指针,把数组划分成三部分,x*/public void sortarray2(int[] nums){ int a = 0;//指向下一个存放0的位置 int b = nums.length-1;//从右向左,下一个存放2的位置 int i

2016-08-27 13:44:29 2613

原创 项目08-25

1有向图中两个点之间是否存在一条路径:广搜图的遍历以及广搜、深搜、最短路径问题;HashMap的rehash原理:介绍kafka;TCP、UDP的区别,TCP面向流,UDP面向数据报的理解:http://blog.csdn.net/ce123/article/details/8976006 http://www.cnblogs.com/jason2013/articles/4346

2016-08-26 11:21:53 344

原创 对LinkedHashMap的理解

最初的认识:可以维护元素的插入顺序,按照插入顺序遍历;实现原理:LinkedHashmap的Entry除了该节点的hash值、key值、value值、next指向冲突时的后一个节点,还增加了指向前一个节点和后一个节点的指针:before、after,从而构成双向链表;除此之外,还有双向链表的头结点head和尾节点tail;LinkedHashMap的具体实现:节点:

2016-08-19 17:27:33 475

原创 工作总结8-16

1手写快速排序,算法和算法导论两个版本;链表的快排;单链表中交换指定的两个节点;ok,leetcode刷题找未排序数组中的中位数:partition选择排序;流式数据的中位数:同时使用最大堆和最小堆;两个已排序数组的中位数?lt数组右旋、字符串旋转;海量数据:统计一分钟内查询关键词的TOK10,划分、负载均衡、一致性哈希、先统计部分结果、修改进行hash的key(uid#1)进一步划分

2016-08-17 13:58:11 466 2

原创 项目08-15

最痛的领悟:写算法题之前先确认需求,输入输出是什么,之后举例子,理清思路,并和面试官沟通,最后才动手写;打手,打手。。。最后一道算法题:给定一个字符数组,产生长度为n的所有字符串;用递归的思想:public static ArrayList makestring(char[] str,int n){ ArrayList rst = new ArrayList();

2016-08-15 16:24:14 316 1

转载 Flume日志收集分层架构应用实践

面试时被问到flume,好久没看了,回答很不好。整理知识点时搜到这篇文章,好强大,感谢作者;时延军(包含链接:http://shiyanjun.cn) 原文链接:http://shiyanjun.cn/archives/1497.htmlFlume作为一个日志收集工具,非常轻量级,基于一个个Flume Agent,能够构建一个很复杂很强大的日志收集系统,它的灵活性和优势,主

2016-08-11 21:11:19 467

转载 数据库的乐观锁与悲观锁

锁( locking )业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的 “ 锁 ” ,

2016-08-07 22:14:22 364 5

转载 数据库事务管理原理

好系统的一篇文章;可惜没有图片;http://www.cnphp6.com/archives/58402主题 数据库事务数据库是一个共享资源,可以提供多个用户使用。这些用户程序可以一个一个地串行执行,每个时刻只有一个用户程序运行,执行对数据库的存取,其他用户程序必须等到这个用户程序结束以后方能对数据库存取。但是如果一个用户程序涉及大量数据的输入/输出交换,则数据库系统的

2016-08-07 21:27:48 420 4

转载 java泛型(一)、泛型的基本介绍和使用

更深入地了解泛型:感谢原文作者:http://blog.csdn.net/lonelyroamer/article/details/7864531作者还有两篇更深入的:java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题java泛型(三)、通配符的使用  现在开始深入学习java的泛型了,以前一直只是在集合中简单的使用泛型,根本就不明白泛型的原

2016-08-07 15:41:07 237

原创 项目08-05

T1:ZooKeeper的应用:管理集群,实现分布式锁,其他没有深入了解,ok,看书;ZK选leader的过程,投票;如果选主的过程中有一台服务器宕掉了,会发生什么?过半数投票一致leader就产生了;flume接平台数据使用了socket编程:通信的过程:server端:socket-bind-listen-accept-read/write-close,更底层的实现原理,丢数据、丢

2016-08-06 15:26:16 477

原创 堆和堆排序

堆定义:二叉堆,每个节点的值大于等于他的两个子节点;采用的数据结构:数组,二叉堆层次遍历存放在数组中,通过下标找到孩子、父亲结点,2k、2k+1、k/2,保证对数级别的时间复杂度实现插入(新插入的元素放在数组尾部,逐渐上升,调整维护堆的性质)和删除最大元素(删除堆顶,调整);关键操作:Be:数组中从1开始存储元素;由下至上的堆的有序化:节点比其父节点的值大,需要交换public

2016-08-03 17:00:54 289

原创 项目08-03

java泛型:容器类限定存放的对象类型,取出时不需强制类型转换,且编译时就可发现对象不匹配的错误,抛出java.lang.ClassCastException异常;可参考:http://www.cnblogs.com/lwbqqyumidi/p/3837629.html操作系统实现线程多种方式:可以在用户模式下 or 内核模式下实现线程,或者两者结合实现?Java中创建多线程的几种方式:继承Thr

2016-08-03 14:26:13 303

原创 常用排序算法总结

选择排序基本思想:遍历数组,找到最小的元素和第一个元素(nums[0])交换。次小的和第二个元素交换,也就是每次找到未排序部分中的最小值放在适当的位置。复杂度分析:长度为N的数组,比较次数:N^2/2  交换次数:N  时间复杂度:N^2特点:运行时间和输入无关,每次都需遍历未排序部分找到最小值;数据的移动交换次数是最少的;代码:public void select_sort(int[

2016-08-02 17:18:07 341

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除