麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

深入理解Java初始化的含義

2019-11-18 13:34:03
字體:
來源:轉載
供稿:網友

  可以這樣認為,每個類都有一個名為Initialize()的方法,這個名字就暗示了它得在使用之前調用,不幸的是,這么做的話,用戶就得記住要調用這個方法,java類庫的設計者們可以通過一種被稱為構造函數的非凡方法,來保證每個對象都能得到被始化.假如類有構造函數,那么java就會在對象剛剛創建,用戶還來不及得到的時候,自動調用那個構造函數,這樣初始化就有保障了。

  我不知道原作者的描述和譯者的理解之間有多大的差異,結合全章,我沒有發現兩個最要害的字""和""。至少說明原作者和譯者并沒有真正說明JVM在初始化時做了什么,或者說并不了解JVM的初始化內幕,要不然明明有這兩個方法,卻為什么要認為有一個事實上并不存在的"Initialize()"方法呢?

  ""和""方法在哪里?這兩個方法是實際存在而你又找不到的方法,也許正是這樣才使得一些大師都犯暈。加上jdk實現上的一些BUG,假如沒有深入了解,真的讓人摸不著北。

  現在科學體系有一個希奇的現象,那么龐大的體系最初都是建立在一個假設的基礎是,假設1是正確的,由此推導出2,再繼續推導出10000000000。可惜的是太多的人根本不在乎2-100000000000這樣的體系都是建立在假設1是正確的基礎上的。我并不會用“可以這樣認為”這樣的假設,我要確實證實""和""方法是真真實實的存在的:

package debug;
 public class MyTest{
  static int i = 100/0;
  public static void main(String[] args){
   Ssytem.out.  }
 }
  執行一下看看,這是jdk1.5的輸出:

java.lang.ExceptionInInitializerError
Caused by: java.lang.ArithmeticException: / by zero
at debug.MyTest.(Test.java:3)
Exception in thread "main"
  請注重,和其它方法調用時產生的異常一樣,異常被定位于debug.MyTest的.

  再來看:

package debug;
 public class Test {
  Test(){
   int i = 100 / 0;
  }
 public static void main(String[] args) {
  new Test();
 }
}
  jdk1.5輸入:

  Exception in thread "main" java.lang.ArithmeticException: / by zero

  at debug.Test.(Test.java:4)

  at debug.Test.main(Test.java:7)

  JVM并沒有把異常定位在Test()構造方法中,而是在debug.Test.

  當我們看到了這兩個方法以后,我們再來具體討論這兩個“內置初始化方法”(我并不喜歡生造一些非標準的術語,但我確實不知道如何規范地稱呼他們)。

  內置初始化方法是JVM在內部專門用于初始化的特有方法,而不是提供給程序員調用的方法,事實上“<>”這樣的語法在源程序中你連編譯都無法通過。這就說明,初始化是由JVM控制而不是讓程序員來控制的。 三層交換技術 交換機與路由器密碼恢復 交換機的選購 路由器設置專題 路由故障處理手冊 數字化校園網解決方案


  類初始化方法:

  我沒有從任何地方了解到的cl是不是class的簡寫,但這個方法確實是用來對“類”進行初始化的。換句話說它是用來初始化static上下文的。

  在類裝載(load)時,JVM會調用內置的方法對類成員和靜態初始化塊進行初始化調用。它們的順序按照源文件的原文順序。

  我們稍微增加兩行static語句:

package debug;
public class Test {
 static int x = 0;
 static String s = "123";
 static {
  String s1 = "456";
  if(1==1)
  throw new RuntimeException();
 }
 public static void main(String[] args) {
  new Test();
 }
}
  然后進行反編譯:



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产毛片网站 | 91麻豆精品国产91久久久更新资源速度超快 | 特级黄色一级毛片 | 牛牛视频在线 | 91九色精品 | 日韩黄色免费电影 | 欧美aⅴ在线观看 | 乱淫67194| a黄网站| 国产精品一区免费在线观看 | 激情久久一区二区 | 久久久久久久久久综合 | 亚洲一级网站 | 国内精品久久久久久久影视红豆 | 久久精品亚洲欧美日韩精品中文字幕 | 成人福利软件 | 中国成人在线视频 | 精品久久久一二三区播放播放播放视频 | 国产精品福利一区 | 国产精品久久久久久久久久 | 日日摸夜夜添夜夜添牛牛 | 久久国产精品一区 | 精品亚洲夜色av98在线观看 | 91一级毛片 | 日韩黄网站 | 精品一区二区久久久久久久网精 | 影视免费观看 | 久久成年网站 | 禁漫天堂久久久久久久久久 | 精品国产乱码一区二区三区四区 | 美女又黄又www | 亚洲国产女同久久 | 久久久久久久免费视频 | 深夜网站在线观看 | 中文字幕www | 久久人添人人爽人人爽人人片av | 99视频网址| 欧美精品a∨在线观看不卡 午夜精品影院 | 国产精品久久久久久久久久东京 | 久久国产夫妻视频 | 毛片视频免费观看 |