Java中最为要害的几个知识点
[注]:本篇文章是根据axman兄,在论坛中发出的一次讨论整理出来的,具体内容,请访问论坛。
想成为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,安全治理等方面的工作.
这些只是从简单方面说说,其实每个知识点"溶解"起都要涉及更多的知识点,大家好好理解吧.