想成為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,安全治理等方面的工作.
這些只是從簡單方面說說,其實每個知識點"溶解"起都要涉及更多的知識點,大家好好理解吧.