[b]换行符:[/b]
或
[b]网卡地址:[/b]
[b]RandomAccessFile 中的 readLong 方法 慢[/b]
读取100W次要17秒, 自己读8byte,转成long 只要5秒.
[b]log4j 常用的 ConversionPattern[/b]
总是要找以前的项目,留这找着方便.
[quote]
log4j.rootLogger=WARN,C,I,W,E
#Custom logger
#log4j.logger.Custom=INFO,Custom
#log4j.additivity.Custom=false
#Console appender
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=[%-5p]-%d: %m (%F:%L)%n
#Info appender
log4j.appender.I=org.apache.log4j.DailyRollingFileAppender
log4j.appender.I.Append=true
log4j.appender.I.File=D://info.log
log4j.appender.I.layout=org.apache.log4j.PatternLayout
log4j.appender.I.layout.ConversionPattern=[%-5p]-%d: %m (%F:%L)%n
log4j.appender.I.filter.F=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.I.filter.F.LevelMin=INFO
log4j.appender.I.filter.F.LevelMax=INFO
#Warn appender
log4j.appender.W=org.apache.log4j.DailyRollingFileAppender
log4j.appender.W.Append=true
log4j.appender.W.File=D://warn.log
log4j.appender.W.layout=org.apache.log4j.PatternLayout
log4j.appender.W.layout.ConversionPattern=[%-5p]-%d: %m (%F:%L)%n
log4j.appender.W.filter.F=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.W.filter.F.LevelMin=WARN
log4j.appender.W.filter.F.LevelMax=WARN
#Error appender
log4j.appender.E=org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.Append=true
log4j.appender.E.File=D://error.log
log4j.appender.E.layout=org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern=[%-5p]-%d: %m (%F:%L)%n
log4j.appender.E.filter.F=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.E.filter.F.LevelMin=ERROR
log4j.appender.E.filter.F.LevelMax=ERROR
#Custom logger appender
#log4j.appender.Custom=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.Custom.Append=true
#log4j.appender.Custom.File=D://custom.log
#log4j.appender.Custom.layout=org.apache.log4j.PatternLayout
#log4j.appender.Custom.layout.ConversionPattern=[%-5p]-%d: %m (%F:%L)%n
[/quote]
String lineSeparator = (String) java.security.AccessController.doPrivileged(
new sun.security.action.GetPropertyAction("line.separator"));
或
System.getProperty("line.separator")
[b]网卡地址:[/b]
public static List<String> getAllMacAddresses()
{
List<String> addresses = new ArrayList<String>();
StringBuffer sb = new StringBuffer();
try
{
Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
while(networkInterfaces.hasMoreElements())
{
NetworkInterface netInterface = networkInterfaces.nextElement();
byte[] mac = netInterface.getHardwareAddress();
if(mac != null)
sb.delete(0, sb.length());
for(byte b : mac)
{
String hexString = Integer.toHexString(b & 0xFF);
sb.append((hexString.length() == 1) ? "0" + hexString : hexString);
}
addresses.add(sb.toString());
}
}
catch(SocketException e)
{
e.printStackTrace();
}
return addresses;
}
[b]RandomAccessFile 中的 readLong 方法 慢[/b]
读取100W次要17秒, 自己读8byte,转成long 只要5秒.
[b]log4j 常用的 ConversionPattern[/b]
总是要找以前的项目,留这找着方便.
[quote]
log4j.rootLogger=WARN,C,I,W,E
#Custom logger
#log4j.logger.Custom=INFO,Custom
#log4j.additivity.Custom=false
#Console appender
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=[%-5p]-%d: %m (%F:%L)%n
#Info appender
log4j.appender.I=org.apache.log4j.DailyRollingFileAppender
log4j.appender.I.Append=true
log4j.appender.I.File=D://info.log
log4j.appender.I.layout=org.apache.log4j.PatternLayout
log4j.appender.I.layout.ConversionPattern=[%-5p]-%d: %m (%F:%L)%n
log4j.appender.I.filter.F=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.I.filter.F.LevelMin=INFO
log4j.appender.I.filter.F.LevelMax=INFO
#Warn appender
log4j.appender.W=org.apache.log4j.DailyRollingFileAppender
log4j.appender.W.Append=true
log4j.appender.W.File=D://warn.log
log4j.appender.W.layout=org.apache.log4j.PatternLayout
log4j.appender.W.layout.ConversionPattern=[%-5p]-%d: %m (%F:%L)%n
log4j.appender.W.filter.F=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.W.filter.F.LevelMin=WARN
log4j.appender.W.filter.F.LevelMax=WARN
#Error appender
log4j.appender.E=org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.Append=true
log4j.appender.E.File=D://error.log
log4j.appender.E.layout=org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern=[%-5p]-%d: %m (%F:%L)%n
log4j.appender.E.filter.F=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.E.filter.F.LevelMin=ERROR
log4j.appender.E.filter.F.LevelMax=ERROR
#Custom logger appender
#log4j.appender.Custom=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.Custom.Append=true
#log4j.appender.Custom.File=D://custom.log
#log4j.appender.Custom.layout=org.apache.log4j.PatternLayout
#log4j.appender.Custom.layout.ConversionPattern=[%-5p]-%d: %m (%F:%L)%n
[/quote]