大數據Java基礎第四天作業

第一題:
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堆大小。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章