- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 为什么可以这样转换
在看 Collections.reverseOrder() 方法时,看到这里: public static Comparator reverseOrder() {return (Comparator) REVERSE_ORDER; } private static final Comparator REVERSE_ORDER = new ReverseCompa
2012-08-26 10:17:58 520
转载 java 泛型方法类型推导
http://blog.csdn.net/zerro99/article/details/6118218编译器判断泛型方法的实际类型参数的过程叫做类型推断,类型推断的实现方法是一种非常复杂的过程.根据调用泛型方法时实际传递的参数类型或返回值类型来推断,具体规则如下:如果某类型变量只在方法参数列表或返回值的一处被调用了,那根据调用该方法时该处的实际类型来确定,即直接根据调
2012-08-25 11:36:59 7502
转载 正则表达式
http://blog.csdn.net/allwefantasy/article/details/3136570(PS:这篇文章为转载,我不喜欢转载的但我觉得这篇文章实在是超赞了,就转了过来,这篇可以说是学习JAVA正则表达的必读篇。作者是个正真有功力的人,阅读愉快) 在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如
2012-08-21 11:40:30 893
转载 JDK里的设计模式
JDK里的设计模式http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns2010年11月26日陈皓发表评论阅读评论10,901 人阅读 下面是JDK中有关23个经典设计模式的示例,在stakeoverflow也有相应的讨论:http://stackoverflow
2012-08-18 14:31:06 529
转载 JAVA NIO 简介
1. 基本 概念IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成。所有语言运行时系统提供执行 I/O 较高级别的工具。 (c 的 printf scanf,java 的面向对象封装 )2. Java 标准 io 回顾Java 标准 IO 类库是 io 面向对象的一种抽象。基于本地方法的底层
2012-08-17 18:07:45 511
原创 java nio Buffer 中 compact的作用
该方法的作用是将 position 与 limit之间的数据复制到buffer的开始位置,复制后 position = limit -position,limit = capacity但如果position 与limit 之间没有数据的话发,就不会进行复制下面举个例子:将数据从一个channel 读取出来,然后写入另外一个channel ByteBuffer buffer =
2012-08-17 17:41:02 14586 4
转载 TCP协议三次握手过程分析
TCP协议三次握手过程分析http://www.cnblogs.com/rootq/articles/1377355.htmlTCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(ackn
2012-08-16 09:02:23 602
原创 将基本类型进行编码
package first;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Arrays;public class GetLongFromStream { public static void main(String args[
2012-08-13 19:38:18 580
转载 右键菜单没有新建记事本怎么办
http://jingyan.baidu.com/article/3052f5a1bde43097f21f8655.html很多时候,我们要使用记事本的话,都是通过右键---新建文本文档来实现。但是,当系统设置不当,有时候右键的新建菜单里就没有新建文本文档这一项。下面就讲讲怎么恢复右键的新建菜单,让新建文本文档重新出现图册12345
2012-08-13 17:52:11 2590
原创 Toma4.1实现HTTP/1.1持久化处理(以行读取字节流)
1.浏览器在发送数据的时候,如果是get方式,直接发送,如果是 post方式会发送content-length表明发送数据的大小2.浏览器在接收数据的时候一般都会知道要接收数据的大小,这样浏览器不至于盲目等待和阻塞3.服务器在读取请求的时候是以一行来读取.那么它是怎么知道读取完所有有头的呢?原因就在头后面的一个\r\n,如果读取这个就表明头结束,不再下读取,这样就不会造成服务器读取的时
2012-08-13 15:24:33 883
转载 socket
套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”。针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”。JAVA有两个基于数据流的套接字类:ServerSocket,服务器用它“侦听”进入的连接;Socket,客户端用它初始一次连接。侦听套接字只能接收新的连接请求,不能接收实际的数据包。套接字是基于TCP/IP实现的,
2012-08-10 18:47:07 588
原创 自定义包装流,以行读取字节
package client;import java.io.BufferedReader;import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;/** * 以行来读取 * @author r
2012-08-10 10:24:41 759
转载 \r \n有什么区别
'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来。下面转一篇文章。 http://javaeye-mao.iteye.com/blog/211354回车和换行 今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了。 在计算机还没有出现之前,有一种叫做电传打字机
2012-08-10 09:06:11 1274
原创 tocat 4.1中 HttpProcessor线程安全问题
1.将HttpProcessor 放入vector中,每次取子来一个处理请求,如果请求超过最大连接数,则直接socket.close();断开连接,tomcat4.x 不能实现连接的等待,因为processor一次只能处理一个请求,如果两个请求同时使用同一个proccessor的话,HttpProcessor 是通过下面的方法来处理的1.processor.assign(socket);将
2012-08-09 09:35:46 937
转载 Eclipse导入Tomcat源码
http://www.cnblogs.com/huangfox/archive/2011/10/20/2218970.html要研究下Tomcat的体系结构或者源码,最好将Tomcat的源码导入到ide中,编写实例进行代码跟踪(debug)。这里参考了网上一些资料,将自己操作过程记个流水账。准备:1.Tomcat源码下载这个里下载tomcat-6
2012-08-08 13:53:38 908
原创 浏览器向服务端发送的消息信息
POST /index.jsp HTTP/1.1Host: localhost:2224Connection: keep-aliveContent-Length: 30Cache-Control: max-age=0Origin: nullUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (K
2012-08-04 18:29:45 842
原创 中断为什么能结束线程
一个常用但但并不一定能中断线程方法(因为如果此线程阻塞,则前面的判断可能会永远执行不到)package seven;import java.math.BigInteger;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import common.U
2012-08-02 15:50:41 1051
转载 Java深度历险(三)——Java线程:基本概念、可见性与同步
http://www.infoq.com/cn/articles/cf-java-thread开发高性能并发应用不是一件容易的事情。这类应用的例子包括高性能Web服务器、游戏服务器和搜索引擎爬虫等。这样的应用可能需要同时处理成千上万个请求。对于这样的应用,一般采用多线程或事件驱动的架构。对于Java来说,在语言内部提供了线程的支持。但是Java的多线程应用开发会遇到很多问题。首
2012-08-02 10:11:36 838
原创 线程的中断
package seven;import common.Utils;/** * * 线程的阻塞 * 引起线程阻塞的方法有 sleep() wait(),join(会造成当前线程的阻塞,而前面两个会造成调用线程的阻塞) * 当线程阻塞时,会进行阻塞队列,当有一个线程向阻塞线程发出中断请求时,被请求线程会在合理时刻对请求 * 进行处理,如果被请求的线程处于阻塞状态,则其会抛出 I
2012-08-02 10:04:39 426
转载 Thread
Java Thread 总结 【显示目录】 Ø线程的概述(Introduction)线程是一个程序的多个执行路径,执行调度的单位,依托于进程存在。 线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间也叫做线程栈,是在建立线程时由系统分配的,主要用来保存线程内部所使用的数据,如线程执行函数中所定义的变量。注意:Java中的多
2012-08-01 19:41:36 1163
转载 ConcurrentSkipListMap
http://hi.baidu.com/yao1111yao/item/0f3008163c4b82c938cb306d-----------------ConcurrentSkipListMap----------------- ConcurrentSkipListMap提供了一种线程安全的并发访问的排序映射表。内部是SkipList(跳表)结构实现,在理论上能够
2012-08-01 15:10:22 6681 1
转载 SkipList跳表
SkipList 跳表博客分类: algorithms为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要
2012-08-01 15:09:03 666
文件的切割与合并
2011-10-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人