Safepoint的最后一项修改为“循环的末尾,可以防止大循环的时候一直不进入Safepoint,而其他线程在等待。这里需要注意,如果是被JIT编译后的二进制码,则只有在无界循环的末尾才会进入Safepoint,而循环计数使用long类型,即使有次数限制,也被认为是无界循环。有界循环如果没有方法调用或者方法调用被内联则需要一直到循环结束才会进入Safepoint。”。
“epoll使用nmap…”应该为”epoll使用mmap…”
“Selector在线程run方法中无线循环轮询准备就绪的Key。”改为“Selector在线程run方法中无限循环轮询准备就绪的Key。”
并发框架中的Executor最后一句表述有误,应为“这里需要注意的一点是,所有的ExecutorService在使用submit或者周期性调度方法(scheduleWithFixedDelay和scheduleAtFixedRate)时对任务的异常都做了捕获,当任务代码抛出异常时,无法拿到错误,并且当使用的是周期调度时任务抛出异常后即会停止。需要你在自己的任务中(Runnable或者Callable)捕获异常并处理。”。
“第4点 属性名称转化”的最后一段改为“ PropertyNamingStrategy还支持KebabCase(短横线连接单词)、PascalCase(大写字母开头)以及CamelCase(驼峰)。”
Safepoint的最后一项修改为“循环的末尾,可以防止大循环的时候一直不进入Safepoint,而其他线程在等待。这里需要注意,如果是被JIT编译后的二进制码,则只有在无界循环的末尾才会进入Safepoint,而循环计数使用long类型,即使有次数限制,也被认为是无界循环。有界循环如果没有方法调用或者方法调用被内联则需要一直到循环结束才会进入Safepoint。”。
“epoll使用nmap…”应该为”epoll使用mmap…”
“Selector在线程run方法中无线循环轮询准备就绪的Key。”改为“Selector在线程run方法中无限循环轮询准备就绪的Key。”
并发框架中的Executor最后一句表述有误,应为“这里需要注意的一点是,所有的ExecutorService在使用submit或者周期性调度方法(scheduleWithFixedDelay和scheduleAtFixedRate)时对任务的异常都做了捕获,当任务代码抛出异常时,无法拿到错误,并且当使用的是周期调度时任务抛出异常后即会停止。需要你在自己的任务中(Runnable或者Callable)捕获异常并处理。”。
“第4点 属性名称转化”的最后一段改为“ PropertyNamingStrategy还支持KebabCase(短横线连接单词)、PascalCase(大写字母开头)以及CamelCase(驼峰)。”