摘自:java夜未眠之java学习之道
目前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学习之道的更多相关文章
- 要学Java,怎么高效地学习,怎么规划
要学Java,怎么高效地学习,怎么规划? 题主是一个个例,99%的人(包括我自己)都没有题主这样的经历,也很难提出具有很强参考性的java学习建议.我倒是之前面试过一个跟题主有点类似的人,拿出来分 ...
- (转)如何学习Java技术?谈Java学习之路
51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...
- Java并发包源码学习之AQS框架(四)AbstractQueuedSynchronizer源码分析
经过前面几篇文章的铺垫,今天我们终于要看看AQS的庐山真面目了,建议第一次看AbstractQueuedSynchronizer 类源码的朋友可以先看下我前面几篇文章: <Java并发包源码学习 ...
- Java并发包源码学习之AQS框架(三)LockSupport和interrupt
接着上一篇文章今天我们来介绍下LockSupport和Java中线程的中断(interrupt). 其实除了LockSupport,Java之初就有Object对象的wait和notify方法可以实现 ...
- Java并发包源码学习之AQS框架(一)概述
AQS其实就是java.util.concurrent.locks.AbstractQueuedSynchronizer这个类. 阅读Java的并发包源码你会发现这个类是整个java.util.con ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第四周学习总结
20145213<Java程序设计>第四周学习总结 教材学习内容总结 本周任务是学习面向对象的继承.接口以及之后的如何活用多态.(还真是路漫漫其修远兮啊!)教材也是延续上周艰深晦涩的语言风 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
随机推荐
- C/C++中float和double的存储结构
int main (int argc, char **argv) { float a = 1.0f; cout <<"(int&)a = "<<(i ...
- java 集合(Set1)
----------------|Collection(为什么要画这个图?学多了之后该忘了) --------------------------|List --------------------- ...
- WinForm应用程序之注册模块的设计与实现
Posted on 2012-11-13 10:21 星星之火116 阅读(3260) 评论(4) 编辑 收藏 我们在安装一些桌面应用程序的时候,往往在会有提示当前用户使用的是试用版,要进行注册.刚好 ...
- JavaScript及C# URI编码详解
转载自:http://www.cnblogs.com/artwl/archive/2012/03/07/2382848.html 应用Uri编码,可以把一个或多个Uri作为另一个Uri的参数(如果不用 ...
- robot.libdocpkg package
mplements the Libdoc tool. The command line entry point and programmatic interface for Libdoc are pr ...
- 微软Azure云平台Hbase 的使用
In this article What is HBase? Prerequisites Provision HBase clusters using Azure Management portal ...
- OpenTSDB介绍——基于Hbase的分布式的,可伸缩的时间序列数据库,而Hbase本质是列存储
原文链接:http://www.jianshu.com/p/0bafd0168647 OpenTSDB介绍 1.1.OpenTSDB是什么?主要用途是什么? 官方文档这样描述:OpenTSDB is ...
- Cassandra——类似levelDB的基于p2p架构的分布式NOSQL数据库
C: Consistency 一致性 • A: Availability 可用性(指的是快速获取数据) • P: Tolerance of network Partition 分区容忍性(分布式) 1 ...
- Windows Store App 应用设置存储
应用设置存储主要分为本地存储和漫游存储两种方式.本地存储是指将应用的设置信息存储在本地存储空间中,而漫游存储则是指将应用的设置信息存储在网络服务器中,相对于本地存储而言,漫游存储支持多台设备之间的应用 ...
- 快速配置 Samba 将 Linux 目录映射为 Windows 驱动器,用于跨平台编程
一.局域网内的 Linux 服务器上操作步骤: 1.安装samba(CentOS Linux): yum install samba system-config-samba samba-client ...