君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理
上一页 1 ··· 54 55 56 57 58 59 60 61 62 ··· 107 下一页

2012年10月17日 #

摘要: HttpClient 与 HtmlParser 简介本小结简单的介绍一下 HttpClinet 和 HtmlParser 两个开源的项目,以及他们的网站和提供下载的地址。HttpClient 简介HTTP 协议是现在的因特网最重要的协议之一。除了 WEB 浏览器之外, WEB 服务,基于网络的应用程序以及日益增长的网络计算不断扩展着 HTTP 协议的角色,使得越来越多的应用程序需要 HTTP 协议的支持。虽然 JAVA 类库 .net 包提供了基本功能,来使用 HTTP 协议访问网络资源,但是其灵活性和功能远不能满足很多应用程序的需要。而 Jakarta Commons HttpClient 阅读全文
posted @ 2012-10-17 17:22 刺猬的温驯 阅读(386) 评论(0) 推荐(0)

2012年10月16日 #

摘要: 转载http://blog.csdn.net/zhengzhb/article/category/926691java的动态绑定 所谓的动态绑定就是指程执行期间(而不是在编译期间)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。java继承体系中的覆盖就是动态绑定的,看一下如下的代码:[java]view plaincopyclassFather{publicvoidmethod(){System.out.println("ThisisFather'smethod");}}classSon1extendsFather{publicvoidmethod() 阅读全文
posted @ 2012-10-16 23:48 刺猬的温驯 阅读(200) 评论(0) 推荐(0)

摘要: HttpClient程序包是一个实现了 HTTP协议的客户端编程工具包,要想熟练的掌握它,必须熟悉 HTTP协议。对于HTTP协议来说,无非就是用户请求数据,服务器端响应用户请求,并将内容结果返回给用户。HTTP1.1由以下几种请求组成:GET,HEAD, POST, PUT, DELETE, TRACE ,OPTIONS,因此对应到HttpClient程序包中分别用HttpGet,HttpHead, HttpPost, HttpPut, HttpDelete, HttpTrace, HttpOptions 这几个类来创建请求。所有的这些类均实现了HttpUriRequest接口,故可以作为e 阅读全文
posted @ 2012-10-16 16:22 刺猬的温驯 阅读(567) 评论(0) 推荐(0)

摘要: HttpClient 是我最近想研究的东西,以前想过的一些应用没能有很好的实现,发现这个开源项目之后就有点眉目了,令人头痛的cookie问题还是有办法解决滴。在网上整理了一些东西,写得很好,寄放在这里。HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的 阅读全文
posted @ 2012-10-16 16:21 刺猬的温驯 阅读(303) 评论(0) 推荐(0)

2012年10月15日 #

摘要: 在上一篇文章中介绍了关于缓冲区的一些细节内容,现在终于可以进入NIO中最有意思的部分非阻塞I/O。通常在进行同步I/O操作时,如果读取数据,代码会阻塞直至有 可供读取的数据。同样,写入调用将会阻塞直至数据能够写入。传统的Server/Client模式会基于TPR(Thread per Request),服务器会为每个客户端请求建立一个线程,由该线程单独负责处理一个客户请求。这种模式带来的一个问题就是线程数量的剧增,大量的线程会增大服务器的开销。大多数的实现为了避免这个问题,都采用了线程池模型,并设置线程池线程的最大数量,这由带来了新的问题,如果线程池中有200个线程,而有200个用户都在进行大 阅读全文
posted @ 2012-10-15 22:59 刺猬的温驯 阅读(353) 评论(2) 推荐(0)

