Java String 學習筆記 (一)

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

###String 簡介

String 并非java的8大基本數據類型之一。

java中基本數據類型存儲在棧內存中。而String不是,新new的String 對象存儲在堆內存中。而字符串存儲在常量池中。String對象的引用存儲中棧內存中。

String的實例化方式

String對象有兩種實例化方式

    String str1 = new String("ABC"); //第一種String str2 ="ABC";              //第二種  

第一種new的方式:javap反編譯的結果為

       0: ldc           #2                  // String ABC2: astore_1      3: new           #3                  // class java/lang/String6: dup           7: invokespecial #4                  // Method java/lang/String."<init>":()V

整個過程大致可解釋為:

  • a. 常量池中創建常量 'ABC';
  • b. 棧內存中創建引用
  • c. 堆內存中新建String對象,再初始化。

而第二種直接賦值的方式虛擬機運行的結果如下:

       0: ldc           #2                  // String ABC2: astore_1 

這里可以很清楚的看出,直接在常量池中創建‘ABC’字符串,指向引用str2

由此可以看出第二種方式明顯比第一種更高效。 其實經過測試:

    String s = new String("ABC");//等價于下面兩步(唯一的區別就是在棧中多了一個指向'ABC'的引用s1)String s1 ="ABC";String s2 = new String(s1);

轉載于:https://my.oschina.net/mercyyang/blog/707565

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/542985.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/542985.shtml
英文地址,請注明出處:http://en.pswp.cn/news/542985.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

tau nb_math.tau常數,帶Python示例

tau nbPython math.tau常數 (Python math.tau constant) math.tau constant is a predefined constant, which is defined in math module, it returns the value of mathematical constant "τ" (Tau), the value is 6.283185307179586 math.tau常數是在數學模塊中定…

pcl畫圓球_PCL之軌跡繪制(二)

之前學習點云庫做一些簡單的應用都是直接復制demo的代碼&#xff0c;然后把導入文件改一下&#xff0c;今天嘗試自己寫一些程序&#xff0c;結果錯漏百出&#xff0c;難受的早上&#xff0c;不過堅持了下來&#xff0c;求夸&#xff5e;&#xff5e;&#xff5e;這個主要是一個…

note2 android4.3,玩家們動手吧 Note2安卓4.3固件已泄漏

【PConline 資訊】最近各個牌子的安卓機迎來了升級安卓4.3的大潮&#xff0c;現在三星Galaxy Note2的安卓4.3固件已經泄漏出來了。實際上&#xff0c;此前三星官方已經確認&#xff0c;Galaxy Note3可以獲得官方的安卓4.3固件升級&#xff0c;但具體日期沒有確定&#xff0c;只…

SDP學習筆記

一、SDP規范了回話描述的格式&#xff0c;一般結合會話協議共同工作。 常見的會話傳送協議包括:SAP(Session Announcement Protocol 會話公告協議),SIP,RTSP,HTTP,和使用MIME的E-Mail。 &#xff08;PS&#xff1a;對SAP只能包含一個會話描述,其它會話協議的SDP可包含多個會話描…

sinh_帶有Python示例的math.sinh()方法

sinhPython math.sinh()方法 (Python math.sinh() method) math.sinh() method is a library method of math module, it is used to get the hyperbolic sine of given number in radians, it accepts a number and returns hyperbolic sine. math.sinh()方法是數學模塊的庫方…

android serviceconnection unbind流程,Android unbindService 流程分析

基于Android 6.0的源碼剖析&#xff0c; 分析bind service的啟動流程。/frameworks/base/core/java/android/app/ContextImpl.java/frameworks/base/core/java/android/app/LoadedApk.java/frameworks/base/core/java/android/app/IServiceConnection.aidl(自動生成Binder兩端)…

【JUnit 報錯】 method initializationerror not found:JUnit4單元測試報錯問題

今天是用JUnit測試一段代碼&#xff0c;報錯method initializationerror not found:&#xff1a;出現如下問題&#xff1a; 雙擊這個就顯示出現如下的錯誤&#xff1a; 查詢網上&#xff0c;說是junit版本的問題&#xff1a; 那我就不使用JUnit這個Libernary了&#xff0c;下載…

flash 不顯示 旋轉 補間動畫_【圖片】Flash入門5:詳解制作補間動畫(非傳統補間)【flash軟件吧】_百度貼吧...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓●●關于補間動畫●●●1、準備事項注意&#xff1a;像 Flash 中的大多數內容一樣&#xff0c;動畫不需要任何 ActionScript。然而&#xff0c;如果您愿意&#xff0c;您可以使用 ActionScript 創建動畫。在創建補間之前&#xff0…

