异常一:
之前遇到一个问题。在用httpclient爬取网页上的代码的时候,出现了内存溢出的异常(Exception in thread "main" java.lang.StackOverflowError)
后来听到群里面大神(也就是我师父的)讲解,知道递归调用方法比较消耗栈内存,改成循环调用方法就好了。
结果可想而知,正确。例如,
public static void cawler(.....){ ......... cawler(.....); } 这样递归执行会消耗太多的栈内存,栈在程序执行的时候是不会释放的,需要等到程序执行完毕才会释放。 后台把这个修改成这样。 public static void cawler(.....){ ......... cawlerling(.....); } public static void cawlerling(.....){ } 这样就解决的栈内存溢出的异常了。
异常二:
还遇到了这样的异常。Exception in thread "main" java.lang.IllegalArgumentException: Illegal character in query at index 54: http://video.baidu.com/v?ct=301989888&word=numb+linkin park
这个异常表示访问的这个url有问题。
用httpclent访问的时候不知道大家有没有注意到这里有一个空格?
这是关键,把这个url直接输入到浏览器可以打开,浏览器默认会补充一个%20,也就是把url编译成unicode(统一编码)。这样问题就差不多解决了。或者编译成unicode,一般的会把//也编译的。我觉得还是直接找空格补充%20就好了。
异常三:
java.util.ConcurrentModificationException(map的操作异常),在集合和数组执行的时候是不允许直接操作的对集合进行修改的。原因是出在iterator上,后台找到解决办法,循环map的时候跳过iterator。
方法一: 原本的iterator循环,改成 while(!map.isEmpty()){//手写的,不知道单词对不对 for(String s:map.keySet()){//这个循环只是为了让你得到key和value值的 ................. map.remove(s);//删除map中指定的值 break; } } 方法二: while(!map.isEmpty){ List<String> lsit=new ArrayList<String>(): list.addAll(map.keySet()); String key=list.get(0); String value=map.get(key); map.remove(key); }
异常四:
当网络打不开一个url的时候,一般就是直接中断程序,现在我不像中断程序,想继续运行下去。应该把运行的模块包含在try catch(){}里面。然后在catch里面加上 continue; 不过这的在循环里面哦。如果只是执行一段循序程序,哪么直接用finally运行想继续运行的。
相关推荐
Map a = new HashMap(); //方法一 Iterator it = a.entrySet().iterator(); while (it.hasNext()) { Map.Entry pairs = (Map.Entry) it.next(); System.out.println(pairs.getValue()); } //以下方法需要jdk5以上...
主要是对Java中Map的几种循环方式进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
主要介绍了java List循环与Map循环的总结的相关资料,并附代码实例,帮助大家学习理解,需要的朋友可以参考下
多层嵌套循环 参数转换 数据库配置报文父子级结构 java实现
主要介绍了Java for循环Map集合优化实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
比较Java原生的 3种Map的效率。 1. TreeMap 2. HashMap 3. ConcurrentSkipListMap 本测试查找方法使用Map的get方法,循环、离散获取。对于ConcurrentSkipListMap,获得顺序片段,可用subMap()方法,提取50w的子序列...
遍历MAP的几种方法,利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,更具灵活性
主要介绍了java遍历Map的几种方法,结合实例形式分析了使用循环与迭代等方法操作Map遍历的相关技巧,需要的朋友可以参考下
此java类实现了对数据表的分类递归树的实现,为本人倾力之作,后期,会发布js版,敬请期待!
主要介绍了java 遍历Map及Map转化为二维数组的实例的相关资料,希望通过本文能帮助到大家,实现这样的功能,需要的朋友可以参考下
java导出word使用freemarker模板map数据导出word带图片 可以循环map 中list。 调用的2种方法在博客 https://blog.csdn.net/yjflinchong/article/details/122614203
本篇文章主要介绍了Java用for循环Map,需要的朋友可以过来参考下,希望对大家有所帮助
主要介绍了详解Java中list,set,map的遍历与增强for循环的相关资料,需要的朋友可以参考下
主要介绍了Java 遍历取出Map集合key-value数据的4种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这是一人篇关于JAVA MAP遍历的讲解的文章,希望对你有用
PLUS:若表格之外还有嵌套的循环,也需要用<#list table as map>,注意这里的<#list></#list>标签不要和某对其他标签交叉,不可以出现<#list><w:p></#list></w:p>这种 6. 标识替换完之后,另存为.ftl后缀文件即可...
java前期小知识点运用!map 循环 格式 java前期的代码小测试!
前些天记录了java中for循环取map,发现用jquery的each一样可以取map(我称之为js的map,不要较劲),且顺序和map中顺序一致。
Java监控u盘插入, // U盘检测 public class CheckU { // 存放磁盘状态 private static Map, Boolean> map = new LinkedHashMap, Boolean>(); // 定义磁盘 private static final String[] arr = new String[] {...
2 Java语言基本语法 编写程序,练习使用Java控制结构,实现循环嵌套与选择嵌套等复杂结构。 3 对象和类 编写程序实现类和对象的操作,掌握构造函数与静态成员的使用。 4 继承与多态 编写程序实现类的继承、多态的...