摘要: 在上一篇文章中介绍了缓冲区内部对于状态变化的跟踪机制,而对于NIO中缓冲区来说,还有很多的内容值的学习,如缓冲区的分片与数据共享,只读缓冲区等。在本文中我们来看一下缓冲区一些更细节的内容。缓冲区的分配在前面的几个例子中,我们已经看过了,在创建一个缓冲区对象时,会调用静态方法allocate()来指定缓冲区的容量,其实调用 allocate()相当于创建了一个指定大小的数组,并把它包装为缓冲区对象。或者我们也可以直接将一个现有的数组,包装为缓冲区对象,如下示例代码所示:[java]view plaincopyprint?publicclassBufferWrap{publicvoidmyMeth 阅读全文
posted @ 2012-10-15 22:59 刺猬的温驯 阅读(561) 评论(0) 推荐(0)

摘要: 在第一篇中,我们介绍了NIO中的两个核心对象:缓冲区和通道,在谈到缓冲区时,我们说缓冲区对象本质上是一个数组,但它其实是一个特殊的数组,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况,如果我们使用get()方法从缓冲区获取数据或者使用put()方法把数据写入缓冲区,都会引起缓冲区状态的变化。本文为NIO使用及原理分析的第二篇,将会分析NIO中的Buffer对象。在缓冲区中,最重要的属性有下面三个,它们一起合作完成对缓冲区内部状态的变化跟踪:position:指定了下一个将要被写入或者读取的元素索引,它的值由get()/put()方法自动更新,在新创建一个Buffer对象时,pos 阅读全文
posted @ 2012-10-15 22:58 刺猬的温驯 阅读(361) 评论(0) 推荐(0)

摘要: 最近由于工作关系要做一些Java方面的开发,其中最重要的一块就是Java NIO(New I/O),尽管很早以前了解过一些,但并没有认真去看过它的实现原理,也没有机会在工作中使用,这次也好重新研究一下,顺便写点东西,就当是自己学习 Java NIO的笔记了。本文为NIO使用及原理分析的第一篇,将会介绍NIO中几个重要的概念。在Java1.4之前的I/O系统中,提供的都是面向流的I/O系统,系统一次一个字节地处理数据,一个输入流产生一个字节的数据,一个输出流消费一个字节的数据,面向流的I/O速度非常慢,而在Java 1.4中推出了NIO,这是一个面向块的I/O系统,系统以块的方式处理处理,每一个 阅读全文
posted @ 2012-10-15 22:56 刺猬的温驯 阅读(492) 评论(0) 推荐(0)

2012年10月14日 #

摘要: 关于本系列本系列文章旨在将您的思维方式向函数式思维方式调整,使您以全新的角度来思考常见问题,并提高您的日常编码工作。本系列介绍了函数式编程概念,函数式编程在Java 语言中运行的框架、在JVM 上运行的函数式编程语言、以及语言设计未来的一些方向。本系列主要面向了解Java 以及其抽象层的工作方式,但缺乏函数式语言使用经验的开发人员。在本系列的第一期中,我首先讨论函数编程的一些特点,并演示如何在Java和其他函数语言中体现这些观念。在本文中,我将继续讨论这些概念,讲解一级函数、优化和闭包。但本期的内在主题是控制:什么时候想要控制、什么时候需要控制、什么时候应该放弃控制。一级(First-clas 阅读全文
posted @ 2012-10-14 21:15 刺猬的温驯 阅读(274) 评论(0) 推荐(0)

摘要: 面向对象的编程通过封装可变动的部分来构造能够让人读懂的代码,函数式编程则是通过最大程度地减少可变动的部分来构造出可让人读懂的代码。— Michael Feathers,Working with Legacy Code一文的作者,这篇文章是通过微博发表的关于本系列本系列的目标是重新塑造您对函数式编程思想的看法,帮助您从新的角度看待常见问题,找到改​​进日常编码的途径。它探讨了函数式编程的概念,支持在Java 语言中进行函数式编程的框架,运行在JVM 上的函数式编程语言,以及语言设计的一些未来发展方向。本系列面向想了解Java 及其抽象工作、但在使用功能性语言方面经验很少或根本没有经验的开发人员。 阅读全文
posted @ 2012-10-14 20:54 刺猬的温驯 阅读(369) 评论(0) 推荐(0)

上一页 1 ··· 54 55 56 57 58 59 60 61 62 ··· 107 下一页