想成為JAVA高手,你至少要非常熟悉並能自如地應用如下幾個知識點:
1.序列化機制.(有人認為它並不是重要的技術,我以我的經驗聲明,這是JAVA平台第一重要的知識點.)
2.RTTI機制
3.CALLBACK機制
4.反射機制
序列化:
是一切對象深度CLONE,對象的儲存與恢複,對象的遠程調用的基礎,也就是說它是對象池化管理,分布式引用的基礎,想想J2EE平台如果不靠它能做什麼?
RTTI:
是一切封裝的基礎,沒有它,介面,抽象類別,父類就沒有意義,如果封裝沒有了,同樣沒有父類,子類就不叫子類了.
CALLBACK:
CALLBACK首先是基於多線程的,沒有線程的調用就不要談回調.子類調用父類的構造方法叫回調用,那TMD的任何構造對象都叫回調了,因為任何對象至少繼承了Object,構造時至少要調用Object的構造方法.
CALLBACK機制:
一個主線程管理其它線程時,不用輪詢方法檢查各個線程的狀態,而是在子線程中出現某種狀態時通知主線程,啊,有人要按下我了,啊,我的值到達100了,(術語叫觸發了某種事件)這樣主線程收到這些訊息再根據訊息類型去調用相應的方法.
一個例子,我(主線程)坐車去北京,當車到北京時我要調用"下車"這個方法,如果不用回調用機制,我要不斷地問driver,到了沒有啊?如果我問超過三次而那個driver力氣又比我大的話,他肯定要打我,如果用回調用機制,就是用一個子線程(可以讓driver承擔這個角色)在那運行,當到的時候通知我到了,我就調用"下車()",而不用過一會就問一次,這樣我可以省下時間睡覺或和車上的美眉聊天.
反射:
是RUNTIME的事,完成類的載入,類的分析,bean的自省等功能,JBUILDER為什麼敲一個類的名稱後面就列出了它的成員變數和方法供你選擇?如果你想知道一個對象的某種方法被調用過多少次你用什麼方法?這些知識可以讓你從一行Exception就能分析出錯誤原因.以及自己實現classloader,安全管理等方面的工作.
這些只是從簡單方面說說,其實每個知識點/"溶解/"起都要涉及更多的知識點,大家好好理解吧.