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

博客园 首页 新随笔 联系 订阅 管理
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 107 下一页

2013年8月2日 #

摘要: 上文中描述的简单的服务器是不符合Servlet规范的,所以本文进一步描述一个简单的Servlet容器是怎么实现的所以我们首先要明白Servlet接口规范,规范有不同版本,本人就先一视同仁了:public interface Servlet { public void init(Serv... 阅读全文
posted @ 2013-08-02 01:18 刺猬的温驯 阅读(458) 评论(0) 推荐(0)

2013年8月1日 #

摘要: 我们这些可怜虫,只有沿着大神的思路,这样我们才能进步得更快;因为我们不是跟大神处于同一级别上。所以我这里是参考《How Tomcat Works》这本英文版的大作来理解tomcat的工作原理本人认为,Tomcat容器源码是学习java编程以及设计模式等的绝佳范例,深入理解其源码对我辈开发人员的编程水... 阅读全文
posted @ 2013-08-01 06:51 刺猬的温驯 阅读(530) 评论(0) 推荐(0)

2013年7月31日 #

摘要: 简介:这个分为两个部分的系列文章研究了 Apache Tomcat 服务器的系统架构以及其运用的很多经典设计模式。第 1 部分分析了 Tomcat 的工作原理,第 2 部分将分析 Tomcat 中运用的许多经典设计模式,如模版模式、工厂模式和单例模式等。通过学习它们的实践运用能给我们以后的软件设计起到一定的借鉴作用。门面设计模式门面设计模式在 Tomcat 中有多处使用,在 Request 和 Response 对象封装中、Standard Wrapper 到 ServletConfig 封装中、ApplicationContext 到 ServletContext 封装中等都用到了这种设计模 阅读全文
posted @ 2013-07-31 06:28 刺猬的温驯 阅读(352) 评论(0) 推荐(0)

摘要: 简介:这个分为两个部分的系列文章将研究 Apache Tomcat 的系统架构以及其运用的很多经典设计模式。本文是第 1 部分,将主要从 Tomcat 如何分发请求、如何处理多用户同时请求,还有它的多级容器是如何协调工作的角度来分析 Tomcat 的工作原理,这也是一个 Web 服务器首要解决的关键问题。本文以 Tomcat 5 为基础,也兼顾最新的 Tomcat 6 和 Tomcat 4。Tomcat 的基本设计思路和架构是具有一定连续性的。Tomcat 总体结构Tomcat 的结构很复杂,但是 Tomcat 也非常的模块化,找到了 Tomcat 最核心的模块,您就抓住了 Tomcat 的“ 阅读全文
posted @ 2013-07-31 06:26 刺猬的温驯 阅读(368) 评论(0) 推荐(0)

2013年7月29日 #

摘要: 本人有一段时间没有接触企业搜索引擎之连接器的开发了,连接器是涉及企业搜索引擎一个重要的组件,在数据源与企业搜索引擎中间起一个桥梁的作用,类似于数据库之JDBC,通过连接器将不同数据源的数据适配到企业搜索引擎系统本文将描述怎样构建连接器应用实例,并开发一个简单的客户端进行测试我们先用myeclipse... 阅读全文
posted @ 2013-07-29 05:27 刺猬的温驯 阅读(973) 评论(0) 推荐(0)

2013年7月25日 #

摘要: 今天有兴趣重新看了一下heritrix3.1.0系统里面的线程池源码,heritrix系统没有采用java的cocurrency包里面的并发框架,而是采用了线程组ThreadGroup类来实现线程池的(线程组类似于树结构,一个线程组包含多个子线程组或多个子线程,数据结构类似于composite模式,... 阅读全文
posted @ 2013-07-25 05:50 刺猬的温驯 阅读(1283) 评论(0) 推荐(0)

摘要: 简单的说, 就是客户端根据WSDL 生成 SOAP 的请求消息, 通过 HTTP 传输方式(也可以是其它传输方式, 如 FTP 或STMP 等,目前 HTTP 传输方式已经成为 J2EE Web Service 的标准)传给对方, 服务方实现服务请求,Web Service(Web服务)将结果以 SOAP 的消息格式返回给客户端。如果人工去创建和解析基于 XML 格式的 SOAP 消息还是一个非常复杂的过程, 这样 JAX-RPC 应时而生, 他实现了J2EE Web Sercive 的远程分布式调用。JAX - RPC :Java APIs for XML-Based Remote Proc 阅读全文
posted @ 2013-07-25 01:43 刺猬的温驯 阅读(1475) 评论(0) 推荐(0)

2013年7月23日 #

摘要: 锁的劣势 Java在JDK1.5之前都是靠synchronized关键字保证同步的,这种通过使用一致的锁定协议来协调对共享状态的访问,可以确保无论哪个线程 持有守护变量的锁,都采用独占的方式来访问这些变量,如果出现多个线程同时访问锁,那第一些线线程将被挂起,当线程恢复执行时,必须等待其它线程执行完他 们的时间片以后才能被调度执行,在挂起和恢复执行过程中存在着很大的开销。锁还存在着其它一些缺点,当一个线程正在等待锁时,它不能做任何事。如果一个线 程在持有锁的情况下被延迟执行,那么所有需要这个锁的线程都无法执行下去。如果被阻塞的线程优先级高,而持有锁的线程优先级低,将会导致优先级反转 (Prior 阅读全文
posted @ 2013-07-23 02:21 刺猬的温驯 阅读(2628) 评论(0) 推荐(2)

2013年7月22日 #

摘要: 简介:Java™ 5.0 第一次让使用 Java 语言开发非阻塞算法成为可能,java.util.concurrent 包充分地利用了这个功能。非阻塞算法属于并发算法,它们可以安全地派生它们的线程,不通过锁定派生,而是通过低级的原子性的硬件原生形式 —— 例如比较和交换。非阻塞算法的设计与实现极为困难,但是它们能够提供更好的吞吐率,对生存问题(例如死锁和优先级反转)也能提供更好的防御。在这期的 Java 理论与实践 中,并发性大师 Brian Goetz 演示了几种比较简单的非阻塞算法的工作方式。在不只一个线程访问一个互斥的变量时,所有线程都必须使用同步,否则就可能会发生一些非常糟糕的事情。J 阅读全文
posted @ 2013-07-22 17:55 刺猬的温驯 阅读(393) 评论(0) 推荐(1)

摘要: 简介:在 JDK 5.0 之前,如果不使用本机代码,就不能用 Java 语言编写无等待、无锁定的算法。在 java.util.concurrent 中添加原子变量类之后,这种情况发生了变化。请跟随并行专家 Brian Goetz 一起,了解这些新类如何使用 Java 语言开发高度可伸缩的无阻塞算法。您可以在本文的 论坛中与作者或其他读者共享您对本文的看法。(也可以通过单击文章顶部或者底部的 讨论链接来访问讨论。)十五年前,多处理器系统是高度专用系统,要花费数十万美元(大多数具有两个到四个处理器)。现在,多处理器系统很便宜,而且数量很多,几乎每个主要微处理器都内置了多处理支持,其中许多系统支持数 阅读全文
posted @ 2013-07-22 17:42 刺猬的温驯 阅读(501) 评论(0) 推荐(0)

上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 107 下一页