摘要:應用程序源程序文件編譯后的字節碼文件的擴展名是個人見解源文件在經過虛擬機的編譯后會生成文件被叫做字節碼文件。而該文件正是可以被叫做跨平臺的原因通過移動該字節碼文件到不同的操作系統上再通過將字節碼文件翻譯成機器語言從而運行應用程序。
1、Java Application(Java 應用程序)源程序文件編譯后的字節碼文件的擴展名是( B )
A java B class C exe D jar
個人見解:
Java源文件在經過JVM(Java Virtual Machine)Java虛擬機的編譯后會生成.class文件,被叫做字節碼文件。而該文件正是Java可以被叫做跨平臺的原因,通過移動該字節碼文件到不同的操作系統上再通過JVM將字節碼文件翻譯成機器語言, 從而運行Java應用程序。
java是java語言的源代碼文件的擴展名;
exe是windows操作系統的可執行文件的擴展名;
jar是(Java Archive File) Java壓縮文件 可以使用壓縮文件直接打開, 與壓縮文件不同的是再jar文件中存在一個文件META-INF/MANIFEST.MF 該文件是用于存儲包和擴展的配置數據。
2、不考慮反射,String類型變量所指向內存空間中的內容是不能被改變的。(√ )
個人見解:
String類型的變量在常量池中存儲,雖然不可以改變常量池中的內容,但是可以改變String類型變量的引用地址,原常量池中的內容仍然存在,等待著地址指向它。
String s1 = "ABC"; String s2 = "ABC"; System.out.println(s1 == s2); //true System.out.println(System.identityHashCode(s1)); //689401025 System.out.println(System.identityHashCode(s2)); //689401025 String s3 = "ABC"; String s4 = new String("ABC"); System.out.println(s3 == s4); //false System.out.println(System.identityHashCode(s3)); //689401025 System.out.println(System.identityHashCode(s4)); //790067787 String s5 = new String("ABC"); String s6 = new String("ABC"); System.out.println(s5 == s6); //false System.out.println(System.identityHashCode(s5)); //1115201599 System.out.println(System.identityHashCode(s6)); //343856911
不使用new的方式去創建字符串是從字符串常量池中取出,使用new的方式創建字符串是存在與堆(heap)中。
3、下面程序的運行結果是
String str1 = "hello"; String str2 = "he" + new String("llo"); System.err.println(str1 == str2);
運行結果:false
個人見解:
str1 == str2 之所以返回false 是由于不通過new的方式創建String對象是在編譯期就能確定其內存地址,然而通過new的方式來創建對象時是在運行時才會分配內存地址。因此程序無法確定str2的內容,因此無法判斷相等,而此時就需要通過equals方法來進一步確認是否相等了。
上述內容只是在時間上來判斷,編譯期和運行期,而從對象存放的位置也可以判斷出對象不相等,不通過new的方式來創建字符串時存放的空間是字符串常量池,而通過使用new的方式創建字符串是存在與堆(heap)中,這就與第二題牽扯到的內容等同了。
另:
String s1 = "hell" + "o"; //創建了3個對象 hell 、o 、hello
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/74899.html
摘要:以字符串形式返回指定的請求頭的值。返回一個數組,包含客戶端發送該請求的所有的對象。生命的河流就這樣,不舍晝夜,奔向它理想的海洋。 昨天加班 日日刷廢了,這是個很不好的習慣補上昨日份的 ========================================================================= 1、下面哪個不是Java語言的關鍵字(B) A def...
還剩11天 ========================================================================= 1、抽象類方法的訪問權限默認都是public。(√) 在Java1.8以前,抽象類方法默認的訪問權限為protected在Java1.8以后,抽象類方法默認的訪問權限為default ============================...
摘要:斷更了,家里出了一點事情,回家了幾天,然后回頭看發現握草,斷了天,因此,每天補一個吧下列符號中可以在程序里表示單行注釋的是個人見解選項目前我只在語法中使用過,代表注釋的意思選項是多行注釋選項是單行注釋選項是文檔注釋在方法中給出的整型數組 斷更了,家里出了一點事情,回家了幾天,然后回頭看發現握草,斷了12天,因此,每天補一個吧 ==============================...
摘要:的底層結構是一個數組,數組中的每一項是一條鏈表。的實例有兩個參數在影響其性能初始容量和裝填因子。不同步線程不安全。繼承實現繼承實現。中數組默認大小是,增加的方式是。內部使用保存數據,即將的數據作為的值保存,這也是中元素不能重復的原因。 自制力不行,需改正,為什么昨天斷了,以后這樣的事情是否還會發生 ============================================...
摘要:具體的時間線從月中旬,我開始關注牛客網的秋招內推信息。直至十月中下旬結束秋招。之前也寫過自己在廣州找實習的經歷,那次把面試的過程都具體貼出來了。我今年就完美錯過了春招實習經歷。 前言 只有光頭才能變強 離上次發文章已經快兩個月時間了,最近一直忙著秋招的事。今天是2018年10月22日,對于互聯網行業來說,秋招就基本結束了。我這邊的流程也走完了(不再筆試/面試了),所以來寫寫我的秋招經歷...
閱讀 1071·2021-11-25 09:43
閱讀 695·2021-11-22 14:45
閱讀 3815·2021-09-30 09:48
閱讀 1059·2021-08-31 09:41
閱讀 1969·2019-08-30 13:52
閱讀 1975·2019-08-30 11:24
閱讀 1340·2019-08-30 11:07
閱讀 948·2019-08-29 12:15