在招聘网站上看到好多信息,招聘java高手,就在想具备什么样的水平才算是他们眼中的java高手。

这个问题 ,在刚学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也能熟悉。

上述仅属于个人观点,欢迎讨论和指正。

本文转载自网络,欢迎大家转发阅读!

欢迎添加播妞微信:boniu526

java怎样才算高级_怎样才算是一名java高手?相关推荐

  1. loss值多少才算收敛_一个家庭一年要存多少钱才算正常?国家统计局给出“答案”...

    阅读本文前,请您先点击上面的蓝色字体,再点击"关注",这样您就可以继续免费收到最新文章了.每天都有分享.完全是免费订阅,请放心关注.免责声明:本文来源于网络,如有侵权请联系作者删除 ...

  2. loss值多少才算收敛_你了解TDS值是多少才是合格的吗?

    我们一直在听闻空气污染越来越严重,我们每日喝的水你想过是健康水吗?可是,怎样去分辨我们所喝的水有没有遭受环境污染,环境污染到哪些水平了呢?这儿就迫不得已提到一个指标值,那便是TDS.TDS值是多少才是 ...

  3. loss值多少才算收敛_库存究竟多少才算合理?

    本文摘自以上刘宝红老师著作. 作为库存计划人员,不管你的库存周转多快,总有人挑战你,说你的库存不合理.不合理,其实是太高的代名词.不过想想看,每一分钱的库存都不是凭空而来,都是为了特定的业务需求而设的 ...

  4. java中解密的思想_北大青鸟翔天解密,Java核心思想两大点

    Java已经成为一个庞大而复杂的技术平台,对于开发人员而言,要想更好的掌握Java技术,深入理解底层的技术处理细节必不可少.对核心概念和思想的掌握可以帮助我们举一反三.触类旁通,有助于提升我们对整个J ...

  5. java内存中读文件_关于内存管理:读取Java中的大文件

    我需要一个非常了解Java和内存问题的人的建议. 我有一个大文件(大约1.5GB),我需要将此文件切成许多小文件(例如100个小文件). 我通常知道如何做到这一点(使用BufferedReader), ...

  6. java单元测试读文件数据_如何将文本文件资源读入Java单元测试?

    本问题已经有最佳答案,请猛点这里访问. 我有一个单元测试需要使用位于src/test/resources/abc.xml中的XML文件.把文件的内容放到String中最简单的方法是什么? 另外,sta ...

  7. java获取数组穷举_被BAT疯抢的Java工程师,都是怎么拿到年薪50W的offer

    怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名遭到BAT疯抢的架构师. 那么遭到BAT疯抢的架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员也是工作三五年之 ...

  8. java 多线程 并发 面试题_最常见的15个Java多线程,并发面试问题

    假设你有三个线程T1,T2,T3.你如何能保证线程T2在线程T1后运行,T3在T2后运行 这个线程面试问题大多是在第一轮或电话筛选轮次中会被问到的,这个多线程问题的目的是检查候选人对"joi ...

  9. 用Java代码实现日志记录器_如何在此简单的Java日志记录实现中附加到日志文件? - java...

    我得到了以下用于创建和管理Logger的类.每当执行代码和程序时,都会使用对静态getLogger()捕获块的调用进行记录. public class Log { private static fin ...

最新文章

  1. 哪些听起来像段子一样的故事?
  2. Jenkins+Pipeline+Docker部署SpringBoot项目到远程服务器
  3. Asp.NET MVC3添加域(Areas)区分Admin域和用户域
  4. delphi7下调用微软的Web Services的心得
  5. 玩转oracle 11g(37):rman备份-数据库指定文件恢复
  6. Kubernetes存储卷的使用
  7. Mybatis之typeAlias配置的3种方法
  8. MyBatis缓存机制学习
  9. 用ajax向处理页面传送路径问题解决方法
  10. 【白话区块链】面向区块链开发
  11. 结合实际聊聊电平转换电路(常用电平转换电路总结)
  12. 服务器工作室用什么系统,【小兵工作室】BING GHOST Server2003r2ee 服务器专用版
  13. c语言malloc函数的用法和意义
  14. 解决dll load failed while importing qtgui
  15. oracle 删掉同义词,【oracle删除同义词】作文写作问答 - 归教作文网
  16. scrapy之spiders
  17. iOS内购(IAP)自动续订订阅类型服务端总结
  18. day_8——LeetCode1:两数之和
  19. ChatGPT 使用 强化学习:Proximal Policy Optimization算法(详细图解)
  20. QTableWidget点击空白处取消选中

热门文章

  1. 第 19 次 CCF CSP 认证 202006-1 线性分类器(line)
  2. 二分搜索:lower_bound 与 upper_bound 函数
  3. 1007 素数对猜想(C语言)
  4. InteliJ Idea通过maven创建webapp
  5. 【抄】更改eclipse配置
  6. DB2数据库添加删除约束项
  7. 将coco数据集转为voc格式代码
  8. MQTT 控制报文 - PINGREQ心跳报文,PINGRESP - 第4章
  9. leetcode898.BitwiseORsofSubarrays
  10. 关于微软的VB和C#:为何Basic需要存在,为何VB如此像C#,为何两者不合并等