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

博客园 首页 新随笔 联系 订阅 管理
上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 106 下一页

2013年11月3日 #

摘要: 本系列文章导航深入浅出Java多线程(1)-方法 join深入浅出Java多线程(2)-Swing中的EDT(事件分发线程)深入浅出多线程(3)-Future异步模式以及在JDK1.5Concurrent包中的实现深入浅出多线程(4)对CachedThreadPool OutOfMemoryError难题的一些想法深入浅出多线程(5)以并行包线程池为例说说线程池的设计需求及使用深入浅出多线程(6)分析并行包线程池的设计与实现 接深入浅出多线程系列4, 线程对象的创建和销毁是需要花费系统资源的,通过线程池,可以避免该问题并提高系统的响应时间。这种情形类似我们常提到的数据库连接池。 线程池... 阅读全文
posted @ 2013-11-03 15:24 刺猬的温驯 阅读(328) 评论(0) 推荐(0) 编辑

摘要: 本系列文章导航深入浅出Java多线程(1)-方法 join深入浅出Java多线程(2)-Swing中的EDT(事件分发线程)深入浅出多线程(3)-Future异步模式以及在JDK1.5Concurrent包中的实现深入浅出多线程(4)对CachedThreadPool OutOfMemoryError难题的一些想法深入浅出多线程(5)以并行包线程池为例说说线程池的设计需求及使用深入浅出多线程(6)分析并行包线程池的设计与实现 接上篇,在上篇中介绍了线程池的设计需求以及使用,在这里我们分析Concurrent包中线程池的实现类 ThreadPoolExecutor的设计,是不是感觉没意义,人家. 阅读全文
posted @ 2013-11-03 15:01 刺猬的温驯 阅读(361) 评论(0) 推荐(0) 编辑

2013年10月27日 #

摘要: 简介:不可否认,万维网是到目前为止世界上最丰富和最密集的信息来源。但是,它的结构使它很难用系统的方法来利用信息。本文描述的方法和工具将使那些熟悉 Web 最常用技术的开发人员能快速而便捷地获取他们所需的以 Web 方式发布的信息。在信息时代快速成长起来的万维网导致各种各样的公用信息被大量分发。 不幸的是,尽管作为信息主要载体的 HTML 提供了一种方便地向读者呈现信息的方法, 但它可能并不是一个很好的可以从中自动抽取与数据驱动的服务或应用程序相关的信息的结构。已经尝试了多种方法来解决这个问题。大多数方法都采用一些专用查询语言的形式 把 HTML 页面的各个部分映射成代码,而这些代码将 Web 阅读全文
posted @ 2013-10-27 19:08 刺猬的温驯 阅读(762) 评论(0) 推荐(0) 编辑

2013年10月20日 #

摘要: 【背景】最近和之前,折腾了这个:【教程】模拟登陆百度之Java代码版然后,对于Java的HttpClient,有了点了解。现在整理如下:Java本身没有Http相关的库Java本身,没有内置对应的Http相关的库函数(与此对应的是,关于http处理,其他语言,都有内置的库:Python有内置的urllib,urllib2等模块C#有System.Net,System.Web相关库)Java中用的最多的http的库就是:HttpClient而关于网络处理,http相关处理,则用的最多的就是:HttpClient而HttpClient,是Apache这个组织所发布的。其对应的,完整的名称其实是:A 阅读全文
posted @ 2013-10-20 17:07 刺猬的温驯 阅读(10750) 评论(1) 推荐(0) 编辑

2013年10月12日 #

摘要: apache mina是一个基于java nio的网络通信框架,为TCP UDP ARP等协议提供了一致的编程模型;其源码结构展示了优秀的设计案例,可以为我们的编程事业提供参考。依照惯例,首先搭建apache mina 2.0的开发环境,本人采用maven作为项目管理工具,需要添加的依赖pom.xm... 阅读全文
posted @ 2013-10-12 00:37 刺猬的温驯 阅读(604) 评论(0) 推荐(1) 编辑

2013年10月2日 #

摘要: 本文可看成是对Doug Lea Scalable IO in Java一文的翻译。当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作。他们都有一个共同的结构:1. Read request2. Decode request3. Process service4. Encode reply5. Send reply经典的网络服务的设计如下图,在每个线程中完成对数据的处理:但这种模式在用户负载增加时,性能将下降非常的快。我们需要重新寻找一个新的方案,保持数据处理的流畅,很显然,事件触发机制是最好的解决办法,当有事件发生时,会触动handler,然后开始 阅读全文
posted @ 2013-10-02 18:47 刺猬的温驯 阅读(433) 评论(0) 推荐(0) 编辑

2013年9月15日 #

摘要: 目录(?)[-]Future PatternTwo-Phase Termination PatternThread-Specific Storage PatternActive Object PatternFuture Pattern 在Thread-Per-Message Pattern中,我们研究过“收到每个请求建立一个线程”的做法,但这样的请求是不要求有返回值的。如果当需要返回值,但由于后台处理需要很久,返回值 不能马上获取,那么就可以使用 Future Pattern。Future Pattern同样会每个请求建立一个线程处理,同时会马上返回一个对象,但该对象并不是真正的返回值,真.. 阅读全文
posted @ 2013-09-15 01:16 刺猬的温驯 阅读(512) 评论(0) 推荐(1) 编辑

摘要: 目录(?)[-]Read-Wirte Lock PatternThread-Per-Message PatternWorker Thread PatternRead-Wirte Lock Pattern Read-Write Lock Pattern 将读取和写入分开来处理。在读取数据之前,必... 阅读全文
posted @ 2013-09-15 01:13 刺猬的温驯 阅读(497) 评论(0) 推荐(0) 编辑

摘要: 目录(?)[-]Guarded Suspension PatternBalking Pattern Producer-Consumer Pattern Guarded Suspension Pattern 该模式描述的是当一个线程在执行某个操作时,但由于其他资源还没有准备好,需要等待,那么就等待资源准备好才开始自己的操作。我们直接看代码例子:[java] view plaincopypublicclassRequest{privateStringname;publicRequest(Stringname){this.name=name;}publicStringgetName(){retur. 阅读全文
posted @ 2013-09-15 01:06 刺猬的温驯 阅读(575) 评论(0) 推荐(0) 编辑

摘要: 目录(?)[-]Java多线程基础Thread类的run方法和start方法线程的启动线程的暂时停在线程的共享互斥线程的协调Single Threaded Execution PatternJava多线程基础Thread类的run方法和start方法 Java语言写成的程序一定是先从主线程开始操作,所以必须在程序的某个位置启动新的线程,才能算是真正的多线程程序。start()方法是 Thread类的方法,调用start()方法,就会启动新的线程。请注意,被调用来启动线程的是start()方法,而非run()方法。调用 start()方法之后,Java执行处理系统会在背后启动新的线程。再由这.. 阅读全文
posted @ 2013-09-15 01:00 刺猬的温驯 阅读(1659) 评论(0) 推荐(1) 编辑

上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 106 下一页