世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。 

1、扎实的基础 
数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。因此多读一些计算机基础理论方面的书籍是非常有必要的。 

2、丰富的想像力 
不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想像力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。开阔的思维对程序员来说很重要。 

3、最简单的是最好的 
这也许是所有科学都遵循的一条准则,复杂的质能转换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。 

4、不钻牛角尖 
当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。 

5、对答案的渴求 
人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。 

6、多与别人交流 
三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。 

7、良好的编程风格 
注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。 

8、韧性和毅力 
这也许是“高手”和一般程序员最大的区别。高手们并不是天才,他们是在无数个日日夜夜中磨炼出来的。成***能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。 

/----------------------------------
学习Java的16个阶段

java分成J2ME(移动应用开发),J2SE(桌面应用开发),J2EE(Web企业级应用),所以java并不是单机版的,只是面向对象语言。建议如果学习java体系的话可以这样去学习:
第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架;
第二阶段:java界面编程,包括AWT,事件机制,SWING,这个部分也可以跳过,用的时候再看都能来及;
第三阶段:java API:输入输出,多线程,网络编程,反射注解等,java的精华部分;
第四阶段:数据库SQL基础,包括增删改查操作以及多表查询;
第五阶段:JDBC编程:包括JDBC原理,JDBC连接库,JDBC API,虽然现在Hibernate比JDBC要方便许多,但是JDBC技术仍然在使用,JDBC思想尤为重要;
第六阶段:JDBC深入理解高级特性:包括数据库连接池,存储过程,触发器,CRM思想;
第七阶段:HTML语言学习,包括HTML标签,表单标签以及CSS,这是Web应用开发的基础;
第八阶段:JavaScript脚本语言,包括javaScript语法和对象,就这两个方面的内容;
第九阶段:DOM编程,包括DOM原理,常用的DOM元素以及比较重要的DOM编程思想;
第十阶段:Servlet开发,从此开始踏入java开发的重要一步,包括XML,Tomcat服务器的安装使用操作,HTTP协议简单理解,Servlet API等,这个是java web开发的基础。
第十一阶段:JSP开发:JSP语法和标签,自定义标签,EL,JSTL库了解以及MVC三层架构的设计模式理念;
第十二阶段:AJAX开发:AJAX原理,请求响应处理,AJAX开发库;
第十三阶段:轻量级框架,三大框架之一Struts框架的学习,自此踏入java web开发的精华部分,包括Struts体系架构,各种组件,标签库和扩展性的学习;
第十四阶段:Hibernate框架学习,三大框架之一,包括检索映射技术,多表查询技术,缓存技术以及性能方面的优化;
第十五阶段:Spring框架的学习,三大框架之一,包括了IOC,AOP,DataSource,事务,SSH集成以及JPA集成;
最后呢,还有些java的技术,包括EJB3.0等,可以选择学习,与三大轻量级框架相比,EJB就是当之无愧的重量级了。

成为java高手的条件的更多相关文章

  1. 【转】Java高手真经全套书籍分享

    (转自:http://blog.sina.com.cn/s/blog_4ec2a8390101cd1n.html) 中文名: Java高手真经 原名: JAVA开发专家 作者: 刘中兵Java研究室 ...

  2. 如何迅速成为Java高手[转]

    很多网友问我学习Java有没有什么捷径,我说“无他,唯手熟尔”.但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛! 要想学好Java,首先要知道Java的大致分类. ...

  3. 如何迅速成为Java高手

    很多网友朋友问我学习Java有没有什么捷径,我说“没有,绝对没有!”.但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛!         要想学好Java,首先要知 ...

  4. Java线程:条件变量、原子量、线程池等

    一.条件变量 条件变量实现了java.util.concurrent.locks.Condition接口,条件变量的实例化就是通过一个Lock对象上调用newCondition()方法获得的,这样条件 ...

  5. Java循环和条件

    下列程序的输出结果是什么? 1.Java循环和条件 /** * @Title:IuputData.java * @Package:com.you.data * @Description:TODO * ...

  6. 如何成为java高手

    成为Java高手是每个Java学习者的梦想,但目前Java知识分支众多,我们该如何学习?本文介绍成为Java高手需要注意的25个学习目标,希望对正在成为Java高手的您有所帮助. 1.你需要精通面向对 ...

  7. 成为Java高手的25个学习要点

    成为Java高手的25个学习要点 想成为Java大牛吗?不妨来学习这25个要点. 1. 你需要精通面向对象分析与设计(OOA/OOD).涉及模式(GOF,J2EEDP)以及综合模式.你应该了解UML, ...

  8. JAVA基础——Switch条件语句

    JAVA基础——switch 条件语句 switch语句结构: switch(表达式){ case值1: 语句体1: break: case值2: 语句体2: break: case值3: 语句体3: ...

  9. 一道简单的面试题,难倒各大 Java 高手!

    Java技术栈 www.javastack.cn 优秀的Java技术公众号 最近栈长在我们的<Java技术栈知识星球>上分享的一道 Java 实战面试题,很有意思,现在拿出来和大家分享下, ...

随机推荐

  1. javascript-代理模式

    JavaScript代理模式笔记 由于一个对象不能直接引用另一个对象,所以要用过代理对象在这两个对象之间起到中介作用 1.代理对象形式是通过script标签 demo实例实现的方式也被人称之为JSON ...

  2. 配置apache的虚拟机+软件下载

    第一步: 打开c:/wamp/apache/conf中的httpd.conf文件, 在httpd.conf中ctrl+f输入vhosts 找到那一行将前面的#号去掉 操作如图所示 第二步: 打开虚拟主 ...

  3. C#调用C/C++动态库 封送结构体,结构体数组

    一. 结构体的传递 #define JNAAPI extern "C" __declspec(dllexport) // C方式导出函数 typedef struct { int ...

  4. openstack-swift云存储部署(一)

    最近因为工作的需要搭建了一套swift云存储架构 我们先来解读一下里面的技术知识点:swift服务是属于openstack中的一种组件服务,openstack中的组件服务还有keystone.Nova ...

  5. (转)CNBLOG离线Blog发布方法

    原文章路径:http://www.cnblogs.com/liuxianan/archive/2013/04/13/3018732.html (新添了插件路径) 去年就知道有这个功能,不过没去深究总结 ...

  6. windows系统命令总结

    windows系统命令总结 IIS管理器:inetmgr SQL server数据库管理器:ssms windows服务:services.msc

  7. UNITY自带的3D object没有三角形?

    有方形,圆形,圆柱,胶囊,就是没有三角形? 这里看代码如何创建mesh http://www.narkii.com/club/thread-369573-1.html http://www.taikr ...

  8. 微信接口-获取用户openid基本信息

    一.协助获取微信用户openid功能 https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri= ...

  9. one to many

    @OneToMany(mappedBy="order",fetch=FetchType.EAGER,cascade={CascadeType.ALL})    private Li ...

  10. Sublime Text 3 3126 注册码 + 下载地址

    Sublime Text 3 3126  下载地址 Windows版本 64位:https://download.sublimetext.com/Sublime%20Text%20Build%2031 ...