摘要:
Reference: 《创建Java线程池》[1],《Java线程:新特征-线程池》[2], 《Java线程池学习》[3],《线程池ThreadPoolExecutor使用简介》[4],《Java5中的线程池实例讲解》[5],《ThreadPoolExecutor使用和思考》[6][1]中博主自己通过ThreadGroup实现一个线程池(挺方便理解的),使用的是jdk1.4版本,Jdk1.5版本以上提供了现成的线程池。[2]中介绍了java.util.concurrent.Executors类的API。[3]中介绍了Java中线程池的类体系结构。[4]中有ThreadPoolExecutor的 阅读全文
摘要:
这几天主要是狂看源程序,在弥补了一些以前知识空白的同时,也学会了不少新的知识(比如 NIO),或者称为新技术吧。线程池就是其中之一,一提到线程,我们会想到以前《操作系统》的生产者与消费者,信号量,同步控制等等。一提到池,我们会想到数据库连接池,但是线程池又如何呢?建议:在阅读本文前,先理一理同步的知识,特别是syncronized同步关键字的用法。关于我对同步的认识,要缘于大三年的一本书,书名好像是 Java 实战,这本书写得实在太妙了,真正的从理论到实践,从截图分析到.class字节码分析。哇,我想市场上很难买到这么精致的书了。作为一个Java爱好者,我觉得绝对值得一读。我对此书印象最深之一 阅读全文
摘要:
线程 Thread 类,和 Runable 接口 比较两者的特点和应用领域.可以,直接继承线程Thread类。该方法编写简单,可以直接操作线程,适用于单重继承情况,因而不能在继承其他类实现Runnable接口。当一个线程已继承了另一个类时,就只能用实现Runnable接口的方法来创建线程,且便于保持程序风格的一致性。我们知道,一个具有生命的线程,具有下面五种状态:创建状态使用new运算符创建一个线程后,该线程仅仅是一个空对象,系统没有分配资源,称该线程处于创建状态(new thread)可运行状态使用start()方法启动一个线程后,系统为该线程分配了除CPU外的所需资源,使该线程处于可运行状 阅读全文
摘要:
sftp>lls显示当前目录内容 sftp>lcdg:\进入本地g盘 sftp>putphpMyAdmin.zip将本地g盘下的phpMyAdmin.zip上传到/home sftp>getgscx.zip从/home下载gscx.zip文件到本地g盘以前在windows上,我要用ssh连接服务器,我一般都用putty。 这段时间一直在linux上工作,由于linux上一般都自带ssh客户端,也就是ssh命令了,此外还有一个命令sftp,用来安全的传送文件,今天为了管理linux服务器,用到了linux下的这两个命令行工具,现就其最常用的用法描述如下: 假定服务器ip为 阅读全文
摘要:
因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”。它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法回答补充:写这个方法的用途就是为了方便操作,所以在文件操作里面可用可不用例子1:public class Orc{ public static class A { public String toS... 阅读全文
摘要:
1 /*@author shijin 2 * 生产者与消费者模型中,要保证以下几点: 3 * 1 同一时间内只能有一个生产者生产 生产方法加锁sychronized 4 * 2 同一时间内只能有一个消费者消费 消费方法加锁sychronized 5 * 3 生产者生产的同时消费者不能消费 生产方法加锁sychronized 6 * 4 消费者消费的同时生产者不能生产 消费方法加锁sychronized 7 * 5 共享空间空时消费者不能继续消费 消费前循环判断是否为空,空的话将该线程wait,释放锁允许其他同... 阅读全文