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. Nlog.Config:日志方法步骤

    首先添加negut包Nlog.Config: 安装完毕以后,可以替换Nlog.config <?xml version="1.0" encoding="utf-8& ...

  2. 索引,B+ tree,动态hash表

    数据库课索引部分的学习笔记. 教材: Database System: The Complete Book, Chapter 15 Database System Implementation, Ch ...

  3. Mysql学习第二天

    Mysql语句执行 用户登录与管理 mysql -uroot -p -hlocalhost test # 指定登录test数据库 mysql -uroot -p -hlocalhost company ...

  4. SDN 第四次作业

    阅读 了解SDN控制器的发展 http://www.sdnlab.com/13306.html http://www.docin.com/p-1536626509.html 了解ryu控制器 http ...

  5. Spring-IOC 扩展点 BeanFactoryPostProcessor及其子接口解析

    BeanFactoryPostProcessor 接口的英文描述: Allows for custom modification of an application context's bean de ...

  6. [2018-12-15] Hello World!

    这个blog以后就用来发oi相关的算法与数据结构了 还可能想学习一点web前端的知识和一些与计算机有关的软件和技术 可能有空大概会试试搭建blog以及一些各种软件和c++以外的玩意

  7. tarjan【模板】缩点

    传送门:https://www.luogu.org/problemnew/show/P3387 首先呢,tarjan找一个图的强连通分量是基于对图的dfs的.这中间开了一个dfn[]代表dfs序,还有 ...

  8. php无限分类 下拉框

    无限分类 下拉框优势:填写参数少,只需要指定一个循环节点($parnent_id),就可以循环所有下级分类.循环输出结构很有特色,比较符合我的口味.补充: $parent_id才是上下级关联的节点,i ...

  9. <数据结构与算法分析>读书笔记--利用Java5泛型实现泛型构件

    一.简单的泛型类和接口 当指定一个泛型类时,类的声明则包括一个或多个类型参数,这些参数被放入在类名后面的一对尖括号内. 示例一: package cn.generic.example; public ...

  10. /bin/ls: Permission denied

    [root@test_node1 ~]# crontab -lno crontab for root[root@test_node1 ~]# cd /home/[root@test_node1 hom ...