欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

查找出的细节bug

程序员文章站 2022-07-15 10:05:28
...
1.批量导入总是少1条数据,多线程导入,少得梳理跟线程数一样
忘记 conn.setAutoCommit( true);
conn.setAutoCommit(false);
                    Object[] parmas = list.toArray();
                    ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS );
                     qr.fillStatement(ps, parmas);
                    ps.executeUpdate();
                    conn.commit();
                   


2.逻辑判断遭遇null转换字符串
由于return (obj == null) ? "null" : obj.toString();
//  public static String valueOf(Object obj) {
//	return (obj == null) ? "null" : obj.toString();
//    }
System.out.println(StringUtils. isEmpty(String. valueOf((Object) null)));----false
//  public static String valueOf(char data[]) {
//	return new String(data);
//   }
System.out.println(StringUtils. isEmpty(String. valueOf(null));---报错

System.out.println(StringUtils. isEmpty((String) null))---true


3.多线程里面框架执行
while(!service.isTerminated()){
}
代码属性执行到这,死循环卡主,并且不会跳过此段代码执行下面的

4.类似limit1,10与 id>1 and id<10的错误使用,使用以下方法,却传递
xtractRuleProcess.getAllCotentsExtract(preFileName,start,end)
	public static List<Map<String, String>> getAllCotentsExtract(
			String preFileName, int start, int length)
			throws FileNotFoundException, IOException {
		File[] files = new File[length];
		for (int i =0; i <length; i++) {
			files[i] = new File(preFileName +(start+i)+".html");
		}
		List<Map<String, String>> listMaps = new ArrayList<Map<String, String>>(
				files.length);
		for (File f : files) {
			if (f.exists()) {
				FileInputStream inputStream = new FileInputStream(f);
				String html = IOUtils.toString(inputStream, "UTF-8");
				try {
					listMaps.add(getOriginMapByHtml(html));
					inputStream.close();
				} catch (Exception e) {
					System.out.println(f.getName());
					e.printStackTrace();
				}
			}
		}
		return listMaps;
	}