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
相关文档:
在 Java 5 环境中,如果用类A去实现接口B (A implements B),在 Java 5 的平台下,A 实现的方法名前是不能添加 @Override 标记的,否则会报如下图所示的错误提示而无法编译:
{{----}}16172
经过尝试和总结,得出下表。
Version
Java 5
Java 6
超类型是 interface,子类型重写的方法能否添加@Override 标记
否
是
......
预备知识—程序的内存分配
一个由C/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 ......
本次主要以例子为主:
1.匹配图像 /**
* 匹配图象 <br>
* 格式: /相对路径/文件名.后缀 (后缀为gif,dmp,png)
* 匹配 : /forum/head_icon/admini2005111_ff.gif 或 admini2005111.dmp<br>
* 不匹配: c:/admins4512.gif
*/
public static final String icon_regexp = "^(/{0,1}\ ......
估计学习java的买了Bruce Eckle《Thinking In Java 4th Edition》的新手们(我也是),估计多会遇到一个问题:
编译时import static net.mindview.util.Print.*;找不到相应的包,print方法就用不了。下面把我的操作方法贴出来,希望能帮到你。
1、把书本的源代码 ......
计算某一月份的最大天数
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);/ ......