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(
相关文档:
InputSteam,OutputStream:对字节的操作
Reader,Writer:对字符的操作
InputStreamReader,OutputStreamReader:字节->字符的转换,字符->字节的转换
FilterInputSteam,FilterOutputStream:过滤字节输入流(输出流)的超类
FilterReader,FilterWriter:过滤字符输入流(输出流)的超类
BufferedInputStream,BufferedOutp ......
java常用正则表达式
只能输入数字:"^[0-9]*$"。
只能输入n位的数字:"^\d{n}$"。
只能输入至少n位的数字:"^\d{n,}$"。
只能输入m~n位的数字:。"^\d{m,n}$"
只能输入零和非零开头的数字:"^0|[1-9][0-9]*$"。
只能输入有两位小数的正实数:"^[0-9]+( ......
Java调用存储过程
本文阐述了怎么使用DBMS存储过程。我阐述了使用存储过程的基本的和高级特性,比如返回ResultSet。本文假设你对DBMS和JDBC已经非常熟悉,也假设你能够毫无障碍地阅读其它语言写成的代码(即不是Java的语言),但是,并不要求你有任何存储过程的编程经历。
存储过程是指保存在 ......
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 ......
转自
http://blog.pfan.cn/sword2008/13772.html
一、static
请先看下面这段程序:
public class Hello{
public static void main(String[] args){
//(1)
System.out.println("Hello,world!"); //(2)
......