math.ceil帶小數點_Python中帶有示例的math.ceil()方法

math.ceil帶小數點Python math.ceil()方法 (Python math.ceil() method) math.ceil() method is a library method of math module, it is used to get the ceil value of a given number, it accepts a number/numeric expression and returns the smallest integral value wh…

將byte數組以html形式輸出到頁面,java 數組顯示到html

java 數組顯示到html[2021-02-05 01:08:54] 簡介:php去除nbsp的方法&#xff1a;首先創建一個PHP代碼示例文件&#xff1b;然后通過“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推薦&#xff1a;…

JDK各版本新增的主要特性

JDK1.5新特性&#xff1a; 1.自動裝箱與拆箱&#xff1a; 2.枚舉 3.靜態導入&#xff0c;如&#xff1a;import staticjava.lang.System.out 4.可變參數&#xff08;Varargs&#xff09; 5.內省&#xff08;Introspector&#xff09;&#xff0c;主要用于操作JavaBean中的屬性&…

oracle 導入sql文件 漢字亂碼_將現有的sql腳本導入 Oracle 數據庫,中文亂碼問題...

將現有的sql 腳本導入 Oracle數據庫比如 在windows 系統下&#xff0c;可以寫一個 bat 來實現直接導入如&#xff1a;bat 中的內容如下&#xff0c;logs.log 將會記錄執行日志sqlplus user/passworddbname create.sql > logs.logcreate.sql 中的內容可以是需要執行的sql 語句…

html圖片多邊形怎么寫,使用CSS3構建的圖像多邊形裁剪動畫特效

CSS語言&#xff1a;CSSSCSS確定html {background: #333;}.polygon {-webkit-clip-path: polygon(50% 0%, 79.38926% 9.54915%, 97.55283% 34.54915%, 97.55283% 65.45085%, 79.38926% 90.45085%, 50% 100%, 20.61074% 90.45085%, 2.44717% 65.45085%, 2.44717% 34.54915%, 20.…

python函數示例_帶Python示例的complex()函數

python函數示例Python complex()函數 (Python complex() function) complex() function is a library function in Python, it is used to get the complex number from given a real number or/and an imaginary number (which is an optional part), it accepts either a rea…

windows 下 git 禁用 CRLF 轉換 LF

2019獨角獸企業重金招聘Python工程師標準>>> windows中的換行符為 CRLF&#xff0c; 而在linux下的換行符為LF&#xff0c;所以在執行add . 時出現提示&#xff0c;解決辦法&#xff1a; 刪除根目錄 .git 文件夾禁用自動轉換 > git config --global core.autocrl…

cmd執行sql文件路徑 oracle_oracle 基礎 執行sql文件

Oracle執行外部文件&#xff1a;sql>new.sql執行多個sql文件:1.把所有的文件都放在同一個目錄下&#xff0c;然后在命令行里執行命令&#xff1a;c:>dir/b > d:/1.sql會把所有的sql文件名都輸出到一個sql文件中。2.用UltraEdit打開生成的sql文件&#xff0c;altC切換到…

獲取天氣html,使用htmlparser獲取sohu的天氣預報

首先&#xff0c;我們新建一個類&#xff0c;存放天氣信息/** Created on 2005-3-8** To change the template for this generated file go to* Window>Preferences>Java>Code Generation>Code and Comments*/packageorg.exoplatform.portlets.chinaweather.compon…

使用gulp構建前端(三)

為什么80%的碼農都做不了架構師&#xff1f;>>> 使用gulp構建前端&#xff08;三&#xff09; 緊接著上述文章內容&#xff0c;開始新的插件的使用 插件三 gulp-clean-css&#xff0c;作用減小文件大小&#xff0c;并給引用url添加版本號避免緩存&#xff0c;一個需…

c++中atan2函數_atan2()函數以及C ++中的示例

c中atan2函數C atan2()函數 (C atan2() function) atan2() function is a library function of cmath header, it is used to find the principal value of the arc tangent of y/x, where y is the proportion of the y-coordinate and x is the proportion of the x-coordin…

python不合法的布爾表達式_python測試題

一、填空題 1.Python使用符號標示注釋;以劃分語句塊。 2、Python序列類型包括 、、三種; 是Python中唯一的映射類型。 3、Python中的可變數據類型有,不可變數據類 型有。 4、Python的數字類型分為、、等子類型。 5、設s=‘abcdefg’,則s[3]值是 ,s[3:5]值是 , s[:5]值是…