- 博客(126)
- 资源 (5)
- 收藏
- 关注
转载 LRU算法的实现使用linkedHashMap方法,以及使用双链表+hashtable方法
转载自:http://blog.chinaunix.net/uid-26147414-id-3435752.htmlhttp://www.source-code.biz/snippets/java/6.htmhttp://www.source-code.biz/snippets 下还有许多开源代码大家可以参考下,只可以代码不是很多啊,这个可以开源出来大家一起维护就好
2016-10-25 10:51:32
1667
转载 LinkedHashMap原理与实现
转载自:http://www.cnblogs.com/children/archive/2012/10/02/2710624.html1. LinkedHashMap概述:LinkedHashMap是HashMap的一个子类,它保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用LinkedHashMap。 LinkedHashMap是Map接口的哈希表和链
2016-10-25 10:33:14
1586
原创 微软校招笔试题#1092 : Have Lunch Together详解以及源码分析
#1092 : Have Lunch Together时间限制:10000ms单点时限:1000ms内存限制:256MB描述Everyday Littile Hi and Little Ho meet in the school cafeteria to have lunch together. The cafeteria is of
2016-10-09 23:41:26
1031
原创 微软笔试题#1086 : Browser Caching LRC缓存实现
When you browse the Internet, browser usually caches some documents to reduce the time cost of fetching them from remote servers. Let's consider a simplified caching problem. Assume the size of browse
2016-10-09 11:11:50
770
原创 牛客网台阶问题源码实现 动态规划
有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶、3阶。请实现一个方法,计算小孩有多少种上楼的方式。为了防止溢出,请将结果Mod 1000000007给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100000。题目不解释了,最简单的动态规划那么问题来了,为什么写出来的例子只过了10% 原因 溢出了 每两个数想加都会溢出 这时候就要取一下
2016-09-27 16:27:34
806
转载 MySQL 主从复制与读写分离概念及架构分析
本文转载自:http://zhangfengzhe.blog.51cto.com/8855103/15630321.MySQL主从复制入门首先,我们看一个图:影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中。假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的3306端口,通过网络发给
2016-09-26 11:29:58
307
原创 字符串计数-复杂的动态规划题 解析以及Java代码实现
题目描述求字典序在s1和s2之间的,长度在len1到len2的字符串的个数,结果mod 1000007。题目分析:1对于字典序的理解 是从首字母第一个开始比较的2.对于此题我们可以想到要求不同长度的字符串的个数 也就是常用的动态规划 对于每一个长度我们分为3部分来求解 比如对于abc 到efg 我们可以这么来求解 对于长度1就不说了 a b c d e 对
2016-09-26 10:54:19
502
原创 网易编程题暗黑字符串原理解析以及Java源码
一个只包含'A'、'B'和'C'的字符串,如果存在某一段长度为3的连续子串中恰好'A'、'B'和'C'各有一个,那么这个字符串就是纯净的,否则这个字符串就是暗黑的。例如:BAACAACCBAAA 连续子串"CBA"中包含了'A','B','C'各一个,所以是纯净的字符串AABBCCAABB 不存在一个长度为3的连续子串包含'A','B','C',所以是暗黑的字符串你的任务就是计算出长度
2016-09-18 00:24:35
2089
1
原创 网易编程题最大公约数
小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。 例如:f(44) = 11.现在给出一个N,需要求出 f(1) + f(2) + f(3).......f(N)例如: N = 7 f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) = 1 + 1 + 3 +
2016-09-17 23:43:59
1120
转载 TCP的三次握手(建立连接)和四次挥手(关闭连接)
转载自:http://www.cnblogs.com/Jessy/p/3535612.html建立连接: 理解:窗口和滑动窗口TCP的流量控制TCP使用窗口机制进行流量控制什么是窗口?连接建立时,各端分配一块缓冲区用来存储接收的数据,并将缓冲区的尺寸发送给另一端接收方发送的确认信息中包含了自己剩余的缓冲区尺寸剩余缓冲区空间的数量叫做窗口
2016-09-17 13:23:26
445
1
原创 卡特兰数(出栈序列以及已知先序遍历求树的形状的个数)
相关内容参考:http://www.nowcoder.com/test/question/done?tid=5127375&qid=26203#summary首先,我们设f(n)=序列个数为n的出栈序列种数。(我们假定,最后出栈的元素为k,显然,k取不同值时的情况是相互独立的,也就是求出每种k最后出栈的情况数后可用加法原则,由于k最后出栈,因此,在k入栈之前,比k小的值均出栈,此处情况
2016-09-17 13:05:13
1569
原创 leetcode:397. Integer Replacement 详细分析及源代码
位操作这一块不熟,所以特意去leetcode上找题看了一下。 题目如下:Given a positive integer n and you can do operations as follow:If n is even, replace n with n/2.If n is odd, you can replace n with either n +
2016-09-17 00:41:13
636
原创 Java中>>和>>>的区别(通常用的都是>>)
两个都是按位右移操作,>>右移后左边符号不变,>>>右移后左边补零,如果是负数的话,使用>>>操作后会变正数,比如public class MainTest { @Test public void test() { int i = -2; System.out.println((i>>2)); System.out.println((i>>>2));
2016-09-16 23:19:50
486
原创 JAVA多线程顺序执行(使用join,lock,condition,信号量)原理和java源代码
java多线程顺序执行问题使用join假设我要让3个线程按照顺序打印ABC,那么可以使用Join,如果要求多线程按顺序循环打印,则不能用join了join关键字join是Thread类的一个方法,启动线程后直接调用。在很多情况下,主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算,主线程往往将于子线程之前结束,但是如果主线程处理完其他的事务后,需要用到子线程的处理结果,也
2016-09-16 00:25:54
6766
1
转载 自旋锁和互斥锁的区别 java中lock Syntronized区别
转载自:http://blog.csdn.net/susidian/article/details/51068858自旋锁(Spin lock)自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是 否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。其作用是为了解决某项资源的互斥使用。因为自旋锁不会引起调用者睡眠
2016-09-15 22:12:01
8493
原创 移位运算实现加减乘除详解以及java源码实现
部分内容转载自:http://blog.csdn.net/nicolasyan/article/details/50840947常见位操作需要熟练掌握一些常见功能的位操作实现,具体为: 常用的等式:-n = ~(n-1) = ~n+1 获取整数n的二进制中最后一个1:n&(-n) 或者 n&~(n-1),如:n=010100,则-n=101100,n&(-n)=00
2016-09-15 18:35:39
9171
4
原创 java CAS原理深度解析
转载自:http://blog.csdn.net/hsuxu/article/details/9467651 参考文档:http://www.blogjava.net/xylz/archive/2010/07/04/325206.htmlhttp://blog.hesey.net/2011/09/resolve-aba-by-atomicstampedreferen
2016-09-14 08:51:40
1457
转载 23中设计模式类图和原理详解
转载自:http://www.cnblogs.com/beijiguangyong/archive/2010/11/15/2302807.html目录创建型1. Factory Method(工厂方法)2. Abstract Factory(抽象工厂)3. Builder(建造者)4. Prototype(原型)5. Singleton(单例)结构型6. Ada
2016-09-14 08:42:55
8223
原创 Linux 常用命令整理
df:查看文件系统使用情况du:查看磁盘系统使用情况top:查看 cpu使用情况free:查看内存使用情况ls:列出目录文件tail:只看尾几行 用于动态显示find grep sed:查找cat:定向输出awk:文本处理
2016-09-13 16:39:52
392
转载 activemq的三种基本通信方式总结
转载自:http://blog.csdn.net/wilsonke/article/details/42776057简介 在前面一篇文章里讨论过几种应用系统集成的方式,发现实际上面向消息队列的集成方案算是一个总体比较合理的选择。这里,我们先针对具体的一个消息队列Activemq的基本通信方式进行探讨。activemq是JMS消息通信规范的一个实现。总的来说,消息规范里面定义
2016-09-13 11:25:03
572
转载 java中volatile和transient关键字详解附代码示例
转载自:http://www.blogjava.net/fhtdy2004/archive/2009/06/20/286112.htmlVolatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。 Java语言规范中指出:为了获得最佳
2016-09-12 15:11:30
1011
原创 负载均衡一致性hash算法
今天去面搜狐,聊到了一个问题,现在的负载均衡主要采用取模的方式,如果有一个机器故障了,或者我想再添加一台机器怎么处理?回来后查到了一致性hash算法。自己看了一下资料:先说一下大概思想,一致性Hash主要是在分布式算法中用的比较多。1.我们现在常用的是线性hash,这样万一有一个机器坏掉了,就容易造成数据丢失。如果换成环形hash,一定范围内的hash映射的是环形的下一个节点,就不会对其它
2016-09-10 23:49:48
7692
转载 Comparable与Comparator接口的区别
转载自:http://www.cnblogs.com/sunflower627/p/3158042.html1. Comparator 和 Comparable 相同的地方他们都是java的一个接口, 并且是用来对自定义的class比较大小的,什么是自定义class: 如 public class Person{ String name; int age }.
2016-09-09 17:17:28
245
转载 Netty架构设计
转载自http://blog.csdn.net/suifeng3051/article/details/28861883一、先纵览一下Netty,看看Netty都有哪些组件? 为了更好的理解和进一步深入Netty,我们先总体认识一下Netty用到的组件及它们在整个Netty架构中是怎么协调工作的。Netty应用中必不可少的组件:Bootstrap or
2016-09-09 17:12:28
900
转载 阻塞队列与非阻塞队列区别应用场景
转载自:http://blog.csdn.net/u012881904/article/details/51491736作者:小汪阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的
2016-09-09 16:47:02
19015
原创 cglib代理详解
CGLIB包的底层是通过使用一个小而快的字节码处理框架ASM,来转换字节码并生成新的类。跟jdk动态代理不一样的是,jdk只能对接口代理,cglib可以对类进行代理。这两者都是动态代理。这里说一下静态代理和动态代理的区别: 由程序员创建或由特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。动态代理类:在程序运行时,运用反射机制动态创建而成。cg
2016-09-09 16:31:16
711
原创 数据库相关知识整理
myisam,innodb的区别innodb和myisam是在使用MySQL最常用的两个表类型,mysql默认使用myisam1.myisam不支持事务管理,处理速度比较快,innodb支持事务管理,外键等高级数据结构,处理速度较慢2.执行大量的select考虑使用myisam,如果Insert,update较多,使用innodb,注意,innodb删除的时候是一行行删除的
2016-09-09 00:46:20
467
转载 负载均衡算法
转载自:http://www.cnblogs.com/shanyou/archive/2012/11/09/2763272.html负载均衡的基本算法负载均衡的基本算法,主要有以下几种(参考F5产品):随机:负载均衡方法随机的把负载分配到各个可用的服务器上,通过随机数生成算法选取一个服务器,然后把连接发送给它。虽然许多均衡产品都支持该算法,但是它的有效性一直
2016-09-09 00:07:57
349
转载 深入理解HashMap(原理,查找,扩容)
深入理解HashMap(及hash函数的真正巧妙之处)博客分类: Java原文地址:http://www.iteye.com/topic/539465 /** *@author annegu *@date 2009-12-02 */ Hashmap是一种非常常用的、应用广泛的数据类型,最近研究到相关的内容,
2016-09-08 21:42:47
13098
5
原创 try catch finally 对于return特殊情况的处理
京东笔试问到try catch finally对于return的处理,自己做一下实验。import org.junit.Test;public class TestTry { @Test public void test() { System.out.println(test1()); System.out.println(test2()); } public i
2016-09-08 21:29:50
291
转载 信号量与互斥锁的区别
转载自:http://www.cnblogs.com/lonelycatcher/archive/2011/12/20/2294161.html信号量信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里)。互斥锁互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无
2016-09-08 21:02:27
741
原创 osi七层模型,TCP/IP四层模型
OSI七层模型1.物理层:提供为建立、维护和拆除物理链路所需要的机械的、电气的、功能的和规程的特性;有关的物理链路上传输非结构的位流以及故障检测指示。2.数据链路层:在网络层实体间提供数据发送和接收的功能和过程;提供数据链路的流控。3.网络层:控制分组传送系统的操作、路由选择、拥护控制、网络互连等功能,它的作用是将具体的物理传送对高层透明。4.传输层:提供建立、维护和拆除传送连接的
2016-09-08 20:52:56
711
原创 计数排序的思想,时间空间复杂度细致分析以及java源代码实现
参考文章:http://www.cnblogs.com/kaituorensheng/archive/2013/02/23/2923877.html京东笔试的时候问了很多计数排序相关的东西,因为自己只了解了一些常用的排序,对于计数排序并没有深入研究导致答得不好,特别补上。1. 计数排序的思想计数排序是基于非比较排序,主要用于对于一定范围内的整数进行排序。采用的是空间换时间的方法。假
2016-09-06 11:23:16
660
原创 java多线程编程核心技术知识点总结
1. Thread和Runnable接口的区别Thread为类,只能单继承,Runnable为接口,可以多继承。Runnable作为参数传递给thread可以实现资源共享。2.变量安全 方法内的变量为线程安全,实例变量为非线程安全。3.判断线程是否中断interrupt: 会清除状态isInterrupt:不会清除状态4.Syntronized
2016-09-04 21:18:43
1213
原创 java start和run的区别
start:会启动一个新的线程,执行新线程的run方法,真正实现了并发。一个线程只能start一次run:会在当前线程执行run方法,run执行完后执行后续过程,一个线程可以run多次。参考文章:http://javarevisited.blogspot.sg/2012/03/difference-between-start-and-run-method.html
2016-08-31 15:19:13
1269
1
原创 leetcode 205. Isomorphic Strings 巧妙使用hashmap.put返回值求解
Given two strings s and t, determine if they are isomorphic.Two strings are isomorphic if the characters in s can be replaced to get t.All occurrences of a character must be replaced with anot
2016-05-10 22:22:52
321
原创 leetcode 109. Convert Sorted List to Binary Search Tree 源代码加详细思路和注释
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.Subscribe to see which companies asked this question题目分析:将排好序的链表转换成平衡二叉树。我们想一下怎么将
2016-05-09 11:21:10
362
转载 Linux awk命令详解
转载自:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同
2016-04-15 22:47:24
271
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人