精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

JVM內(nèi)存分配及String常用方法

云計算 虛擬化
在介紹String類之前,先來簡單分析一下在JVM中,對內(nèi)存的使用是如何進行分配的。JVM將內(nèi)存分為多個不同的區(qū)域,這些區(qū)域都有各自的用途、創(chuàng)建和銷毀的時間,有些區(qū)域隨虛擬機進程的啟動而存在,有些區(qū)域則是依賴用戶線程的啟動和結(jié)束來建立和銷毀。

[[275905]]

 一,JVM內(nèi)存分配和常量池

​ 在介紹String類之前,先來簡單分析一下在JVM中,對內(nèi)存的使用是如何進行分配的。如下圖所示(注意:在jdk1.8之后便沒有方法區(qū)了):

 

​ 如上JVM將內(nèi)存分為多個不同的區(qū)域,這些區(qū)域都有各自的用途、創(chuàng)建和銷毀的時間,有些區(qū)域隨虛擬機進程的啟動而存在,有些區(qū)域則是依賴用戶線程的啟動和結(jié)束來建立和銷毀。

區(qū)域名稱的說明:

1.1,方法區(qū):

​ 屬于數(shù)據(jù)共享內(nèi)存區(qū)域,存儲已被虛擬機加載的類信息、常量、靜態(tài)變量、即時編譯器編譯后的代碼等數(shù)據(jù)。

1.2,虛擬機棧

​ 虛擬機棧就是我們通常說的棧,是Java執(zhí)行方法的內(nèi)存模型,每當執(zhí)行一次方法時,都會創(chuàng)建一個棧幀。把棧幀壓入棧,當Java方法調(diào)用時返回正常的結(jié)果或者捕獲異常時,棧幀出棧。

​ 棧幀:棧幀存儲方法的相關(guān)信息,包含局部變量數(shù)表、返回值、操作數(shù)棧、動態(tài)鏈接。

1.3,本地方法棧

​ 從功能上來說與虛擬機棧類似,但是虛擬機棧執(zhí)行的是字節(jié)碼,而本地方法棧調(diào)用的是Native方法,并且它是線程獨享的。

1.4,程序計數(shù)器

​ 程序計數(shù)器是線程獨享的,它是記錄當前線程執(zhí)行的字節(jié)碼行號。在多線程執(zhí)行時,CPU會來回在線程之間進行切換,那么當再次回到一條線程時,是如何得知線程的存儲單元及執(zhí)行指令。而程序計數(shù)器便會進行存儲下一條存儲單元的地址,執(zhí)行完畢后程序計數(shù)器自動加 1 ,以此循環(huán)直到程序結(jié)束為止。

1.5,堆

​ 說到堆這個概念想必都不陌生,它是內(nèi)存中的重要角色。它主要是用來存儲被創(chuàng)建出來的對象,通過關(guān)鍵字new實例出來的,是所有線程共享的一塊最大的區(qū)域。

​ ==特別注意:在JDK1.7及以后,常量池移動到堆內(nèi)存中。==

​ 堆還包括一個==常量池==,用來存儲編譯期間生成的==字面量和符號==引用。這部分內(nèi)容在類被加載后,都會存儲到方法區(qū)中。同時,運行時產(chǎn)生的新常量也可以被放入常量池中,比如 String 類中的 intern() 方法產(chǎn)生的常量。

​ 常量池就是這個類型用到的常量的一個有序集合。包括直接常量(基本類型,String)和對其他類型、方法、字段的符號引用。

二,常量池

2.1,什么是常量:

​ 常量是指被final修飾的變量,值一旦確定就無法改變。

​ final可以修飾靜態(tài)變量、方法、實例變量和局部變量。

​ 常量池分為兩種形式:靜態(tài)常量池和運行時常量池

2.2,靜態(tài)常量池

​ 即*.class文件中的常量池,class文件中的常量池不僅僅包含字符串(數(shù)字)字面量,還包含類、方法的信息,占用class文件絕大部分空間。這種常量池用于存放字面量和符號引用量。

2.3,運行時常量池

