- 博客(15)
- 资源 (9)
- 收藏
- 关注
转载 java线程池实例
本里程演示了使用JDK自带的多线程机制的使用方法。一个简单的例程,加上注释,很好地说明了使用jdk实现线程池的方法,适合初学者入门。package com.cjt.thread.threadpool;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class Conc
2008-11-16 22:25:00 7684 2
原创 创建Java中的线程池
线程是Java的一大特性,它可以是给定的指令序列、给定的方法中定义的变量或者一些共享数据(类一级的变量)。在Java中每个线程有自己的堆栈和程序计数器(PC),其中堆栈是用来跟踪线程的上下文(上下文是当线程执行到某处时,当前的局部变量的值),而程序计数器则用来跟踪当前线程正在执行的指令。在通常情况下,一个线程不能访问另外一个线程的堆栈变量,而且这个线程必须处于如下状态之一: 1.排队状态
2008-11-16 22:19:00 1711
转载 java nio剖析
java nio的全称是java new I/O,即一个全新的I/O控制系统,它的API的包名为java.nio,是在jdk1.4后引入的。nio之所以为为新,在于它并没在原来I/O的基础上进行开发,而是提供了全新的类和接口,除了原来的基本功能之外,它还提供了以下新的特征: ► 多路选择的非封锁式I/O设施 ►支持文件锁和内存映射 ►支持
2008-11-16 21:56:00 869
转载 如何通过JNI传递对象执行回调
JNI的全称是java native interface,用来调用某些特定于系统平台或者硬件的操作,但是它只能调用c/c++的代码,若是其它语言代码,只能通过c/c++进行二次调用。关于JNI的完整技术文档,大家可以查看下面这个网址:http://java.sun.com/j2se/1.5.0/docs/guide/jni/ 下面我们看下JNI如何执行回调函数:我们知道在c/
2008-11-16 21:36:00 4272
原创 多线程案例:生产者和消费者
1.生产和消费的产品抽象类:public abstract class Product { public String name; public abstract String toString();}2.一个具体的产品类:public class AProduct extends Product { public AProduct(String
2008-11-16 21:33:00 731
转载 由生产者/消费者问题看JAVA多线程
生产者消费者问题是研究多线程程序时绕不开的问题,它的描述是有一块生产者和消费者共享的有界缓冲区,生产者往缓冲区放入产品,消费者从缓冲区取走产品,这个过程可以无休止的执行,不能因缓冲区满生产者放不进产品而终止,也不能因缓冲区空消费者无产品可取而终止。 解决生产者消费者问题的方法有两种,一种是采用某种机制保持生产者和消费者之间的同步,一种是在生产者和消费者之间建立一个管道
2008-11-16 21:32:00 1861 2
转载 Java多线程设计模式:wait/notify机制
通常,多线程之间需要协调工作。例如,浏览器的一个显示图片的线程displayThread想要执行显示图片的任务,必须等待下载线程downloadThread将该图片下载完毕。如果图片还没有下载完,displayThread可以暂停,当downloadThread完成了任务后,再通知displayThread“图片准备完毕,可以显示
2008-11-16 20:54:00 578
转载 Java 多线程编程
我们不妨设想,为了创建一个新的线程,我们需要做些什么?很显然,我们必须指明这个线程所要执行的代码,而这就是在Java中实现多线程我们所需要做的一切! 真是神奇!Java是如何做到这一点的?通过类!作为一个完全面向对象的语言,Java提供了类 java.lang.Thread 来方便多线程编程,这个类提供了大量的方法来方便我们控制自己的各个线程,我们以后的讨论都将围绕这个类进行。 那么如
2008-11-16 20:45:00 801
转载 Java线程阻塞
阻塞指的是暂停一个线程的执行以等待某个条件发生(如某资源就绪),学过操作系统的同学对它一定已经很熟悉了。Java 提供了大量方法来支持阻塞,下面让我们逐一分析。 1. sleep() 方法:sleep() 允许 指定以毫秒为单位的一段时间作为参数,它使得线程在指定的时间内进入阻塞状态,不能得到CPU 时间,指定的时间一过,线程重新进入可执行状态。 典型地,sleep() 被用在等待某个资源就绪
2008-11-16 20:27:00 10781
转载 多线程编程 -wait(),notify()/notityAll()方法
[wait(),notify()/notityAll()方法] QV.]h m8{B/_ Xh 关于这两个方法,有很多的内容需要说明.在下面的说明中可能会有很多地方不能一下子 8asRZ*o 明白,但在看完本节后,即使不能完全明白,你也一定要回过头来记住下面的两句话: pRCd1ONk 1 /p;z- [wait(),notify()/
2008-11-16 20:19:00 1273
原创 关于递归
private static String findFile(String filePath, String fileName) throws IOException { // TODO Auto-generated method stub File file = new File(filePath); if (!file.isDir
2008-11-12 00:21:00 646
原创 再看PetStore
Petstore 很早以前看过了的,听说是什么学JAVA必看,时间长了都没什么印象了,今天再看一篇,觉得又学了不少东西。。看来好东西还是得经常看啊。。下面对Petstore的代码做一个简单的分析和梳理,以便下次看的时候更快捷。。我把它分四了个部分,其实还可以分的更细,不过大体先这样分,更细的在这四个下面再分好来(按包名):1.domain POJO部分2.persistence 数据持久层3.se
2008-11-09 21:13:00 854
转载 Tomcat内存设置方法
Tomcat内存设置方法windows中大家都知道,JAVA程序启动时都会JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。 所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms
2008-11-07 18:44:00 1784
转载 使用Java Service Wrapper设置tomcat作为linux服务并且开机自动启动
前几天总结了使用JSVC来设置tomcat作为linux服务并且开机自动启动,但是如果要更专业一点来控制tomcat的启动,使用Java Service Wrapper应该不失为一个好的选择,下面来总结一下Java Service Wrapper在Linux中对于tomcat启动的设置: 1、安装JDK、Tomcat,此处略过。比如tomcat安装在/opt/tomcat目录中。 2、使用命令wg
2008-11-07 18:00:00 1497
原创 iBATIS
IntroductionThe iBATIS Data Mapper framework will help you to significantly reduce the amount of Java code that younormally need to access a relational database. iBATIS simply maps JavaBeans to SQL st
2008-11-03 16:24:00 569
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人