1. 拥有扎实的基础和深刻理解 OO 原则



对于 Java 程序员,深刻理解 ObjectOriented Programming(面向对象编程)这一概念是必须的。没有 OOPS 的坚实基础,就领会不了像 Java 这些面向对象编程语言的美。光学习 OO 原则的定义用处不大,关键是要学会如何应用这些原则用一种 OO 的方式去设计解决方案。因此,我们应该对对象建模、继承、多态、设计模式有一个很好的认识。



2. 掌握核心 API



如果你不知道语言结构和核心 API,那么即使你在理论知识上再怎么彪悍也是独木难成林。在 Java 中,我们最好能对核心 API,如 java.lang.*、I/O、异常、集合、泛型、线程、JDBC 等有很强的实战经验。要是涉及到 Web 应用的开发,无论你使用的是对 Servlet 有多大关系的框架,JSP 都是必须的。



3. 不断编码



陆游曾说过,“纸上得来终觉浅,绝知此事要躬行”。从理论上想出一个解决方案很简单,但是真到了实施的时候,才会意识到问题有多难。此时,你才会明白编码过程中存在的语言限制,从而设计出最好的实践方案。因此,请勿中断编码。



4. 订阅社区论坛



我们并非踽踽独行者。很多人都和我们一样在研究着相同的技术。只是对某个框架概念做验证是不难的,但是当你将这些概念应用到实际的项目中时,那么各 种各样的问题,各种在官方文档上找不到解决方法的难题就会接踵而来。学习新技术首先要做的是订阅相关的技术社区论坛。无论你遇到的是什么问题,总会有人比 你先碰到过,而且搞不好已经找到了解决方法。Ps,还可以解答别人提出来的问题,而且这感觉不要太爽哦。你也可以通过邮件订阅《快乐码农》程序员期刊获取 更多的编程知识,点击订阅。



5. 追博客并附上自己的评论



正如我前一点所说的,我们并不孤单。成千上万来自世界各地的技术爱好者将他们的技术见解发表在博客上。在博客上我们可以找到很多相同技术的不同观 点。有人会觉得这是一个强大的技术功能,而有的人可能会觉得这是一个愚蠢的框架,仁者见仁智者见智。所以对于同一种技术你会在博客中听到两种不同的声音。 看到好的博客可以写点自己的看法回复在评论上。



6. 阅读开源框架的源代码



好的开发人员总是知道如何使用框架。但是如果你想成为一个优秀的开发人员,那么你需要研究各种成功和流行的框架源代码,去了解它的内部工作机制和最佳实践形式。这是一种高效的使用框架的方法。



7. 了解相关技术的发展趋势



在开源环境中,软件开发技术总是在不断发展变化。现在所谓的新框架,可能到时候会过时。当前框架上解决不了的问题,可能在新框架上就不再是问题。所以要时刻注意着新事物的诞生和旧事物的消亡。



8. 手头准备好常用的代码片段/实用程序



有时候我们可能需要一遍又一遍地复制粘贴/编写相同的代码片段/配置。所以,保存一些配置片段如 log4.properties、jdbc 配置,以及实用程序如 StringUtils、ReflectionUtils、DBUtils 大有好处。这些东西本身可能并不能让你与众不同,但是你想想看,要是你的合作开发人员希望你帮他从对象集合中获取属性值的列表,而你只需要用 ReflectionUtil 就可以在几分钟内解决,是不是一下子脱颖而出了呢。



9. 了解不同的开发方法



熟悉不同的开发方法,例如 Agile、SCRUM、XP、Waterfall 等等。现在,选择哪种开发方法是由客户说了算的。有的客户偏好 Agile,而有的则更喜欢 Waterfall 模型。所以对各种方法都能有所涉猎绝对让人刮目相看。



10. 将自己对技术的看法记录到文档/博客上



在我们每天的工作中,我们或许会学到新的东西,新的做事方法、实践形式和架构理念。可以将这些想法记录到文档或者博客中,分享给大家。因为你现在解决问题的方法可能正是世界上另一个角落另一个开发人员“寻寻觅觅上下求索”的难题,你的分享将完全不亚于一场久旱的甘霖。




