成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JVM如何判斷類相同

開發(fā) 后端
上篇博客中,提到Class生成對(duì)象的原理,根據(jù)上篇博客的小例子,得出的結(jié)果程序中的Class對(duì)象是一樣的,是只有一個(gè)Class對(duì)象。那JVM是如何判斷這三個(gè)Class對(duì)象其實(shí)是一個(gè)Class對(duì)象呢?

上篇博客中,提到Class生成對(duì)象的原理,根據(jù)上篇博客的小例子,得出的結(jié)果程序中的Class對(duì)象是一樣的,是只有一個(gè)Class對(duì)象。那JVM是如何判斷這三個(gè)Class對(duì)象其實(shí)是一個(gè)Class對(duì)象呢?

JVM根據(jù)兩個(gè)方面判斷:一是類的全稱;另一個(gè)是類加載器。

根據(jù)上篇博客中的結(jié)果得出:類的全稱是相同的。那類加載器是否相同呢?即使類的全稱相同,而使用的加載器不同,那Class對(duì)象也是不同的。那我們繼續(xù)上篇博客中的例子,看看所使用的加載器的結(jié)果如何呢?其中使用getClassLoad()方法。

  1. /**  
  2.  
  3.  * @author: 梁煥月   
  4.  
  5.  * 文件名:TestClass.java   
  6.  
  7.  * 時(shí)間:2012-2-6上午10:01:52    
  8.  
  9.  */ 
  10.  
  11. public class TestClass {  
  12.  
  13.    
  14.  
  15. public  static void main(String[] args)  
  16.  
  17. {  
  18.  
  19. try {  
  20.  
  21. //測(cè)試Class.forName()  
  22.  
  23. Class testTypeForName=Class.forName("TestClassType");          
  24.  
  25. System.out.println("testForName---"+testTypeForName);  
  26.  
  27. //測(cè)試類加載器  
  28.  
  29. System.out.println("forName形式的加載器--"+testTypeForName.getClassLoader());  
  30.  
  31. //測(cè)試類名.class  
  32.  
  33. Class testTypeClass=TestClassType.class;  
  34.  
  35. System.out.println("testTypeClass---"+testTypeClass);  
  36.  
  37. //測(cè)試類加載器  
  38.  
  39. System.out.println(".class形式的加載器---"+testTypeClass.getClassLoader());  
  40.  
  41. //測(cè)試Object.getClass()  
  42.  
  43. TestClassType testGetClass= new TestClassType();  
  44.  
  45. System.out.println("testGetClass---"+testGetClass.getClass());  
  46.  
  47. //測(cè)試類加載器  
  48.  
  49. System.out.println("getClass形式的加載器--"+testGetClass.getClass().getClassLoader());   
  50.  
  51. catch (ClassNotFoundException e) {  
  52.  
  53. // TODO Auto-generated catch block  
  54.  
  55. e.printStackTrace();  
  56.  
  57. }  
  58.  
  59.    
  60.  
  61. }  
  62.  
  63. }  
  64.  
  65.  class TestClassType{  
  66.  
  67. //構(gòu)造函數(shù)  
  68.  
  69. public TestClassType(){  
  70.  
  71. System.out.println("----構(gòu)造函數(shù)---");  
  72.  
  73. }  
  74.  
  75. //靜態(tài)的參數(shù)初始化  
  76.  
  77. static{  
  78.  
  79. System.out.println("---靜態(tài)的參數(shù)初始化---");  
  80.  
  81. }  
  82.  
  83. //非靜態(tài)的參數(shù)初始化  
  84.  
  85. {  
  86.  
  87. System.out.println("----非靜態(tài)的參數(shù)初始化---");  
  88.  
  89. }          
  90.  

結(jié)果如下:

觀察結(jié)果發(fā)現(xiàn):三種形式的加載器是相同的。

因此可以說明上篇博客中例子中的三個(gè)方式生成的Class對(duì)象只有一個(gè).同樣也證明了上篇博客中Class對(duì)象生成的原理。JVM首先判斷內(nèi)存中是否已經(jīng)加載該類。判斷的依據(jù)就是此篇博客的介紹。

 

原文鏈接:http://blog.csdn.net/llhhyy1989/article/details/7244341

【編輯推薦】

  1. Java中Class對(duì)象詳解
  2. Java API設(shè)計(jì)清單
  3. Java遠(yuǎn)程方法調(diào)用RMI
  4. Java編程:常見問題匯總
  5. Java編程語(yǔ)言的認(rèn)識(shí)誤區(qū)
責(zé)任編輯:林師授 來(lái)源: llhhyy1989的博客
相關(guān)推薦

2021-03-15 08:11:40

JVM回收堆內(nèi)存

2023-10-31 16:00:51

類加載機(jī)制Java

2024-04-09 08:41:41

JVM類加載Java

2023-08-02 08:38:27

JVM加載機(jī)制

2024-12-02 09:01:23

Java虛擬機(jī)內(nèi)存

2023-10-07 08:41:42

JavaJVM

2024-03-08 08:26:25

類的加載Class文件Java

2021-01-19 10:35:49

JVM場(chǎng)景函數(shù)

2021-01-21 08:00:25

JVM

2017-03-08 10:30:43

JVMJava加載機(jī)制

2021-04-29 11:18:14

JVM加載機(jī)制

2017-09-20 08:07:32

java加載機(jī)制

2020-06-22 07:47:18

Linux系統(tǒng)磁盤

2024-03-12 07:44:53

JVM雙親委托機(jī)制類加載器

2014-11-10 09:42:59

JVM線程堆棧

2020-05-12 22:24:44

JVM系統(tǒng)加載器

2022-10-08 08:34:34

JVM加載機(jī)制代碼

2023-10-18 18:23:58

2022-01-14 11:45:40

JVM 虛擬機(jī)Java

2024-12-04 09:01:55

引導(dǎo)類加載器C++
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 亚洲欧美在线视频 | 精品一二区 | 一区二区三区免费在线观看 | 在线播放国产一区二区三区 | 久久99深爱久久99精品 | 国产一级网站 | 亚洲免费久久久 | 久久国产精品视频观看 | 婷婷久久综合 | 欧美成人高清 | 欧美精品一区二区三区在线播放 | 国产精品视频一二三区 | 精品国产一区三区 | 97免费在线观看视频 | 国产成都精品91一区二区三 | 狠狠操网站| 国产在线不卡视频 | 成人做爰www免费看视频网站 | 欧美日韩亚洲国产 | 国产日韩在线观看一区 | 中文字幕视频在线看 | 欧美一区在线看 | 成人午夜精品 | 国产精品久久久久久久岛一牛影视 | 日韩中文字幕 | 国产日韩欧美在线 | 成人三区四区 | 日日日干干干 | 午夜精品影院 | 欧美色偷拍 | 亚洲午夜精品视频 | 久久伦理电影 | 欧美aaaaaaaaaa| 亚洲欧美在线一区 | 欧美二区在线 | 精品伦精品一区二区三区视频 | 一区二区日本 | 一区二区三区欧美 | 国产午夜精品理论片a大结局 | 国产探花 | 99久久精品国产一区二区三区 |