分类:
2008-10-15 16:32:43
这个问题之所以没有答案,因为每个人看问题的角度不一样,给出的标准不一样,而又没有官方上的标准,在这里也是发表一下自己的看法,当然只是暂时的,或许明天这个答案又被自己否定了,希望能与各位多多交流,同时也希望各位多发表自己的意见。
java“高”手,这个高字我加了双引号,是在强调这个高字,而不是java初学者,也不是java大师,而是一个高手。
结合自己的目前的理解,谈谈自己的想法吧,分为以下几个方面:
1.JVM
包括以下几个方面:
熟悉jvm 规范
熟悉jvm内存管理机制
熟悉jvm classloader机制
能够编写下列工具:
反编译java代码工具
混淆java代码工具
jvm内存监控工具
字节码生成工具
2.开源框架
java相关的开源框架很多,在实际的项目开发中用到的也很多。
但是会使用并不能说明什么,仅仅能说明的是你对这个工具很熟悉,而且你也仅仅是把它当一个工具来看待。
如果你把他当作一个作品来看,你肯定不会仅仅从外面上来看。把她内脏挖出来,看看它的内部组成。
我的意思是说,你应该读读它的源代码,看看他的作者是怎样设计的,是怎样一步一步构思的。
把这些步骤都列出来,然后看看哪些地方是设计精妙所在,值得自己去进一步深思和挖掘。
你会感觉到你是在和一位大师沟通,他在指导着你,虽然你不能跟他见面。
经常看到很多简历上写着精通struts,精通hibernate等等,是不是真的精通呢?
问他问题:如果我让你来设计一个与struts,hibernate功能相同的框架,你会从哪些方面考虑?你会怎样设计?
还有人说精通java,那么在我看来你处在的层次就不仅仅是熟练使用它的api的级别上了,那么你一定会编写java的编译器吧?
[1]