目前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. JSP Filter

    Servlet过滤器方法 一个过滤器就是一个Java类,它实现了javax.servlet.Filter 接口.javax.servlet.Filter接口定义了三个方法: 序号 方法 &描述 ...

  2. @ResponseStatus

    返回一个指定的http response状态码. @ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "IOException oc ...

  3. 【CITE】C# 如何 实现一个窗体和另一个窗体始终保持相对的位置

    C# 如何 实现一个窗体和另一个窗体始终保持相对的位置,任由一个窗体移动,当点击按钮时,弹出的另一个窗体也与之保持相对位置(如左上角)你根据第一个窗体的location去算第二个窗体的location ...

  4. node.js关于传送数据的二三事

    配置好node环境后 书写代码 目录结构: . 代码: <!DOCTYPE html> <html lang="en"> <head> < ...

  5. zoj 1204 Additive equations

    ACCEPT acm作业 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=204 因为老师是在集合那里要我们做这道题.所以我很是天 ...

  6. Runner站立会议之个人记录

    备注: 为方便记录,此随笔每日更新(因会议在晚上开,所以将昨天今天改成了今天明天) 2016.4.19  站立会议 今天学习到了:文件创建,adt基本知识,分别在虚拟机和手机上运行软件 明天要:继续学 ...

  7. linq分页扩展(转)

    原文地址:http://www.cnblogs.com/RainbowInTheSky/p/4590508.html public static List<T> ToPagedList&l ...

  8. QA16复制_新增查询条件,修改批量使用决策

    需求: 增加评估代码,检验类型条件.(检验批中部分检验项目未录结果的检验批显示    注:标准的程序,不支持空结果的查询和使用决策) 1.复制 RQEVAI10 程序 2.因为这是用的QM模块的逻辑数 ...

  9. HTML5的 2D SVG和SVG DOM的学习笔记(1)

    (项目中要使用SVG,只好补充知识了) HTML体系中,最常用的绘制矢量图的技术是SVG和HTML5新增加的canvas元素.这两种技术都支持绘制矢量图和光栅图. 一.SVG概述 可缩放矢量图形(Sc ...

  10. ajax简单封装

    var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); ...