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

java 自己实现 ReadWriteLock (一)


多线程读写同一个对象的数据是很普遍的,通常,要避免读写冲突,必须保证任何时候仅有一个线程在写入,有线程正在读取的时候,写入操作就必须等待。简单说,就是要避免“写-写”冲突和“读-写”冲突。但是同时读是允许的,因为“读-读”不冲突,而且很安全。
要实现以上的ReadWriteLock,简单的使用synchronized就不行,我们必须自己设计一个ReadWriteLock类,在读之前,必须先获得“读锁”,写之前,必须先获得“写锁”。举例说明:
DataHandler对象保存了一个可读写的char[]数组:
package com.crackj2ee.thread;
public class DataHandler {
    // store
data:
    private
char[] buffer = "AAAAAAAAAA".toCharArray();
    private
char[] doRead() {
       
char[] ret = new char[buffer.length];
       
for(int i=0; i<buffer.length; i++) {
           
ret[i] = buffer[i];
           
sleep(3);
       
}
       
return ret;
    }
    private void
doWrite(char[] data) {
       
if(data!=null) {
           
buffer = new char[data.length];
           
for(int i=0; i<buffer.length; i++) {
               
buffer[i] = data[i];
               
sleep(10);
           
}
       
}
    }
    private void
sleep(int ms) {
       
try {
   &nb


相关文档:

java项目 java web项目数据库乱码问题的解决办法

作为java菜鸟,在学习到数据库操作的时候往往会遇到一个很头痛的问题,数据库中文乱码。这似乎是每个java程序员在成长过程中都会遇到的问题,下面我就把我自己的几种方法和大家分享一下。(一般是在MyEclipse下开发)
java项目:
首先,确保项目的编码是gbk或utf-8(),在Windows->Preferences->General->Workplac ......

flex通过HTTPService与java通信的小例子

 适合初学者理解
1,testflex.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="init()"
minWidth="955 ......

Java精典面试题推荐二(大家可以把自己的答案附上)

***此题以考察基础为准,北京的笔试题,可能有人做过
题:写一个程序,解析如下格式的字符串,并将解析的数字序列打印出来。
   字符串格式举例: -1~2, 3~3, 5~10, 7~15x3
   ~ 代表数字的范围, -1~2 代表从-1开始到2之间的所有数字。 3~3 代表从3开始到3的所有数字,也就是3
   7~15x3代 ......

java实现读取XML文件数据插入到数据库中

package com.flxx.docUrl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jd ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号