 |
2008-01-23 21:55:25
来自: 剑锋
(北京)
我学习java是从写一个叫Linker的聊天软件开始的。我描述下我的java学习过程,可以给初学者做个参考。虽然在很多人眼里我也还是初学者。
我是去年6月份期末考试完才开始学java的,当时看到Gtalk采用的XMPP协议有java库支持,就产生了写java的xmpp聊天软件的想法。
暑假大致翻了一遍《Java How to program》,个人感觉还很适合初学者。但暑假后半段有其他事就没继续看。
开学后开始着手研究xmpp的java库,叫smack,官方地址是http: //www.igniterealtime.org/projects/smack/index.jsp。说是研究,也只是弄懂了发送消息和包的几个函数,一些群聊和文件传输功能到现在还没看。不过做个最简单的聊天软件是完全可以了。
九月底十月初搞定了消息发送。而这个时候的java基础还只是前面那本《Java how to program》,讲的很简单,基本和很普通的java教程差不多。
到十月底开始写GUI代码,然后就有了界面。:) 这个时候开始翻《Core java 2》两卷,但没打算阅读,只是需要用的时候看一下。
十一月份全力写GUI。在java api 文档里把最基本的界面控件看了好几遍,因为是边用边看,学习的效果个人很满意。这个时候开始看《Thinking in java》第四版英文版,到现在还没看完。1500页可不是闹着玩的。
十二月份开始整理布局,和以及代码的优化,基本不是效率上的优化,而是代码可阅读性,和代码结构。期间看的书是《程序设计实践》和《代码大全》,都只是抽阅,没有通看。
今年一月份,开始看《设计模式》(前段时间有翻同学的《Head first 设计模式》但没看进去多少),感觉非常不错,比如我曾经为用户列表的显示方式头疼过,总不能每个用户都作为一个对象显示对吧,有的好友狂人上千个好友,这软件就根本启动不了,而这种问题在设计模式里找的解决方法是装饰模式。为了给程序加上mail功能,开始翻《java网络编程》。
列一下书籍:
《Java how to program》
《Core java 2》
《Thinking in java》
《程序设计实践》
《代码大全》
《设计模式》
《java 网络编程》
感觉以这样的次序接触应该不会给你带来太大的困惑,起码我没有。找书的方式基本就是看各个购书网站和豆瓣的评价星级,也到图书馆具体翻阅,感觉不错的就直接借了。
总结:
感觉计算机语言学习实践非常重要,在实践中遇到的问题,你用语言的某种特性解决了,那么这种特性就已经到你脑海里成为你的能力的一部分了。那时你看java语言,就像看一把剪刀,再也不用研究它的工作原理和使用方法,拿在手里就知道怎么用了。:)
祝你学习java过程愉快。
有什么问题需要帮助,可以直接豆邮我。
4人推荐
| 2008-01-23 22:02:01 小A
(Boston) 我刚刚开始学,看的书是Building Java Programs,觉得还挺好的(不过没有比较:P).
和你比我还是很初级的...昨天写完了第一个作业,很简单的制图,写出"GOING GOING GONE"几个字.不过做完了我还是很高兴.
|
| 2008-01-27 12:04:12 oyeah
我现在看核心1和JAVA2入门经典 没编程基础 挺郁闷的
有不懂的就找你了
|
| 2008-01-29 13:07:42 eternity
(合肥) 我在看headfirst java;刚开始学习
谢谢你分享经验
|
| 2008-02-24 12:17:27 james
(乌鲁木齐) 我刚学时看的是 Java编程思想
挺不错的
|
| 2008-03-22 11:06:34 小吴老师
(沈阳) 一起学习
|
| 2008-03-22 11:07:00 小吴老师
(沈阳) 虽然俺主要是php
|
| 2008-03-26 21:18:52 yk103
(深圳) J2EE中~~~
|
| 2008-03-27 05:41:28 小偷|空谈无耻
(Milano) 拜先,留下了
|
| 2008-03-31 22:46:29 出库
(Helsinki (Helsingfors)) core java 很好,适合初学者,我们学校的教材就是这个。
|
| 2008-04-01 14:49:25 eternity
(合肥) 现在又看core java了,顶
|
| 2008-04-01 15:17:05 卡卡西
(上海) 换个漂亮一点的Lookandfeel.....,太难看了。。
|
| 2008-04-16 09:58:00 青花香气
(岳阳) core java很不错,讲解详细得很。不过就是太厚了。看了容易忘记啊。适合随手翻阅吧。
|
| 2008-04-17 20:05:15 banch
(南京) ejb3.0,jsf1.2学习中
|
| 2008-04-18 17:48:36 OMG!
(湛江) 我第一本看的是Head First Java ,感觉很对初学者很不错,现在捣鼓着Servlet & JSP
|
| 2008-04-19 14:59:07 vividemon
还刚刚起步 什么都貌似不知道呢 向你学习
|
| 2008-04-30 23:11:56 守住诺言
我基本没有学过,买的书,装饰。
个人感觉,学语言,重要的是掌握的是思想。剩下的就是主义了。所有的编程语言都一样的。
|
| 2008-05-01 02:12:45 剑锋
(北京) 楼上的感觉个人不敢赞同。
编程语言有各自不同的思维方式,再抽象到上一层就是数学啦。这就不是学计算机语言了,是学数学了。
:)
|
| 2008-05-01 10:06:14 Delta.δ
(南通) 编程..其实如果只是用前人写过的东西..当然不用学数学..
如果要写新的东西..涉及到算法的话..那么数学是必不可少的..
比如计算机专业离散数学..只是数学专业的抽象代数的基础版本..
所以如果要做狠角色的话..最好是学学数学..不只是楼主提供的那些而已..
推荐<计算机编程艺术>..似乎是叫The Art of Programming..
|
| 2008-05-02 05:41:19 soliva
(青岛) 很向往《Java How to program》这本书。在哪里买?
|
| 2008-05-06 15:09:46 剑锋
(北京) 楼上的看这里,右边有很多网店。:)
http://www.douban.com/subject/2098486/
说道计算机数学,应该提到三本书:
<Introduction to algorithms>
<Concrete Mathematics>
<The art of computer programming>
反正这个专业有个说法,如果你能把上面三套书全部搞定了,你直接给google或者微软打个电话,想进哪个进哪个,而且应该是当天安排工作,签好协议的。
有点夸张,但看完这三套,你已经是神一样的人物了。
|
| 2008-05-10 02:11:53 kyl
(广州) ls的ls的ls,叫The Art of Computer Programming, TAOCP.
你自己都没看过,还推荐别人看?
|
| 2008-06-07 21:09:07 RomOtc
(上海) 惭愧啊,我还是在培训学校学的j2ee,以后要自己学习了。感觉有点java基础之后找本servlet,jsp,struts,spring,hibernate集成来讲的书看看就可以,没必要上培训学校。
|
| 2008-06-07 22:15:36 洗头用飘柔
我是在大三的时候自学的,现在差不多用了3年了吧.感觉java学着很有意思.
|
| 2008-06-21 10:02:20 麦田
(上海) 也在学,不懂就问各位咯。
|
| 2008-07-16 08:32:03 C:\Windows
(深圳) core java 和 thinking in java这两本的却是王道
|
| 2008-07-16 18:06:51 yatou
(温州) ```努力备战``JAVA2级考试........
|
| 2008-07-21 15:45:29 hongjun
呵呵,继续努力!
|
| 2008-08-10 21:29:47 马桶盖子
(上海) 哪里抄来的吧~
|
| 刚学完基础,现在一头雾水,不知往那边走
|
| 2008-08-22 22:29:57 Daniel
(上海) <The Art of Computer Programming> 这本书很好啊,不过里面的内容只是选择Java作为描述语言而已。
|
| 2008-08-27 19:17:14 剑锋
(北京) linker项目已经不是一个学习java的用具了,我们正在尝试使它变成正式的开源项目。
现在已经有了网站。 http://imlinker.org/
谢谢关注。:)
|
| 2008-08-29 10:36:33 jerry
虽然现在可以像用剪刀一样使用java了,但觉得许多的细节还还需要深入。我觉得我的学习过程是“学习---实践----学习”。
|
> 我来回应
|