易截截图软件、单文件、免安装、纯绿色、仅160KB

java读写锁实现机制

package thread.lock;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
/**
 * @file_name ReadAndWriteLockDemo.java
 * @description 读写锁DEMO
 * @author 张明亮
 * @date 2009.09.27
 */
public class ReadAndWriteLockDemo {
 ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock();
 // 读锁
 Lock rLock = rwLock.readLock();
 // 写锁
 Lock wLock = rwLock.writeLock();
 // 货架
 List<String> stock = new ArrayList<String>();
    //互斥锁
 ReentrantLock lock = new ReentrantLock();
 /**
  * 商品买卖
  * <br>
  * 当商品数量小于1时,释放读锁并获取写锁 生产商品后,
  * <br>
  * 锁降级在写锁保护下重新获取读锁并消费商品
  */
 public void sell() {
//  lock.lock();
  try {
   rLock.lock();
   if (stock.size() <= 0) {
    rLock.unlock();
    wLock.lock();
    manufacture();
    rLock.lock();
    wLock.unlock();
   }
   consume();
   rLock.unlock();
  } finally {
//   lock.unlock();
  }
 }
 /**
  * 生产商品
  */
 private void manufacture() {
  stock.add("product");
 }
 /**
  * 消费商品
  */
 private void consume() {
  System.err.println(stock.remove(0));
 }
 public static void main(String[] args) {
  final ReadAndWriteLockDemo rwDemo = new ReadAndWriteLockDemo();
  rwDemo.sell();
//  Thread t1 = new Thread("threa--1") {
//   public void run() {
//    rwDemo.sell(


相关文档:

Java 有关IO类的注释/说明


InputSteam,OutputStream:对字节的操作
Reader,Writer:对字符的操作
InputStreamReader,OutputStreamReader:字节->字符的转换,字符->字节的转换
FilterInputSteam,FilterOutputStream:过滤字节输入流(输出流)的超类
FilterReader,FilterWriter:过滤字符输入流(输出流)的超类
BufferedInputStream,BufferedOutp ......

Java常用正则表达式

java常用正则表达式
只能输入数字:"^[0-9]*$"。
只能输入n位的数字:"^\d{n}$"。
只能输入至少n位的数字:"^\d{n,}$"。
只能输入m~n位的数字:。"^\d{m,n}$"
只能输入零和非零开头的数字:"^0|[1-9][0-9]*$"。
只能输入有两位小数的正实数:"^[0-9]+( ......

Java调用存储过程


 
 
 
Java调用存储过程
本文阐述了怎么使用DBMS存储过程。我阐述了使用存储过程的基本的和高级特性,比如返回ResultSet。本文假设你对DBMS和JDBC已经非常熟悉,也假设你能够毫无障碍地阅读其它语言写成的代码(即不是Java的语言),但是,并不要求你有任何存储过程的编程经历。
存储过程是指保存在 ......

java时间函数,以及 sql 时间范围查找 代码

 String keyword = request.getParameter("keyword");
   String timeRange = request.getParameter("timeRange");
   String type = request.getParameter("type");
  
   StringBuffer sql = new StringBuffer();
   sql.append("use webstation_leadall s ......

Java中static用法


转自
http://blog.pfan.cn/sword2008/13772.html
一、static
  请先看下面这段程序:
  public class Hello{
    public static void main(String[] args){
//(1)
      System.out.println("Hello,world!");   //(2)
    ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号