牛客習題總結14

在這裏插入圖片描述

Java 運行時數據區可以分成 方法區、 堆、 棧、 程序計數器、 本地方法棧

:Java 對象, 線程之間共享的

:方法運行,每一個方法對應一個棧幀,每一個線程對應一個棧,

每個棧幀包括 操作數、局部變量表、指向運行時常量池的引用,方法返回地址、附加位區 所以是線程不共享

方法區(靜態區):被虛擬機加載的類信息、靜態(static)變量,常量(final),即時編譯器編譯後的代碼等數據。運行常量池是方法區的一部分,class文件除了有類的版本、字段、接口、方法等描述信息之外,還有一項信息常量池保存編譯期生成的字面量和符號引用。 線程之間共享的

程序計數器:指出某一個時候執行某一個指令、執行完畢之後要返回的位置,當執行的Java方法的時候,這裏保存的當前執行的地址,如果執行的是本地方法的時候,那麼程序計數器爲空。線程不共享。
在這裏插入圖片描述

開發JAVA程序的三個步驟: 1.編寫JAVA的源程序 2.編譯程序生成字節碼.class文件(java是高級語言,不會直接生成機器語言) 3.通過JVM解釋執行(通過jvm解釋爲特定的操作系統如Windows、Linux等能理解的機器碼,最終JAVA程序得以執行)
在這裏插入圖片描述
run()方法只是類的一個普通方法而已,如果直接調用Run方法,程序中依然只有主線程這一個線程,其程序執行路徑還是隻有一條,還是要順序執行,還是要等待run方法體執行完畢後纔可繼續執行下面的代碼,沒有達到多線程的目的。
在這裏插入圖片描述

在這裏插入圖片描述

import java.math.BigInteger;
import java.util.Scanner;

public class Main2 {
    public static String AddLongInteger(String addend,String augend){

        BigInteger bigInteger = new BigInteger(addend);
        BigInteger bigInteger1 = new BigInteger(augend);

        bigInteger = bigInteger.add(bigInteger1);
        String str = String.valueOf(bigInteger);
        return str;


    }
    public static void main(String args[]){
        Scanner sc =new Scanner(System.in);
        while(sc.hasNext()){
            String addend = sc.nextLine();
            String augend = sc.nextLine();
            System.out.println(AddLongInteger(addend, augend));
        }


    }
}

利用Java中的大數類,BigInteger的參數是字符串類型,
在這裏插入圖片描述
然後用add函數將二者相加,最後再把bigInteger轉換爲字符串類型。

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