开发中,常有场景:遍历集合,依次判断是否符合条件,如符合条件则删除当前元素. 不知不觉中,有些陷阱,不知你有没有犯. 一.漏网之鱼-for循环递增下标方式遍历集合,并删除元素 如果你用for循环递增下标方式遍历集合,在遍历过程中删除元素,你可能会遗漏了某些元素.说那么说可能也说不清楚,看以下示例: import java.util.ArrayList; import java.util.List; public class ListTest_Unwork { public static void
明明用了ConcurrentHashMap,可是始终线程不安全, 下面我们来看代码: public class Test40 { public static void main(String[] args) throws InterruptedException { for (int i = 0; i < 10; i++) { System.out.println(test()); } } private static int test() throws InterruptedException
在启动一个线程之后调用该线程的join()方法,会使该线程先执行,该线程执行完成后,再执行调用该线程的线程. 例如如下的任务: public class LiftOff extends Thread { public LiftOff(){ taskCount++;// 计数自增 } private int countDown = 3; // 倒计时数字 private static int taskCount = 0; private int id = taskCount; @Override
windows 手动添加服务方法一:修改注册表 在注册表编辑器,展开分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services",在右侧窗格中显示的就是本机安装的服务项.如果要新建服务,只须点击"编辑→新建→项" ,然后为此项命名,如"test":然后右击该项,选择"新建→字符串值"或"新建→Dword值"即可.添加一个服务项目具体需要添加的键值如下: &