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.lang.OutOfMemoryError: Java heap space 引起了我上传出错。我解决办法就是看你使用的tomcat服务器版本是什么样的,如果你的tomcat/bin下边有tomcatw.exe 就方便了,直接可视化操作哦下下图
其中设置初始内存池和最大内存池,设置原则是根据你的物理内存来定。
如果 ......
一、Java中调用servlet说明:
我们有时可能需要在Java类中调用Servlet从而实现某些特殊的功能,在JavaAPI中提供了一个URL的类,其中openStream( )方法可以打开URL的连接,并返回一个用于该连接读入的InputStream。
二、Java中调用servlet应用举例:
package com.solid.test;
import java.io.BufferedReader;
import ja ......
java常用正则表达式
只能输入数字:"^[0-9]*$"。
只能输入n位的数字:"^\d{n}$"。
只能输入至少n位的数字:"^\d{n,}$"。
只能输入m~n位的数字:。"^\d{m,n}$"
只能输入零和非零开头的数字:"^0|[1-9][0-9]*$"。
只能输入有两位小数的正实数:"^[0-9]+( ......
运行自己配置的web应用,往往只能看见weblogic编译之后的class文件。而看不见编译前的java的文件。为了调试方便,我们有时候是想看编译前的java文件。
在weblogic.xml中加入
<jsp-descriptor>
<jsp-param>
<param-name>keepgenerated</param-name>
<param-value>true</par ......
1.概述
JSP是一种实现普通静态HTML和动态HTML混合编码的技术。
JSP最终会被转换成标准的Servlet!!!
JSP设计的目的在于简化表示层的表示。
JSP页面的其他成分主要有如下三种:
脚本元素
指令
动作
例如:
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.util.*& ......