- 博客(7)
- 资源 (15)
- 收藏
- 关注
原创 Java 程序中的多线程
一、为什么会排队等待?下面的这个简单的 Java 程序完成四项不相关的任务。这样的程序有单个控制线程,控制在这四个任务之间线性地移动。此外,因为所需的资源 ― 打印机、磁盘、数据库和显示屏 -- 由于硬件和软件的限制都有内在的潜伏时间,所以每项任务都包含明显的等待时间。因此,程序在访问数据库之前必须等待打印机完成打印文件的任务,等等。如果您正在等待程序的完成,则这是对计算资源和您的时间的一种
2008-07-21 11:53:00 928
原创 同步synchronized方法和代码块
打个比方:一个object就像一个大房子,大门永远打开。房子里有很多房间(也就是方法)。这些房间有上锁的(synchronized方法),和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调用该对象方法的线程比喻成想进入这房子某个房间的人。所有的东西就这么多了,下面我们看看这些东西之间如何作用的。在此我们先来明确一下我们的前提条件。该对象至少
2008-07-18 17:44:00 5113 5
原创 单例模式的经典代码——线程池集合
import java.util.HashMap;/** * 线程池集合类 * 这个类负责在JVM中创建一个唯一的线程池集合, * 集合中有多个线程池,通过ThreadPoolSetCreator去创建 * 这个类采用单例模式实现 * * Copyright: Copyright (c) 2005 * * Company: AsiaInfo.com * * @author Dapple Wa
2008-07-18 17:31:00 4104
原创 线程池与工作队列
线程池主要用来解决线程生命周期开销问题和资源不足问题。通过对多个任务重用线程,线程创建的开销就被分摊到了多个任务上了,而且由于在请求到达时线程已经存在,所以消除了线程创建所带来的延迟。这样,就可以立即为请求服务,使应用程序响应更快。另外,通过适当地调整线程池中的线程数目可以防止出现资源不足的情况。线程池中的所有线程主动从工作队列中寻找需要执行的工作。线程池中的所有线程主动从工作队列
2008-07-18 17:25:00 1026
原创 synchronized 锁的实现方法
在 Java 编程中,所有的对象都有锁。线程可以使用 synchronized 关键字来获得锁。在任一时刻对于给定的类的实例,方法或同步的代码块只能被一个线程执行。这是因为代码在执行之前要求获得对象的锁。class CopyMachine { public synchronized void makeCopies(Document d, int nCopies) { /
2008-07-18 17:18:00 896
原创 左连接和右连接
数据库查询分为单表查询、连接查询、嵌套查询、集合查询。其中连接查询指涉及两个及以上表的查询,有等值连接、非等值连接、自然连接、自身连接、外连接五种。1、等值连接和非等值连接指where子句的查询条件(运由比较算符连接起来的条件,比较运算符有= >= 等)。比如: select student.*,sc.* from student,sc where student.sno=sc.sn
2008-07-15 17:24:00 1582
原创 TagLib 教程
一、概要: 1、JSP标签技术始于JSP1.12、作用:代码复用;JSP页面简洁3、四个步骤: A、创建实现标签功能的JAVA类(Bean或Servlet) B、创建标签库的描述文件 C、web.xml中添加标签库说明 D、JSP页面中添加标签库说明,及使用标签4、标签可以访问的数据范围类型:applicationsessionrequ
2008-07-14 17:27:00 1078
梁肇新的编程高手箴言
2008-10-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人