Java 线程中记录日志
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
public class ThreadLog
{
private final static String _detailLogFile = "log"+File.separator+"detail";
private static boolean _logFlag = true;
private static HashMap<String, String> _threadDetailFile = new HashMap<String, String>();
private static int _fileIndex = 1;
private static void generateLogFile(String fileName)
{
String absoluteFilePath = ProjectConfig.getNFSCAbsolutePath() +
File.separator + "log" + File.separator +fileName;
_threadDetailFile.put(String.valueOf(Thread.currentThread().getId()) + "_" + fileName,
absoluteFilePath);
File file = new File(absoluteFilePath);
//create a new file
if(!file.exists())
{
try
{
file.createNewFile();
}
catch(IOException ex)
{
ExceptionDefaultHandler.handle(ex, "threadlog.log");
}
}
}
private static void generateLogFile()
{
String fileName = _detailLogFile +
DateTimeUtil.getCurrentDateFormatString("yyyyMMddHHmmss") +"_"+
String.valueOf(_fileIndex++)+ ".log";
String absoluteFilePath = ProjectConfig.getNFSCAbsolutePath() +
File.separator + fileName;
_threadDetailFile.put(String.valueOf(Thread.currentThread().getId()), absoluteFilePath);
File file = new File(absoluteFilePath);
//if the file exist, we have to remove it.
if(file.exists())
{
try
{
file.delete();
}
catch(SecurityException ex)
{
ExceptionDefaultHandler.handle(ex, "threadlog.log");
}
}
//create a new file
try
{
file.createNewFile();
}
catch(IOException ex)
{
ExceptionDefaultHandler.handle(ex, "threadlog.log");
}
}
private static boolean hasThreadLogFile()
{
return _threadDetailFile.containsKey(String.valueOf(Thread.currentThread().getId()));
}
private static boolean hasThreadLogFi
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
@echo off cls REM --- BEG MACHINE-DEPENDENT ---- set HOME_J2RE=C:\Program Files\Java\jdk1.5.0_17 REM --- END MACHINE-DEPENDENT ---- set HOME_JAVA=%HOME_J2RE%\bin\java set HOME_JAVA="%HOME_JAVA%" set ARG_MEMORY=-Xms128m -Xmx196m set PROP_POLICY=-Dorg.ragingcat.kst.uikeytool.policy.extende ......
// 创建Excel
String destFileName = tableName + ".xls";//文件名
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=".concat(String .valueOf(destFileNa ......
CoreJava多线程
线程的概念:
线程指进程中的一个执行流程,一个进程可以包含多个线程。
每一个进程都独享一块内存空间。每个进程都需要操作系统为其分配独立的内存地址,而同一进程中的多个线程在同一块地址空间工作,他们共享一块内存和资源。
java中有两中方法创建一个多线程类:
1、继承java.lang.Thread类,覆盖T ......
复制数组的方法:
在JAVA里面,可以用复制语句“A=B”给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组;如果一个数组发生改变,那么引用同一数组的变量也要发生改变。
以下是归纳的JAVA中复制数组元素值的的方法:(深拷贝)
1。使用FOR循环 ......