Java程序的问题
这是一段我参考的Java程序字段,已经调试可以通Eclipse运行了,代码有点看不懂,哪位高手可以帮我做个中文注释?谢谢啦~~
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
public class IPBanner {
public static final String NETSTAT = "netstat -nt"; //$NON-NLS-1$
public static final String IP_INSERT = "iptables -I INPUT -i eth0 -j DROP -p tcp --dport 80 -s "; //$NON-NLS-1$
public static final String IP_DEL = "iptables -D INPUT -i eth0 -j DROP -p tcp --dport 80 -s "; //$NON-NLS-1$
public static final String HOST_IP = "192.168.16.243:80"; //$NON-NLS-1$
public static final long BAN_TIMEOUT = 30 * 60 * 1000L;
public static final long BAN_INTERVAL = 30 * 1000L;
public static final int CONCURRENT = 80;
public static final int SYN_CONCURRENT = 8;
public static final Map banMap = new HashMap();
public static void ban()throws Exception{
Set banList = dynamicBanIP();
System.out.println();
System.out.println("Time: " + new Date()); //$NON-NLS-1$
&n
相关文档:
JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecut
6
推荐
在多线程大师Doug Lea的贡献下,在JDK1.5中加入了许多对并发特性的支持,例如:线程池。
一、简介
线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为:
ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,
long keepA ......
1)官方网站
在学习一个技术前直到官方网站是极为必要的,官方网站不但提供安装介质,而且有一手的技术参考资料。闲话简说 http://www.springsource.com/。 以前曾用过springframework.org,不知道为什么要改了名字。
2)经典参考书
有人推荐过Spring In Action, 我自己是从Spring Reference开始读的。
3)流行的版本
......
附录A: Java编码规范
一、 Java命名的一般性指导
1. 类名首字母应该大写。属性(成员变量)、方法、对象变量以及所有标识符(如形式参
数、实际参数、局部变量)的首字母应小写,其中包含的所有单词都应紧靠在一起,而
且大写中间单词的首字母。
例如:类名:ThisIsAClassName 属性或方法名:thisIsMethodOrFieldName
......
if(null != agent && -1 != agent.indexOf("MSIE")){
filename = URLEncoder.encode(filename
,"UTF8");
}else if ......
计算某一月份的最大天数
Calendar time=Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR,year); //year 为 int
time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0
int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);/ ......