java 高手具有的能力

这个问题之因此没有答案,由于每一个人看问题的角度不同,给出的标准不同,而又没有官方上的标准,在这里也是发表一下本身的见解,固然只是暂时的,或许明天这个答案又被本身否认了,但愿能与各位多多交流,同时也但愿各位多发表本身的意见。

java"高"手,这个高字我加了双引号,是在强调这个高字,而不是java初学者,也不是java大师,而是一个高手。

结合本身的目前的理解,谈谈本身的想法吧,分为如下几个方面:

  1.JVM

  包括如下几个方面:


  熟悉jvm 规范


  熟悉jvm内存管理机制


  熟悉jvm classloader机制


  可以编写下列工具:


  反编译java代码工具


  混淆java代码工具


  jvm内存监控工具


  字节码生成工具


  2.开源框架


  java相关的开源框架不少,在实际的项目开发中用到的也不少。


  可是会使用并不能说明什么,仅仅能说明的是你对这个工具很熟悉,并且你也仅仅是把它当一个工具来看待。


  若是你把他看成一个做品来看,你确定不会仅仅从外面上来看。把她内脏挖出来,看看它的内部组成。


  个人意思是说,你应该读读它的源代码,看看他的做者是怎样设计的,是怎样一步一步构思的。


  把这些步骤都列出来,而后看看哪些地方是设计精妙所在,值得本身去进一步深思和挖掘。


  你会感受到你是在和一位大师沟通,他在指导着你,虽然你不能跟他见面。


  常常看到不少简历上写着精通struts,精通hibernate等等,是否是真的精通呢?


  问他问题:若是我让你来设计一个与struts,hibernate功能相同的框架,你会从哪些方面考虑?你会怎样设计?


  还有人说精通java,那么在我看来你处在的层次就不单单是熟练使用它的api的级别上了,那么你必定会编写java的编译器吧?


  3.设计能力


  这方面是指你的oop的能力。


  那么你是否是说我对设计模式很熟悉,那么个人设计能力水平就很高吗?不见得。


  设计模式不过是给你提供了一系列的解决方案。


  即便这些设计模式能解决你全部的问题,可是你还要去辨认什么时候使用模式合适,以及使用的过程中 怎样去抽象一个问题,以及抽象到一个什么样的粒度。


  有的人买来一本设计模式的书,按着上面的例子都运行了一遍,就自称熟悉设计模式。


  教科书上的模式代码例子,也是一个相似hello world的例子而已。


  设计模式不是一个简单的api调用,而是你的设计能力,绝非靠使用照着葫芦画瓢能达到的。


  4 多线程


  多线程的使用,必须熟练。


  5.熟练使用java相关技术


  在这里仅仅指j2ee方向的。


  jms,jndi,ejb,webservice等等。


  在这里不讨论数据库,软件工程等等,焦点仅限于java.固然前提是得懂java语法,并且对于jdk的api也能熟悉。java

相关文章
相关标签/搜索