0
点赞
收藏
分享

微信扫一扫

一个微小的调优去掉嵌套的if,else


文章目录

  • ​​版本一​​
  • ​​版本二​​
  • ​​版本三​​


精简代码

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站​​点击跳转浏览。​​

版本一

// 代码的原意是如果存在文件,就判断一个文件中内容有无,没有的话线程睡0.1s, 有的话跳出循环

while(true){
if(Files.exists(Paths.get("data/mkcert/"+serialNo+".crt"))){
Path path = Paths.get("data/mkcert/" + serialNo + ".crt");
File file = new File(String.valueOf(path));
if (0 == file.length()) {
Thread.sleep(100);
}else {
break;
}
}
}

版本二

改版是限制在2s 之内 避免上面的程序死循环

int tick = 0;
while(tick++ < 20){
if(Files.exists(Paths.get("data/mkcert/"+serialNo+".crt"))){
File file = new File("data/mkcert/" + serialNo + ".crt");
if (0 == file.length()) {
Thread.sleep(100);
}else {
break;
}
}else {
Thread.sleep(100);
}
}

版本三

改版是限制在2s 之内 反过来,当文件存在并且有内容 跳出循环 否在等待 少用了if嵌套

int tick = 0;
while(tick++ < 20){
File file = new File("data/mkcert/" + serialNo + ".crt");
if(file.exists() && file.length() > 0){
break;
}
Thread.sleep(100);
}


举报

相关推荐

0 条评论