java 标签跳转用法解析

前言

在看jdk源码ThreadPoolExecutor中的addWorker方法的时候(ThreadPoolExecutor详解及线程池优化),发现如下代码:
java 标签跳转用法解析_第1张图片
首先这个retry不是java里面的关键字,所以那个retry可以用任何合法的变量名替换,例如hello:等等,下面我们再来看一下这个到底有什么用。

用用看

首先,下面代码会打印出1~10
java 标签跳转用法解析_第2张图片
增加条件后的结果:
java 标签跳转用法解析_第3张图片
如果使用retry:
java 标签跳转用法解析_第4张图片
结论:break retry不管有几层循环,都会退出。

再试试continue retry:
java 标签跳转用法解析_第5张图片
结论:continue retry会continue最外层的循环,准确的说是定义retry后面代码片段的最外层循环。

结论

不管自己定义叫retry也好,mark也好,就是一个标记位置,标记着下一次continue或者break的跳转位置。

你可能感兴趣的:(java)