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

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

【分享】熟练的Java程序员应该掌握哪些技术?的更多相关文章

  1. 腾讯架构师分享的Java程序员需要突破的技术要点

    一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心 ...

  2. Java程序员需要突破的技术要点

    一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心 ...

  3. 分享下对JAVA程序员成长之路的总结<转>

    我也搞了几年JAVA了,由于一向懒惰,没有成为大牛,只是一普通程序猿,手痒来给新人分享下从新手成长为老鸟的已见.   首先初识语法的阶段,必须要学会怎么操作对象,操作if和for,操作list set ...

  4. 【Java分享客栈】Java程序员为争一口气熬夜硬刚CSS实现掘金首页

    前言 如果我做不了最厉害的Java工程师,那我就做Java工程师中最厉害的前端工程师. 前段时间,我默默给自己又喂了这碗心灵鸡汤-- 我不是很厉害的Java工程师,哪怕我已经工作八年,我依然觉得自己和 ...

  5. 要做Java程序员 需要知道那些技术 重点有那些

    一.Java程序员         高级特性               反射.泛型.注释符.自动装箱和拆箱.枚举类.可变               参数.可变返回类型.增强循环.静态导入     ...

  6. 月薪3万Java程序员要达到的技术层次

    要达到月薪3万,一般要在北上广深杭知名的互联网公司,同时要在某一个知识领域达到专家级别,而不是简单的掌握SSH那么简单.虽然对部分人有点难,但目标还是要有的,万一实现呢? 首先三万的月薪在BAT实在太 ...

  7. “大话架构”阿里架构师分享的Java程序员需要突破的技术要点

    一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心 ...

  8. “大话架构”阿里架构师分享Java程序员需要突破的技术要点

    一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心 ...

  9. java程序员需要掌握些什么知识

    java程序员需要掌握些什么知识 合格的程序员应具有实际开发能力的Java和J2EE.如今的IT企业需求量大,但人才紧缺的.企业需要大量掌握Java/JEE/Oracle/WebLogic/Websp ...

随机推荐

  1. guid是否为空的判断

    Guid类型的变量不会为空,初始化没有赋值的GUID应该是00000000-0000-0000-0000-000000000000 . 正确的判断应该是if(Guid testId== Guid.Em ...

  2. MongoDB基础之 安装

    本篇来介绍MongoDB的安装.安装版本是3.4.18 如果安装老版本的mongodb,你会发现安装比较顺利,但是新版本的mongo安装稍微麻烦一点 ,主要是多了安全机制认证等步骤. 1.下载mong ...

  3. 使用ramdisk内存分区给常用软件加速

    ::参考内存盘软件https://download.csdn.net/download/zly6tz/9717137cls @echo off ::内存虚拟盘符-内存盘大小自己查看源目录大小 ::下面 ...

  4. 3.5星|《订阅》:Youtube对用户喜好的发现与应对

    订阅:数字时代的商业变现路径 主要内容我总结是Youtube对用户喜好的发现与应对.可以认为很多时候作者说的是Youtubu官方的态度与想法.穿插了许多Youtube上的成功创作者的故事. Youtu ...

  5. 阿里八八Alpha阶段Scrum(12/12)

    今日进度 俞鋆: 和前端对接,完成了注册接口的对接写了一部分数据同步接口. 李嘉群: 完成了注册界面与服务器的对接 黄梅玲: json数据解析并在listview中显示(还未完成) 王国超: 今天开始 ...

  6. [python]关于在python中模块导入问题追加总结

    [背景] 最近在写程序时,我使用的eclipse编辑器运行都没有问题,然后部署到自动化环境上却偏偏报找不到相应模块问题,现在对该问题在之前的贴子上追加总结 原帖子:[python]关于python中模 ...

  7. 在 CentOS/Fedora 下安装 JAVA 环境

    介绍 本文介绍如何在 CentOS 7(6/6.5). Fedora.RHEL 上安装 Java.Java是一个流行的软件平台,允许您运行Java应用程序. 本文涵盖了以下Java版本的安装: Ope ...

  8. python第二十九课——文件读写(写数据的操作)

    演示写数据的操作: 结论:往文件中写入数据,如果文件不存在,先创建文件,再写入内容 #1.打开文件 fw=open(r'd.txt','w',encoding='utf-8') #2.写数据操作 fw ...

  9. [GXOI/GZOI2019]逼死强迫症

    题目 设我们最后的答案是\(g_n\) 我们发现在最后竖着放一个\(2\times 1\)的,和横着放两个\(1\times 2\)的就可以区分开之前的方案了 所以如果仅仅使用\(1\times 2\ ...

  10. FileUriExposedException_Android7.0适配

    一. FileUriExposedException的解决 问题 由于在Android7.0上,google使用了新的权限机制,所以导致在调用相机的时候,如果传递的URI为”file://”类型,的系 ...