java王国
haitao111313
这个作者很懒,什么都没留下…
展开
-
应用于负载均衡的一致性哈希及java实现
这几天看了几遍一致性哈希的文章,但是都没有比较完整的实现,因此试着实现了一下,这里我就不讲一致性哈希的原理了,网上很多,以一致性哈希用在负载均衡的实例来说,一致性哈希就是先把主机ip从小大到全部放到一个环内,然后客户端ip来连接的时候,把客户端ip连接到大小最接近客户端ip且大于客户端ip的主机。当然,这里的ip一般都是要先hash一下的。我的程序运行结果如下: 添加客户端,一开始有原创 2012-05-05 16:53:20 · 13688 阅读 · 5 评论 -
一道笔试题的思考(一)
1:++操作为什么比+1操作高效,试从内存方面详细解释 都知道编译后++操作的指令比+1的少,所以肯定高效,但具体解释起来还要记住很多东西。++操作主要是通过字节码iinc指令来实现,其意思是:将指定的int型整型变量增加指定值。决定测试一下,以下代码: int i = 100; i++;编译成字节码后:bipush表示将单字节的原创 2012-09-24 20:59:53 · 1533 阅读 · 0 评论 -
Java IO与NIO的相关问题
流(Stream)是最早的Java对IO的抽象,而通道(Channel)是NIO对新Java对IO的抽象,通道与流的不同之处在于通道是双向的。而流只是在一个方向上移动(一个流必须是 InputStream 或者 OutputStream 的子类), 而 通道 可以用于读、写或者同时用于读写。流和通道的基本单位都是字节,但是流是以字节数组作为缓冲区中介,而通道是以ByteBuffer来作为缓冲区原创 2012-09-11 12:59:47 · 1502 阅读 · 1 评论 -
各种排序算法Java实现
校招快要开始了,复习一下以前的排序知识,下面的代码都是以前写的,今天翻出来又重新看了一下,贴上来。也算是复习吧。插入排序,稳定排序(稳定是指相同的两个数在排序之后它们的相对位置不变。)://插入排序 public static void insertSort(int[] a){ int len = a.length; //遍历数组 for(int i=1;i<len原创 2012-09-11 21:34:05 · 1435 阅读 · 0 评论 -
一些小问题技术笔记(二)--思考是进步的本质
1:虚函数的定义,当从父类中继承的时候,虚函数和被继承的函数具有相同的签名。但是在运行过程中,运行系统将根据对象的型別,自动地选择适当的具体实现运行。由此可以看出Java的普通函数都是虚函数。因为Java是默认动态绑定的。只有方面前面加static和final的才不是虚函数。(参考:http://blog.csdn.net/trojanpizza/article/details/6556604)原创 2012-09-27 11:42:16 · 1429 阅读 · 0 评论 -
一些小问题技术笔记(一)--思考是进步的本质
(1):String的本质就是一个char[]。String源码是用char[]来存储这个字符串的。(2):jsp的解析过程是先被转换为servlet。(3):Tcp是应用层协议,Http是网络层协议,Socket本身并不是协议,可以理解为对tcp/ip协议的封装,是封装好了的对程序员的编程接口。(4):都知道数据库连接耗时? 可是耗时在哪里? 连接的过程做了一些什么操作?这个问题思考原创 2012-06-15 16:34:05 · 802 阅读 · 0 评论 -
JVM内存模型及垃圾收集简介
一:java内存区域和内存溢出测试java内存分为线程共享的区域(方法区,堆)和线程不共享的区域(虚拟机栈,本地方法栈,程序计数器):1,方法区:存放类信息,常量,静态变量,即时编译后的代码等。产生大量的类来填充方法区来测试方法区内存溢出。2,堆:对象实例,包括数组。如果想要堆内存溢出,直接新建大量对象,然后保持对它的引用便可以了,3,虚拟机栈:局部变量表(基本数据类型和对象引用)原创 2012-05-27 23:18:00 · 1028 阅读 · 0 评论 -
java多线程爬虫实例
很早就知道爬虫的原理,但是一直没有去实现过,今天写起来还真遇到很多困难,尤其是多线程同步的问题。还是自己对多线程不熟,没有大量实践过的原因。 先上我做的结果吧: 开始爬虫.........................................当前有1个线程在等待当前有2个线程在等待当前有3个线程在等待当前有4个线程在等待当前有5个线程在等待.......原创 2012-05-01 21:11:20 · 24085 阅读 · 10 评论 -
谈谈对java I/O中装饰者模式的理解
看字面意思,装饰者就是把一个对象装饰一下,那么必要要有一个装饰着和被装饰着,被装饰者是比较原始的东西,比如一个原始的木门,大家都涂成各种颜色什么的,这里木门就是个被装饰者,各种颜料就是装饰着.装饰者要装饰被装饰者,必然要拥有一个被装饰着的对象,现在来看java I/O,I/O的本质是从文件,网络等地方读取字节流,FileInputStream是从文件中读取字节流,很原始了,它就是一个被装饰者,其他原创 2012-05-05 23:01:32 · 1901 阅读 · 0 评论