第一題: 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堆大小。
大數據Java基礎第四天作業
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.