​ 指JVM虛擬機在完成類裝載操作后,將class文件中的常量池載入到內(nèi)存中,并保存在方法區(qū)中,我們常說的常量池,就是指方法區(qū)中的運行時常量池。同樣運行時常量池一個重要的特征就是具有動態(tài)性,指并不需要常量只有在編譯期才會產(chǎn)生,在運行期也會將新的常量保存到常量池中,如String類中的intern()方法。

三,== 和equals

3.1,兩者之間區(qū)邊

​ ==:

​ 對于基本類型來說:==表示數(shù)值的比較

​ 對于引用類型來說:==表示地址值的比較

​ equals:

​ 比較的是兩者之間值是否相等,但是Java中的類都是直接或者間接繼承Object類,而equals不也例外。其實在equals源碼中也是使用==進行比較的,如下源碼:

  1. ![](https://img2018.cnblogs.com/blog/1655301/201909/1655301-20190902223856542-1095893842.png) 

​ 那么問題來了,這和==又有什么區(qū)別呢?

​ 上面說到equals也是繼承自java.lang.Object,因此可以對equals進行重寫來定義我們自己的比較方式。

​ 請參看以下代碼:

  1. String str1 = "abc"
  2.         String str2 = "abc"
  3.  
  4.         char[] strArray = {'a','b','c'}; 
  5.         String str3 = new String(strArray); 
  6.  
  7.         String str4 = "abc"
  8.  
  9.         System.out.println(str1 == str2);    
  10.         System.out.println(str1 == str3);    
  11.         System.out.println(str2 == str3);    
  12.         System.out.println(str4.equals(str1));  

​ 以上運行結(jié)果為:

  1. true 
  2. false 
  3. false 
  4. true 

​ 接下來我們依次分析上面的結(jié)果:

​ 1,str1與str2比較的是字符串對象地址,因為它們的值是相同的,所以地址值也是相同的。

​ 2,str3是new出來的示例對象,在堆內(nèi)存中會開辟一塊新的內(nèi)存地址,它并不在常量池中。所以返回結(jié)果為false。

​ 3,同理str2與str3比較也是一樣的結(jié)果。

​ 4,equals比較的是值是否相同,所以返回的結(jié)果為true。

如圖所示:

 

四,String常用方法

​ 首先聲明字符串:

  1. String str1 = "abc"

4.1,int length()

  1. int length = str1.length(); 
  2.  System.out.println(length); 

4.2,char charAt(值)

  1. String str= "abc"
  2. char c = str.charAt(1);   
  3. System.out.println(c);  

4.3,char toCharArray()

  1. String str= "abc"; 
  2. char c[] = str.toCharArray();   
  3. for (int i = 0; i < c.length; i++) { 
  4.       System.out.println("轉(zhuǎn)為數(shù)組輸出:" + c[i]); 

4.4,int indexOf("字符"); int lastIndexOf("字符")

  1. String str="axcdefgabc"
  2. int a1 = str.indexOf("a");  
  3. int a2 = str.indexOf("x",  2); 
  4. int a3 = str.lastIndexOf("c");  
  5. System.out.println("你的位置為:" + a1);  
  6. System.out.println("為的位置為:" + a2); 
  7. System.out.println("點最后出現(xiàn)的位置為:" + a3); 

4.5,字符串大小寫轉(zhuǎn)換

​ toUpperCase(); 轉(zhuǎn)換成大寫

​ toLowerCase();轉(zhuǎn)換成小寫

  1. String str = "hello world"
  2. String str1 = "HELLO WORD"
  3. System.out.println("將字符串轉(zhuǎn)大寫為:" + str.toUpperCase()); 
  4. System.out.println("將字符串轉(zhuǎn)換成小寫為:" + str1.toLowerCase()); 

4.6,String[] split("字符")

  1. String str = "abc,def,123"
  2. String[] arr1 = str.split(","); 

4.7,boolean equals(Object anObject)

  1. String str = "abc"
  2.  String str1= "123";   
  3.  if(str.equals(str1)) {   
  4.       System.out.println("相等");  
  5.  }   
  6.  else
  7.       System.out.println("不相等");   
  8.  } 

4.8,String trim()

  1. String str = "       abc         ";   
  2. System.out.println("去掉左右空格后:" + str.trim()); 

4.9,字符串替換

  1. String replace(char oldChar,char newChar) 
  2. ​ String replaceAll(String,String)將某個內(nèi)容全部替換成指定內(nèi)容 
  3. ​ String repalceFirst(String,String)將第一次出現(xiàn)的某個內(nèi)容替換成指定的內(nèi)容 
  4.  
  5. String str = "abcdefgabdc";   
  6. System.out.println("替換:" + str.replace("abc""123"));  
  7. System.out.println("替換全部:" + str.replaceAll("ab""12"));  
  8. System.out.println("替換第一次出現(xiàn):" + str.repalceFirst("a""a"));  

4.10,String substring(int beginIndex,int endIndex)

  1. String str = "abcdefg";   
  2.  // 截取0-3個位置的內(nèi)容, 不含3  
  3.  System.out.println("截取后的字符為:" + str.substring(0, 3)); 
  4.  // 從第3個位置開始截取, 含2 
  5.  System.out.println("截取后字符為:" + str.substring(2)); 

4.11,boolean equalsIgnoreCase(String)

  1. String str = "ABC"
  2. String str1 = "abc"
  3. if(str.equalsIgnoreCase(str1)){ 
  4.        System.out.println("相等"); 
  5. else
  6.        System.out.println("不相等"); 

4.12,boolean contains(String)

  1. String str = "ABCDEF"
  2. String str1 = "ABC"
  3. if(str.contains(str1)){ 
  4.        System.out.println("str內(nèi)容中包含ABC"); 
  5. else
  6.        System.out.println("str內(nèi)容中不包含ABC"); 

五,總結(jié)

​ 1,對于JVM內(nèi)存的分配,在jdk6中存在方法區(qū),jdk8中便沒有方法區(qū),改成元區(qū)域。

​ 2,jdk6中常量池存在方法區(qū)中,jdk7以后常量池移動到堆中。

責(zé)任編輯:武曉燕 來源: 博客園
相關(guān)推薦

2012-01-11 10:45:57

JavaJVM

2010-09-25 15:40:52

配置JVM內(nèi)存

2018-04-08 08:45:53

對象內(nèi)存策略

2009-07-09 10:01:26

設(shè)置JVM內(nèi)存分配

2022-01-07 13:50:55

語言內(nèi)存代碼

2009-06-12 09:46:40

Java String

2010-10-19 14:48:09

Java String

2021-10-15 08:51:09

Linux內(nèi)存 Kmalloc

2011-12-20 10:43:21

Java

2020-05-27 21:13:27

JavaJVM內(nèi)存

2010-09-27 13:41:22

JVM內(nèi)存回收

2023-03-26 00:43:42

JVM對象測試

2021-07-30 07:22:51

JVM虛擬機棧 Stack

2018-12-20 10:17:35

JVM模型內(nèi)存溢出

2010-02-22 08:58:35

JVM內(nèi)存模型垃圾收集

2010-09-27 11:00:27

TomcatJVM內(nèi)存

2010-09-26 15:38:33

JVM內(nèi)存泄漏

2009-08-27 18:04:01

c#擴展方法string

2019-09-02 14:53:53

JVM內(nèi)存布局GC

2025-03-03 09:05:56

點贊
收藏

51CTO技術(shù)棧公眾號

中文字幕免费观看视频| 免费在线观看污| a在线免费观看| www.视频一区| 欧美亚洲另类制服自拍| 亚洲欧美综合7777色婷婷| 亚洲经典视频| 在线欧美一区二区| www国产无套内射com| 亚洲三级黄色片| 久久精品国产一区二区三区免费看| 久久久精品国产亚洲| 国产xxxxxxxxx| 久久亚洲国产精品尤物| 五月天激情小说综合| 亚洲欧美精品| 欧美一区二区三区激情| 老司机一区二区| 97国产真实伦对白精彩视频8| 免费福利视频网站| 久久久久久久久久久久久久久久久久久久| 在线观看免费成人| 九色自拍视频在线观看| 黄色网址视频在线观看| 久久亚洲捆绑美女| 成人xxxxx色| 国产精品久久久久久久久毛片| 99香蕉国产精品偷在线观看| 精品国产一区二区三区久久狼5月| 蜜桃视频无码区在线观看| 国产精品久久乐| 欧美性猛交xxxx富婆| 成年在线观看视频| 日本三级在线播放完整版| 91日韩在线专区| 91久久国产自产拍夜夜嗨| 91在线视频免费播放| 在线播放精品| 欧美黑人巨大xxx极品| 911国产在线| 欧美视频网址| 亚洲欧美福利视频| 捆绑凌虐一区二区三区| 日本在线一区二区三区| 538在线一区二区精品国产| 日韩一级片播放| 日本不卡1234视频| 亚洲高清中文字幕| 9191国产视频| www.欧美日本韩国| 亚洲免费毛片网站| 中文字幕一区二区三区四区五区六区| 精品电影在线| 国产欧美一区二区精品性色| 欧美日韩一区二区三区免费| 午夜av免费观看| 99v久久综合狠狠综合久久| 国产精品毛片一区视频| 日本韩国免费观看| 91一区一区三区| 九色91在线视频| 完全免费av在线播放| 成人免费看黄yyy456| 成人片在线免费看| 亚洲精品福利网站| 成人禁用看黄a在线| 国产精选在线观看91| 亚洲国产精品suv| 成+人+亚洲+综合天堂| 国产区一区二区三区| 亚洲欧美日韩成人在线| 国产婷婷色一区二区三区四区| 欧美亚洲另类在线一区二区三区| 番号集在线观看| 中文字幕在线不卡视频| 成人毛片100部免费看| 国产经典三级在线| 日韩欧美a级成人黄色| 日韩欧美精品在线观看视频| 成人在线免费| 日韩亚洲欧美综合| 日本丰满少妇裸体自慰| 欧美伦理在线视频| 久久影院免费观看| 日本熟妇成熟毛茸茸| 久久精品五月| 成人欧美一区二区三区在线| 亚洲av无码一区二区三区性色| www.欧美日韩国产在线| 日韩亚洲视频在线| 亚洲奶水xxxx哺乳期| 日韩欧美国产骚| 福利视频999| 理论片一区二区在线| 亚洲视频在线观看| 欧美一级片在线视频| 国产欧美日本| 成人观看高清在线观看免费| 男人天堂一区二区| 亚洲国产高清在线| 日韩av高清在线看片| 欧美大片1688网站| 亚洲成人精品视频在线观看| 欧美成人另类视频| 亚洲视频一二| 国产精品偷伦一区二区| 欧美 中文字幕| 中文字幕第一区| 亚洲精品久久久久久久蜜桃臀| 四虎成人在线| 亚洲国产精品免费| 婷婷激情四射网| 日韩精品乱码免费| 国产乱码一区| 久久精品视频免费看| 色婷婷久久一区二区三区麻豆| 国产精欧美一区二区三区白种人| 亚洲精品动态| 久久久久中文字幕2018| 一区二区www| 久久理论电影网| 日韩网站在线免费观看| 成人51免费| 中文字幕日本欧美| 在线精品免费视| 成人免费毛片嘿嘿连载视频| 国产精品亚洲天堂| av有声小说一区二区三区| 精品91自产拍在线观看一区| 97在线观看免费高| 蜜臀av性久久久久蜜臀av麻豆| 久久精品国产一区二区三区日韩| 男女在线观看视频| 日韩欧美一区二区三区在线| 天堂网av2018| 日韩影院在线观看| 欧美日韩国产综合视频在线| 黄毛片在线观看| 精品国产免费一区二区三区四区 | jvid福利在线一区二区| 97在线看福利| 女人18毛片水真多18精品| 亚洲激情中文1区| 亚洲天堂网站在线| 亚洲h色精品| 91久久嫩草影院一区二区| 欧美性猛交xxx乱大交3蜜桃| 欧美日韩一区二区欧美激情 | 午夜久久久久久久久久| 亚洲人成网站精品片在线观看 | 成人动漫一区二区三区| 欧洲精品在线播放| 国产精品自在| 91国语精品自产拍在线观看性色 | 久草视频一区二区| 久久伊人中文字幕| 成人在线观看a| 欧美日韩一二三四| 国产伦精品免费视频| 免费在线观看黄| 51精品久久久久久久蜜臀| 老熟妇高潮一区二区三区| 国产一区二区三区四区在线观看| 国产又爽又黄ai换脸| 亚洲视频精选| 91国产一区在线| 免费在线毛片| 欧美综合一区二区| 久久久久亚洲av片无码| 国产成人在线网站| 欧美日韩黄色一级片| 香蕉精品久久| 国产有码一区二区| 日本三级在线观看网站| 亚洲国模精品一区| 波多野结衣影片| 综合婷婷亚洲小说| 国产视频精品视频| 久久久夜夜夜| 9999在线观看| 超碰97久久| 国产成人精品免高潮费视频| 久久久久久久久免费视频| 亚洲成人中文字幕| 亚洲精品久久久久久久蜜桃| |精品福利一区二区三区| 国产成人av片| 日日欢夜夜爽一区| 亚洲成人动漫在线| 色88888久久久久久影院| 国产精品久久久久久av福利| 神马午夜伦理不卡| 亚洲人av在线影院| www.四虎在线观看| 色婷婷国产精品久久包臀| 国内毛片毛片毛片毛片毛片| 成人免费看黄yyy456| av在线网址导航| 亚洲激情欧美| 五月天色婷婷综合| 亚洲精品推荐| 成人性色av| 一区二区视频免费完整版观看| 蜜臀久久99精品久久久无需会员 | 国产精品国产av| 精品欧美aⅴ在线网站| 在线观看美女av| 久久久精品黄色| 97中文字幕在线观看| 美女性感视频久久| 日韩免费一级视频| 亚洲影视一区二区三区| 欧美日韩国产免费一区二区三区| 日本在线成人| 国产日韩欧美另类| 成人香蕉视频| 欧美精品激情视频| 麻豆网站在线免费观看| 亚洲深夜福利在线| 日本黄色一区二区三区| 欧美一区二区在线免费播放| 精品视频一二三区| 狠狠躁夜夜躁人人爽超碰91| 免费一级黄色大片| 日韩理论片一区二区| 一级黄色片网址| 91网站在线播放| 91超薄肉色丝袜交足高跟凉鞋| 久草中文综合在线| 污污网站免费看| 首页欧美精品中文字幕| av天堂永久资源网| 亚洲美女少妇无套啪啪呻吟| 国产毛片久久久久久国产毛片| 国产精品x453.com| 亚洲va韩国va欧美va精四季| 国产一区二区三区不卡视频网站| 精品免费视频123区| 粉嫩一区二区三区四区公司1| 亚洲一区二区三区xxx视频| 91嫩草国产线观看亚洲一区二区| 国产精品久久久久av| 欧美无毛视频| 欧美综合激情网| 涩涩av在线| 91chinesevideo永久地址| xxxx在线视频| 午夜精品一区二区三区视频免费看| 美女精品导航| 欧美激情精品久久久久久蜜臀| 伊人电影在线观看| 欧美激情欧美狂野欧美精品| 2018av在线| 777午夜精品福利在线观看| 在线能看的av网址| 国产99视频精品免视看7| 欧美日韩精品免费观看视欧美高清免费大片| 91wwwcom在线观看| 日本一区二区三区视频在线| 国产精品91久久| 国产精品xxx| 91网站在线看| 都市激情亚洲| 欧美一级爽aaaaa大片| 日韩精品中文字幕第1页| 在线观看精品视频| 午夜国产精品视频| 你真棒插曲来救救我在线观看| 午夜一区不卡| mm131亚洲精品| 国产成人午夜视频| 国产精品久久久免费观看| 国产视频一区在线观看 | 欧美日韩激情在线一区二区三区| 亚欧精品在线| 国色天香一区二区| 91好吊色国产欧美日韩在线| 日韩黄色片在线观看| 亚洲天堂av一区二区三区| av福利精品导航| 日本免费www| 一区二区三区在线视频免费 | 91黄色在线| 97碰碰碰免费色视频| 日本肉肉一区| 成人性色av| 成人动漫免费在线观看| 99久久久精品视频| 天堂影院一区二区| 无人码人妻一区二区三区免费| 久久综合九色综合欧美就去吻| 殴美一级黄色片| 五月天激情小说综合| 一级特黄aaa大片在线观看| 亚洲成色999久久网站| 成在在线免费视频| 久久久久久亚洲| 国产精品第一| 久久99精品久久久久久三级| 欧美电影一二区| 欧美精品一区免费| 国产剧情av麻豆香蕉精品| 国产精品揄拍100视频| 亚洲视频一二三| 亚洲av无码精品一区二区| 精品国产乱码久久久久久免费| 91高清在线| 欧美孕妇毛茸茸xxxx| 日本精品国产| 亚洲国产精品久久久久婷婷老年| 亚洲日韩成人| 在线播放黄色av| 国产精品亲子伦对白| 秋霞精品一区二区三区| 欧美变态tickling挠脚心| 日本精品在线| 国产精品国产三级国产aⅴ浪潮 | 精品国产91洋老外米糕| 欧美日本一道| 国产成人福利视频| 农村少妇一区二区三区四区五区| 99精品视频网站| 免费看欧美美女黄的网站| 麻豆精品免费视频| 亚洲大尺度视频在线观看| 国产后入清纯学生妹| 日韩综合中文字幕| av成人免费看| 日韩高清国产精品| 久久精品亚洲一区二区| 中文字幕av网址| 狠狠久久亚洲欧美专区| 日本高清视频在线| 午夜免费久久久久| 国产成人tv| 国产精品久久久久7777| 国产91精品一区二区麻豆网站| 永久看片925tv| 宅男噜噜噜66一区二区66| 免费高清完整在线观看| 国产日韩欧美在线视频观看| 日韩伦理视频| 9l视频白拍9色9l视频| 国产精品系列在线| 中文字幕有码无码人妻av蜜桃| 一本大道久久加勒比香蕉| 3d性欧美动漫精品xxxx软件| 日韩成人av网站| 免费成人在线网站| 中文乱码字幕高清一区二区| 制服.丝袜.亚洲.中文.综合| 超碰公开在线| 99免费在线观看视频| 欧美喷水视频| 91传媒理伦片在线观看| 精品国产福利视频| 日韩电影在线观看完整版| 日本精品性网站在线观看| av一区二区在线播放| 99热一区二区| 亚洲女性喷水在线观看一区| 亚洲AV无码成人片在线观看| 欧美激情综合亚洲一二区| 欧美三级午夜理伦三级小说| 国产精品久久..4399| 2020国产成人综合网| 国产成人精品一区二区色戒| 精品久久久av| 999精品视频在这里| 久久久久久久久久福利| 国产精品色婷婷久久58| 国产欧美日韩综合精品一区二区三区| 久久国产精品偷| 日本中文字幕在线一区| 日韩精品你懂的| 亚洲综合成人网| 日韩二区三区| 91视频国产一区| 一区二区三区国产在线| 国产一二三四视频| 欧美成人一区二区| 电影一区二区三| 中文字幕99| 91啪九色porn原创视频在线观看| 天堂网中文字幕| 久久精品亚洲94久久精品| 国产一区二区在线视频你懂的| 无遮挡又爽又刺激的视频| 亚洲日本成人在线观看| 西西人体44www大胆无码| 国产精选久久久久久| 日韩视频二区| 三上悠亚在线观看视频| 亚洲国产精品va在线观看黑人| 国产精品久久久久久吹潮| 日本黄色片一级片| 欧美国产日韩精品免费观看| 成人乱码一区二区三区| 国产精品三级久久久久久电影| 影音先锋在线一区|