@Sharable
标识 handler 提醒可共享,不标记共享的不能重复加入 pipeline
如果非共享的Handler重复加入就会抛出异常,提示非共享Handler不能重复加入,在cash中同时会断开链接。Handler加入到pipeline后就会h.added = true。
@Skip
判断Handler是否有执行资格,无则跳过Handler的执行。暂时未开放外部使用,5.X版本开放了,但是5.x版本因为种种原因暂未发行
,@Skip注解所在类ChannelHandlerMask是被final修饰的,所以无法使用。
&、|、~、^、<<、>>、<<<、>>>、高几位,低几位
@UnstableApi
提醒其他人可能有问题,慎用。此注解不太建议使用,如果有问题,可以删掉无用的类,避免引起不必要的麻烦。
@SuppressJava6Requirement
去除“Java6需求”的报警 https://github.com/mojohaus/animal-sniffer,比如项目想在jdk6上运行
@SuppressForbidden
https://github.com/policeman-tools/forbidden-apis/去除 “禁用” 报警,forbidden组件会在编译(maven compile)阶段
在jdk10一下,使用docker容器初始化Group时获计算cpu核数时Runtime.getRuntime().availableProcessors()),获取的是宿主机的cpu核数。因为容器不是物理隔离的,会拿到物理 cpu 个数,而不是容器申请时的个数。这个问题直到 jdk 10 才修复,使用 jvm 参数 UseContainerSupport 配置, 默认开启