这是一个防止程序运行多次的程序!有几个看不懂!
为什么这个程序能实现防止运行多次呢? 
 FileChannel,FileLock   这2个类到底有什么用啊. 
 文件通道到底是什么东东?      
 import   java.io.File; 
 import   java.io.RandomAccessFile; 
 import   java.nio.channels.FileChannel; 
 import   java.nio.channels.FileLock; 
 import   java.nio.channels.OverlappingFileLockException; 
 import   java.util.RandomAccess; 
 import   javax.swing.JOptionPane;   
 public   class   A1   {   
 	private   FileChannel   channel;//文件通道究竟   是什么东西?   
 	private   FileLock   lock;//还有这个类.   
 	private   File   file;   
 	public   A1(String   lockFileName)   { 
 		file   =   new   File(lockFileName); 
 	}   
 	public   boolean   isAppActive()   { 
 		try   { 
 			channel   =   new   RandomAccessFile(file,    "rw ").getChannel(); 
 			try   { 
 				lock   =   channel.tryLock();   
 			}   catch   (OverlappingFileLockException   e)   { 
 				closeLock(); 
 				return   true; 
 			} 
 			if   (lock   ==   null)   { 
 				closeLock(); 
 				return   true; 
 			} 
 			Runtime.getRuntime().addShutdownHook(new   Thread()   { 
 				public   void   run()   { 
 					closeLock(); 
 					deleteFile(); 
 				} 
 			}); 
 			return   false; 
 		}   catch   (Exception   e)   { 
 			closeLock(); 
 			return   true; 
 		} 
 	}   
 	protected   void   deleteFile()   { 
 		try   { 
 			file.delete(); 
 		}   catch   (Exception   e)   {   
 		}   
 	}   
 	private   void   closeLock()   { 
 		try   { 
 			lock.release(); 
 		}   catch   (Exception   e)   {   
 		}   
 		try   { 
 			channel.close(); 
 		}   catch   (Exception   e)   {   
 		}   
 	}   
 	public   static   void   main(String[]   args)   { 
 		A1   a   =   new   A1( ".lock "); 
 		if   (a.isAppActive()   ==   true) 
 			JOptionPane.showMessageDialog(null,    "已有一个程序在运行,程序退出 ");   
 		try   { 
 			Thread.sleep(10000); 
 		}   catch   (InterruptedException   e)   { 
 			//   TODO   Auto-generated   catch   block 
 			e.printStackTrace(); 
 		}   
 	}   
 }   
------解决方案--------------------路过,学习!
------解决方案--------------------是用来锁定的 一旦有该程序运行 就对其进行锁定,打开时县要通过这些 来判断是否有一个相同程序已经在运行
------解决方案--------------------真是学无止境啊! 
 看了lz的程序 
 才去翻了翻API 
 第一次知道还有nio这个包(才疏学浅,见笑了) 
 java.io 类 RandomAccessFile 
 java.nio.channels 类 FileChannel 
 里面都说的很清楚了,lz可以自己看看。