第一题: class BinDemo{ public static void main(String[] args){ //左移:首位符号位 一定会移动掉,因此没有(有|无)符号位移动一说。 byte plus_left = 9; byte minus_left = -9; System.out.println(plus_left << 2);//0000 1001 => 0010 0100 = 36 System.out.println(minus_left << 2);//11111 0111 移动补码 => 1101 1100 补码 => 1010 0100原码 = -36 //有符号右移:正数补0,负数补1,符号位正常移动。 byte plus_right = 9; byte minus_right = -9; System.out.println(plus_right >> 2);//0000 1001 => 0000 0010 = 2 System.out.println(minus_right >> 2);//1111 0111 移动补码 => 1111 1101 补码 => 1000 0011原码 = -3 //无符号右移:正数补0,负数补1,符号位不移动。 byte unsigned_plus_right = 9; byte unsigned_minus_right = -9; System.out.println(unsigned_plus_right >>> 2);//0000 1001 => 0000 0010 = 2 System.out.println((byte)(unsigned_minus_right >>> 2));//1111 0111 移动补码 => 1111 1101 补码 => 1000 0011原码 = -3 byte unsigned_minus_right2 = -5; System.out.println((byte)(unsigned_minus_right2 >>> 2));//1111 1011 移动补码 =>1111 1110 补码 => 1000 0010原码 = -2 } } 第二题: class BinDemo{ public static void main(String[] args){ String hex_value = changeHex(11); System.out.println(hex_value); } public static String changeHex(int v){ int lower = v & 0x0F; int upper = (v >> 4) & 0x0F; char[] arr = {‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘A‘,‘B‘,‘C‘,‘D‘,‘E‘}; return "0x" + arr[upper] + arr[lower]; } } 第三题: class BinDemo{ public static void main(String[] args){ int sum_value = getSum(new int[]{1,5,7,9}); System.out.println(sum_value); } public static int getSum(int[] arr){ int length = arr.length; int total = 0; for(int i=0;i<length;i++){ total += arr[i]; } return total; } } 第四题: import java.util.Arrays; class BinDemo{ public static void main(String[] args){ int[] copy_value = copyArr(new int[]{1,5,7,9}); System.out.println(Arrays.toString(copy_value)); } public static int[] copyArr(int[] arr){ int length = arr.length; int[] new_arr = new int[arr.length]; for(int i=0;i<length;i++){ new_arr[i] = arr[i]; } return new_arr; } } 第五题: class BinDemo{ public static void main(String[] args){ while(true){ System.out.println("execute"); } } } 第一步:先写一个死循环执行 第二步:jps获取该执行的pid 第三步:jmap -heap 14396 查看执行的进程信息。 Heap Configuration: MinHeapFreeRatio = 0 MaxHeapFreeRatio = 100 MaxHeapSize = 2122317824 (2024.0MB) NewSize = 44564480 (42.5MB) MaxNewSize = 707264512 (674.5MB) OldSize = 89653248 (85.5MB) NewRatio = 2 SurvivorRatio = 8 MetaspaceSize = 21807104 (20.796875MB) CompressedClassSpaceSize = 1073741824 (1024.0MB) MaxMetaspaceSize = 17592186044415 MB G1HeapRegionSize = 0 (0.0MB) 第四步:java -Xms<size>:设置初始java堆大小。 java -Xmx<size>:设置最大java堆大小。
时间: 2024-12-25 23:03:17