2013年1月27日

字符串Hash函数评估

摘要: Hash查找因为其O(1)的查找性能而著称,被对查找性能要求高的应用所广泛采用。它的基本思想是:(1) 创建一个定长的线性Hash表,一般可以初始化时指定length;(2) 设计Hash函数,将关键字key散射到Hash表中。其中hash函数设计是最为关键的,均匀分布、冲突概率小全在它;(3) 通常采用拉链方法来解决hash冲突问题,即散射到同一个hash表项的关键字,以链表形式来表示(也称为桶backet);(4)给定关键字key,就可以在O(1) + O(m)的时间复杂度内定位到目标。其中,m为拉链长度,即桶深。Hash应用中,字符串是最为常见的关键字,应用非常普通,现在的程序设计语言中 阅读全文

posted @ 2013-01-27 18:23 善敗將軍 阅读(217) 评论(0) 推荐(0) 编辑

Java网络编程精解之ServerSocket用法详解一

摘要: 在客户/服务器通信模式中,服务器端需要创建监听特定端口的ServerSocket,ServerSocket负责接收客户连接请求。本章首先介绍ServerSocket类的各个构造方法,以及成员方法的用法,接着介绍服务器如何用多线程来处理与多个客户的通信任务。本章提供线程池的一种实现方式。线程池包括一个工作队列和若干工作线程。服务器程序向工作队列中加入与客户通信的任务,工作线程不断从工作队列中取出任务并执行它。本章还介绍了java.util.concurrent包中的线程池类的用法,在服务器程序中可以直接使用它们。3.1 构造ServerSocketServerSocket的构造方法有以下几种重载 阅读全文

posted @ 2013-01-27 18:11 善敗將軍 阅读(641) 评论(0) 推荐(0) 编辑

Java Socket编程入门

摘要: 出于多种目的要写这篇文章,简单的说是因为最近的工作和Java 的Socket相关.所以工作之余就有了写点东西的想法.同样我不希望把文章写的太复杂,因此浅出自己的一点心得.事实上网络编程简单的理解就是两台计算机相互通讯数据而已.对于程序员而言,去掌握一种编程接口并使用一种编程模型相对就会显得简单的多了.Java SDK提供一些相对简单的Api来完成这些工作.Socket就是其中之一.对于Java而言.这些Api存在与java.net 这个包里面.因此只要导入这个包就可以准备网络编程了.网络编程的基本模型就是客户机到服务器模型.简单的说就是两个进程之间相互通讯,然后其中一个必须提供一个固定的位置, 阅读全文

posted @ 2013-01-27 15:52 善敗將軍 阅读(179) 评论(0) 推荐(0) 编辑

Java NIO 和 Cindy

摘要: 一、首先讲讲JavaNIO的原理: javaio包提供了一个简单的模型去处理网络流,它所有的读写方法均为阻塞操作,因此在一般的应用里,用户总是开启一个独立线程或一个线程池去处理这些操作。但是如果面对服务器端的成百上千个连接,采用javaio提供的机制,就需要同时开启成百上千个线程,即使能够处理过来,花在线程上下文切换的时间也远远多于网络操作的用时。而JavaNIO非堵塞技术实际是采取Reactor模式,或者说是Observer模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。它的主线程只有一个,基本上每个处理 阅读全文

posted @ 2013-01-27 15:50 善敗將軍 阅读(1456) 评论(0) 推荐(0) 编辑

java分布式通信系统(J2EE分布式服务器架构)

摘要: http://blog.csdn.net/hbzyaxiu520/article/details/8528639 阅读全文

posted @ 2013-01-27 15:48 善敗將軍 阅读(226) 评论(0) 推荐(0) 编辑

查看Linux版本信息

摘要: 查看各种Linux系统版本信息的Shell命令几种查看Linux版本信息的方法:1. uname -a2. cat /proc/version3. cat /etc/issue4. lsb_release -a其中lsb_release -a命令显示的信息最详细: 阅读全文

posted @ 2013-01-27 14:11 善敗將軍 阅读(166) 评论(1) 推荐(0) 编辑

导航