优秀Java程序员必备10招的更多相关文章

  1. [转]成为优秀Java程序员的10大技巧

    转自:http://www.codeceo.com/article/10-good-java-programmer-tips.html Java程序员有许多应遵循的守则或最佳实践方式.本文概述了每个开 ...

  2. Java 程序员必备的 15 个框架,前 3 个地位无可动摇!

    Java 程序员方向太多,且不说移动开发.大数据.区块链.人工智能这些,大部分 Java 程序员都是 Java Web/后端开发.那作为一名 Java Web 开发程序员必须需要熟悉哪些框架呢? 今天 ...

  3. Java程序员必备的 15框开发工具

    15款Java程序员必备的开发工具 如果你是一名Web开发人员,那么用膝盖想也知道你的职业生涯大部分将使用Java而度过.这是一款商业级的编程语言,我们没有办法不接触它. 对于Java,有两种截然不同 ...

  4. Java程序员必备的一些流程图

    Java程序员必备的一些流程图 转自https://juejin.im/post/5d214639e51d4550bf1ae8df 前言: 整理了一些Java基础流程图/架构图,做一下笔记,大家一起学 ...

  5. Android java程序员必备技能,集合与数组中遍历元素,增强for循环的使用详解及代码

    Android java程序员必备技能,集合与数组中遍历元素, 增强for循环的使用详解及代码 作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 For ...

  6. Java程序员必备的10个大数据框架!

    作者:java妞妞 blog.csdn.net/javaniuniu/article/details/71250316 当今IT开发人员面对的最大挑战就是复杂性,硬件越来越复杂,OS越来越复杂,编程语 ...

  7. 优秀Java程序员必须了解的GC工作原理

    一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系统等,只有全面提升内存的管理效率 ,才能提高整个应 ...

  8. Java程序员必备的6款最佳开发工具

    工欲善其事,必先利其器.每一个Java程序员都有其惯用的工具组件.对于Java程序员,各种有用的软件和工具泛滥成灾.初级开发人员要么找不到合适的工具,要么在寻找过程中浪费了大量的时间.下面,我将为大家 ...

  9. 优秀Java程序员必须了解的GC工作原理(转)

    一个优秀的Java程序员必须了解GC(Garbage Collection 垃圾收集)的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系 ...

随机推荐

  1. jquery计算两个日期的相差天数

    var days = daysBetween('2016-11-01','2016-11-02'); /** * 根据两个日期,判断相差天数 * @param sDate1 开始日期 如:2016-1 ...

  2. Json与JsonPath

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因为它良好的可读性与易于机器进行解析和生成等特性,在当前的数据整理和收集中得到了广泛的应用. JSON和XM ...

  3. MongoDB常用操作整理

    Mongodb:是一种NoSQL数据库,NoSQL:Not Only SQLSQL: 数据表->JDBC读取->POJO(VO.PO)->控制层转化为JSON数据->客户端 这 ...

  4. 推荐学习《Python与量化投资从基础到实战》PDF及代码+《量化投资以Python为工具》PDF及代码

    利用python分析量化投资问题是现在研究的热点,推荐两份资料用于学习 <Python与量化投资:从基础到实战>主要讲解如何利用Python进行量化投资,包括对数据的获取.整理.分析挖掘. ...

  5. CODEVS——T1052 地鼠游戏

     http://codevs.cn/problem/1052/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 D ...

  6. 矩阵乘法2(codevs3147)

    题目描写叙述 Description 给出两个n*n的矩阵.m次询问它们的积中给定子矩阵的数值和. 输入描写叙述 Input Description 第一行两个正整数n,m. 接下来n行,每行n个非负 ...

  7. onvif开发总结

    ONVIF开发经验总结 ONVIF开发经验总结............................................................................. ...

  8. Linux集群的I/O性能测试

    Linux集群的I/O性能测试   本文介绍利用iozone的性能测试工具,来测试集群性能.测试步骤如下:1.在Server节点上安装iozone(可以到www.iozone.org上下载) #rpm ...

  9. EF搭建数据库

    http://blog.csdn.net/mss359681091/article/details/52135867http://blog.csdn.net/x_craft/article/detai ...

  10. javafx ComboBox Event and change cell color

    public class EffectTest extends Application { public static void main(String[] args) { launch(args); ...