【分享】熟练的Java程序员应该掌握哪些技术?

时间:2024-11-01 23:36:44

Java程序员应该掌握哪些能力才能算是脱离菜鸟达到熟练的程度?

  1、语法:Java程序员必须比较熟悉语法,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息 知道是什么样的语法错误并且知道任何修正。

  2、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、 HtmlConverter、jar、 java、 javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你对java 实际上还很不了解。

  3、工具 :必须至少熟练使用一种IDE的开发工具,例如Eclipse、MyEclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。

  4、API:Java的核心API是非常庞大的,但是有一些内容笔者认为是Java程序员必须熟悉的,否则不可能熟练的运用Java。

  5、测试 :必须熟悉使用junit编写测试用例完成代码的自动测试。

  6、管理:Java程序员必须熟悉使用ant完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。

  7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。

  8、思想:必须掌握OOP的主要要求,这样使用Java开发的系统才能是真正的Java系统。

  9、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。

  10、博学:Java程序员除了精通Java意外,还要掌握J2EE 、Oracle 、WebLogic、Jboss、Spring、Struts、Hibernate 等流行技术,掌握软件架构设计思想、搜索 引擎优化、缓存系统设计、网站负载均衡、系统性能调优等。

       11、学习能力:现在技术升级更新很快,新技术不断的出现,作为一个合格的Java程序员,需要不断的学习这些技术,这叫要求我们程序员有一个好的学习能力。

       12、待定...

       还有其他的吗?欢迎提供...

引用:

原帖由 breakyang2011 于 2013-9-25 10:45 发表 

我的经验不多,但是希望我的回答能够帮助你。

首先楼主的问题 ---熟练的java程序员应该掌握哪些技术。对于这个问题本身,我想说明一下,JAVA语言已经有十多年的历史,现在已经发展出自己的一套开发平台,包括JAVA开发语言,虚拟机平台,开发框架,公共程序库等一系列复杂的体系。从大的方面分:第一个方向是java开发的桌面程序(这类软件相当于C++开发的桌面软件如QQ等。)第二个方向是java 企业级开发,这个也是java最重要的发展方向,无论是业绩的支持,还是程序员的选择,都是三个方向中的热门。企业级开发简单的说就为企业客户定制符合公司业务的软件系统,帮助企业实现信息化管理。第三个方向java的嵌入式方向,前几年是J2ME,现在java
的嵌入式方向基本代表着Android手机开发,现在移动开发是一个热门,如果楼主是学生的话可以选择从事这个方向。介绍了这么多,说一下我的观点:对于java语言的掌握,java基础的语法,集合框架,IO系统,线程操作自然要知道,或者会写简单的程序。但是下一步,就要根据你要从事的技术方向,如上面提到的三个方向。对于任何一个方向,需要的java语言的内容都是整个java语言的子集。比如我从事的企业级开发,很少用到线程的代码(我的经验也不多)。其他的方向也是一样,都有各自的子集。

下面对你写的每一点做回答:

1 语法:基础语法自然不用说,必须掌握。对于程序报错信息,可以通过搜索引擎(建议Google)去搜索,慢慢就会总结出规律。

2 命令:我的经验不多,在工作过程中,很少用到命令,因为都是在IDE下工作,但是如果你是在学习,当然知道越多越好。这个都是逐步丰富的去学,建议楼主不要想着一下子学到低,编程语言的学习是渐进式的,在学习一段时间后,运用,慢慢理解了,再去学更多的东西。不可能一下子把某一个方向学通,比如你想把所有命令都能记住,熟练掌握,虽然好,但是有的命令不常用,反而浪费精力。

3 工具:在学习时候,可以自己用命令编译些小程序,但是要是想做点成规模的东西,IDE还是一个必要的选择。IDE选择一种,一直用下去,不要总是图新鲜总换,推荐Eclipse,因为是免费的,毕竟咱们是程序员,用盗版开发工具也是对同行的辛苦的不体谅,Eclipse同时也是一个很好的开发工具,可以满足需求。

4 API:API的却很多,还是根据你选择防线去学习对应的API,基础的API,java se中包涵的都是基本的api,你可以学习那些。但时间上并不用那么多。学习一些常用类,然后慢慢在实践中丰富。切记不要像学书本一样,一定要学习一些用一些。

5 测试:Junit 需要掌握一下,但是在团队开发时候才会大量用,学习时候不会那么用。

6 管理:ant用过一点,的确不错。但是在学习过程中不用太重视这个,这个都是用于开发团队的管理才用到。而且如果你的团队采用ant,你现学都是没有问题的。普通的代码,打包Eclipse都可以完成。

7 排错:排错完全靠积累,错多了,自然就知道。排错也是学习的好方法。

8 思想:这么说吧,思想是不能直接学来的,你只有在用的过程中,去慢慢体会,直接去学OOP思想,不如去打一局LOL

9 规范:代码规范选择自己喜欢的,都行。团队开发,就看你老大定什么规范了,大公司都有代码规范,不要在这个上浪费时间。

10博学:其实你说的博学,就是我说的方向,你选定方向,去学对应的技术,你列举的都是企业级开发的框架,如果你选择这个方向,自然要学习,如果不是,是浪费时间。人的精力有限,你不可能学会所有。

11 学习能力:说一个我的观点,我天天看技术新闻,今天来个新语言,明天来个新版本,但是其实在实际工作中,这种更新是很慢的,起码在企业级开发领域。起码是已年为单位的。因为架构不是说换就换的,技术风险等等,软件工程更多的是编程之外的事情。所以不要着急,像我以前一样。另外升级都是根据之前的基础,所以你打好基础,自然不会是坏事。

最后 编程这条路挺艰辛,如果热爱,希望能坚持。