package com.cluster.demo.utils.test;
import java.util.concurrent.atomic.AtomicInteger;
public class Snippet {
public static void main(String args[]){
//int a = Integer.MAX_VALUE; //integer 32bit
int num=-1;
int a = num ;
System.out.println(getFullBinaryString(a));
int a1 = num << 29; //做移动29
System.out.println(getFullBinaryString(a1));
//01111111 11111111 11111111 11111111
AtomicInteger ctl = new AtomicInteger(ctlOf(num, 0));
System.out.println("ctl:"+ctl.get());
System.out.println("ctl.get():"+workerCountOf(ctl.get())+"getFullBinaryString:"+getFullBinaryString(workerCountOf(ctl.get())));
//011 高3位表示"线程池状态"
//11111 11111111 11111111 11111111 低29位表示"线程池中的任务数量
ctlOf(1,0);
}
public static String getFullBinaryString(int num){
String result = Integer.toBinaryString(num);
System.out.println("toBinaryString:"+result);
int count = 32-result.length();
System.out.println("count:"+count);
for (int i = 0;i<count;i++){
result=0+result;
}
return result;
}
private static int ctlOf(int rs, int wc) {
System.out.println("rs:"+getFullBinaryString(rs));
System.out.println("wc:"+getFullBinaryString(wc));
System.out.println("rs | wc"+getFullBinaryString(rs | wc));
return rs | wc;
}
private static final int CAPACITY = (1 << 29)-1;
private static int workerCountOf(int c) {
System.out.println("c:"+getFullBinaryString(c));
System.out.println("CAPACITY:"+getFullBinaryString(CAPACITY));
return c & CAPACITY; }
}
170万+

被折叠的 条评论
为什么被折叠?



