目前Java可以说是产业界和学术界最热门的语言,许多读者都很急切想把Java学好。除非是武侠小说中的运功传送内力的方式,否则花上一段时间苦学是免不了的。花时间,不打紧,就是怕方法错误,事倍功半。我认为,学习java包括了下列的范畴:

1.认识java的原理

2.学会java语言

3.面向对象的思维

4.api

5.开发工具的用法。

1.学习java的原理

了解Java的原理,才有可能真正体会java的一切,学习任何事情,只要能够掌握其原理,就会比较顺利。我发现许多人使用Java已经多年,却连Java最基本的特质都不清楚。

一般来说,信息系毕业的学生,对信息的新事物学习的速度,会比其他科系来的快,就是因为四年的教育为他们奠定了学习新事物的基础。这也是 信息系课程的价值所在。

除非你受过的基础训练够扎实,否则在学习或使用Java的过程中,你一定会需要参考到这些信息系学科的知识。 我建议各位可以在闲暇之余,把信息系课本的书拿来读一读。这是治本之道,绝非立竿见影的特效药,必须要有耐心。

2.学习java语言

学习java语言很简单,比较java语言也只是包含50关键词(keyword),和几十个运算符(operator),再加上Java语法(syntax),也很简单。所以一般人可以很快就学会java语言。危险的是,很多人认为已经完全掌控java语言,但其实对于内部的运作机制仍不能掌握。克服这些盲点的方式是看《The Java Language Specification,2nd Ed.》来彻底弄懂Java程序语言,并看《Inside The Java Virtual Machine 2nd,Ed.》来彻底掌握Java虚拟机的运作方式。

3.学习面向对象的思维

学会了语言,并不代表就可以设计出好的面向对象系统的架构,想要成为面向对象的专家。往往需要:

a. 多看相关的书,特别是design pattern 和 refactoring之类的书。

b.多观摩别人的程序(例如Java API  的design 和 implementation)

c.多写程序

4 .学习API

摘自:java夜未眠之java学习之道的更多相关文章

  1. 要学Java,怎么高效地学习,怎么规划

    要学Java,怎么高效地学习,怎么规划?   题主是一个个例,99%的人(包括我自己)都没有题主这样的经历,也很难提出具有很强参考性的java学习建议.我倒是之前面试过一个跟题主有点类似的人,拿出来分 ...

  2. (转)如何学习Java技术?谈Java学习之路

    51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...

  3. Java并发包源码学习之AQS框架(四)AbstractQueuedSynchronizer源码分析

    经过前面几篇文章的铺垫,今天我们终于要看看AQS的庐山真面目了,建议第一次看AbstractQueuedSynchronizer 类源码的朋友可以先看下我前面几篇文章: <Java并发包源码学习 ...

  4. Java并发包源码学习之AQS框架(三)LockSupport和interrupt

    接着上一篇文章今天我们来介绍下LockSupport和Java中线程的中断(interrupt). 其实除了LockSupport,Java之初就有Object对象的wait和notify方法可以实现 ...

  5. Java并发包源码学习之AQS框架(一)概述

    AQS其实就是java.util.concurrent.locks.AbstractQueuedSynchronizer这个类. 阅读Java的并发包源码你会发现这个类是整个java.util.con ...

  6. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  7. 20145213《Java程序设计》第四周学习总结

    20145213<Java程序设计>第四周学习总结 教材学习内容总结 本周任务是学习面向对象的继承.接口以及之后的如何活用多态.(还真是路漫漫其修远兮啊!)教材也是延续上周艰深晦涩的语言风 ...

  8. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  9. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

随机推荐

  1. ODS浅谈

    ODS和DW 根据Bill.Inmon的定义,“数据仓库是面向主题的.集成的.稳定的.随时间变化的,主要用于决策支持的数据库系统”  : ODS (Operational Data Store)操作型 ...

  2. python and java

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:kula链接:http://www.zhihu.com/question/29690505/answer/67149864来源 ...

  3. JQUERY学习(壹)

    一.jQuery的引言 1.jQuery框架:对JavaScript的封装,简化js开发 2.jQuery框架的好处: 1)语法简单 js中:document.getElementById(" ...

  4. cssText

    cssText 的本质就是设置 HTML 元素的 style 属性值 cssText 的方便之处在于一次可以写很多属性,而且变更 CSS 样式不必变 JS 代码,只需变样式字符串.但它有个缺点,就是它 ...

  5. poj----(1470)Closest Common Ancestors(LCA)

    Closest Common Ancestors Time Limit: 2000MS   Memory Limit: 10000K Total Submissions: 15446   Accept ...

  6. input覆盖select实现select可写可选择

    1.有时需要一个select选择框,但是对select选择框希望是既可以选择也可以进行输入.下边的代码就是在select选择框上放了一个input框,覆盖在select上面.实现伪装的select效果 ...

  7. spring配置带参数的视图解析器:ParameterMethodNameResolver

    1.配置处理器 <!-- 处理器 --> <bean id="myController" class="cn.cnsdhzzl.controller.M ...

  8. [转]Java程序员们最常犯的10个错误

    1.将数组转化为列表 将数组转化为一个列表时,程序员们经常这样做: List<String> list = Arrays.asList(arr); Arrays.asList()会返回一个 ...

  9. js数量添加(如购物车添加,删减数量)

    <div class="fl shop-num ml24"><input type="button" style=" border- ...

  10. 使用反射来编写实体类的XML

    前言: 开发过程中经常需要返回某实体类的列表,公司通常用的都是XML格式的接口,小猪借鉴了公司前辈留下的代码一直是类似这么写的: public static string GetXMLList(ILi ...