关于JAVA的学习路线


======================================================
注:本文源代码点此下载
======================================================

关于java我学了两个月了.感觉大有收获.

我是在北大青鸟学习的.学校里讲的语言到是蛮多的.

但是就是哪个都讲不深.关于java我几乎都是自学的.

也看了好多的java书.

我看过的书觉得很不错的就只有三本(也译做java宝典)

jdk基本的内容浮光掠影的有了大概了解.

我想再看看j2ee.但是听老师说范围太广了.想想也是东西太多.

还是不太贪多的好.

看过了这些书.感觉有很多地方掌握的非常薄弱.

第一个就是关于线程.不过这个我想我还暂时还用不到.(用不到才理解不上去嘛.呵呵)

第二个就是关于网络的了.socket.url.rmi这三个包掌握的非常不好.有高手指点一下应该看什么方面的书.主要是 套接字和url的包.

第三个就是jdbc和jdo了.有没有专门讲这两方面的书呢?

第四个就是关于java 2d和java 3d的书了.看了jdk里自带的演示程序觉得做的特别的好.想找本这方面的书来看看.

还有就是非java书籍了.大家都知道java的范围特别广.我想看一些关于算法和软件工程的书.有什么好推荐的呢?

谢谢大家了......................

ps

其实我到是对j2me的开发比较感兴趣.那天看到一本王森的书.想买下来。不过java基础还没掌握牢,就奔去j2me好象也学不到什么.呵呵...

早就听说csnd很好。昨天才上来.

结果我进到www.csdn.com.cn了。

今天感觉好象不是很对.

拿出>合定本一看.

晕了。才发现是csnd.net

呵呵。

我是这么个打算的:

jdk -> j2ee -> j2me

不知道可不可以.(至少我觉得手机程序开发是个发展的方向,各位朋友怎么看?)

还有就是我才学了两个月.因为c语言的底子打的还算可以.(基本语法没问题.汗!)

所以看java2基本的东西还不算吃力.

但总感觉没有系统的掌握到.心中存在n多疑惑.请各位朋友以自己的经验和经历.

谈一谈自己学java的经过好么?也让后人少走些弯路是不?

说实话,对于java语言,我完全是自学的,大学还没有作为正式教育语言!(选修)

在我看来,学习语言,还是注重基础!(开始阶段可以把java做一个整体的理解),理解基本的

概念,如:swing,线程,异常,io流基本用法等等!特别是在学习的过程中一定多

实践,===在实践的过程发现不足,及时补遗=====在学习了基本知识的过程中,要始终明确和牢记

“类--对 象”这个最基本的特点!一切要丛类(对象)的角度出发,如何设计类,来组织程序的设

计!这在设计复杂一点的时是很有用!所以开始我们就要树立这种起码的也是最重要的面向思想!

在我们掌握了基本知识,对java有了一个整体的了解之后就可以深入了!特别是对 io流,

异常,线程,sdk类库整体框架等等要做深入的了解!这是后续设计上级别的java程序的基础!这些知

识可分解段进行!各个击破!也可以连通起来!在学习io流的过程中也可以有效的学习网络编程!因为

网络通讯中流是必不可少的!当然还有文件的操作-!------强化理解sdk类库中类的特点和关键用

法!在这过程中我们还是要注重对类的设计与组织!使程序的结构清晰!还要充分利用sun提供的api-

doc文档的作用!关于jdbc,可以在学习以上知识后,有了基础,学习jdbc可以很快上手!

祝愿大家java学习大有所成!

哇.没想到这儿的回贴速度这么快.受教了.

对于流我有了一个大概的认识.但是比较难理解.

我觉得你说的很对,要从面向对象的角度来看待java,学习它.

但是这个类怎么弄,我还是比较迷糊,

打比方说,我看有些例子,他们就用上了接口,说是把大部分类能用的方法都放在接口里.

但是这个接口什么时候用。该怎样设计.是否就是属于软件工程的部分了?

应该看看这方面的思想是么?

谢谢指教~

下面贴一个我刚才离线之后打下的感想,还有几个问题.:)

其实每个人都有理想,从我接触网络那天开始,就对"黑客"这个词有直着的兴趣.

当然,我是指那种真正的黑客(对计算机有深度了解的人),非是所谓的骇客.

今年我22岁,和很多我同龄的人一样.都是从红白机->电脑房(以前没有网吧时,专门打游戏的,类似于网吧一样,大家都知道吧?)->网吧 这种路线经历的.后来家里买了电脑,学着自己装系统,用各种软件.看一些关于msce,ccna的书.在后来,就到了北大青鸟去学习.

我还有六七个月就毕业了,至今依然觉得一无是处.有太多的都不了解,都需要学习.而且已经这么大了.也应该用自己的双手去实践一片天空了.不过自己抱着一本书,最多也就只能看2-3个小时就看不下去了.我不知道大家是否也像我一样.但是看多了是真的记不住(有什么好建议么?).有时回味一下,也蛮郁闷的.离我的理想还有好远好远啊...

也不知道是否该为我们这一代程序员的庆幸,还是悲哀.无论是c/c++还是其他的什么,都只不过能学到一些皮毛(我相信现在正在就读于各种培训班的朋友们也和我一个想法吧).想学深一些,第一不知道怎么入手;第二,也是时间不允许我们这么做了.再过几个月,就要面临着工作(面试应该没什么问题,主要是到软件公司里了,怎么能拿得出象样,养眼,有成效的东西来).

话题扯远了,回到庆幸与悲哀.

随着各种编程的出现与发展,我们在写程序的时候不会像第一,二代程序员那样的辛苦.这也许是乐哉吧.

但是我们并没有那些老程序员对系统,对底层的深刻了解,大多数都浮于表面.有句老话,跟在微软的屁股后面走.虽然这样做没有错误,甚至可以说乐得轻松.毕竟不用面对底层烦琐的另人头大的内存,cpu指令集之类的恼人的东西.但这是否又是悲哀呢?这不仅让我想起一句中国古语:知其然不知其所以然.

至少我就是生存在这种状态下的.

看过>里有这样一篇报道,说是台湾急需开发主板bios的程序设计人员.自问,照这样下去,可能到我j2ee弄的很懂的时候,也绝不可能胜任这样的工作.我知道是因为这两种是编程性质与发展方向不一样.但是这算否另一种残疾呢?(我是指底层与应用层的了解与否.不是单指bios和j2ee)

未来的路还很长,要学的东西还太多.我相信只因一种发自内心深处的信仰,才让n多深资历的老程序员前辈们面对漫长艰辛的道路,而快乐并直着着吧(那我呢?说真的有时候挺迷茫的,但是一觉睡醒,还是要继续学习).

说了这么多,因为一时感慨,其实我对系统的东西不是很了解,可能说法有些偏差,希望高手指点一二,小生好改进为上嘛.也希望像我一样的菜鸟,不要受我写的误导,看过就算.

跟贴请教:

像我这样刚开始接触编程时间不长的人来说(我才学了1年),在现在面对.net与java的诱惑中,还真有些不知道哪张馅饼更好吃一些,没准正在啄么的时候,踏进一个陷阱也说不准.

不过既然我已经决定跟随java了.还是要请教一下.net与java在哪些方面熟优熟劣.有人说j2ee开发大型程序时比.net稳定,但是.net入手比较容易,java比较难一些!真是这样么?望指点.还有哪一些在开发方面的区别呢?

asp与jsp哪个比较好一些?(以未来的发展程度,哪个好用与薪水问题发表一下看法好么?).

再有就是关于网络编程这一问题.就短期来讲,能应用到哪些方面,我是指进软件公司之后,主要编程面向于谁?就是为了哪些公司或者行业编写程序(包括.net和java)

如有幼稚问题,或者用词不当,望请海涵.并不惜赐言.万分感谢!

主要还是推荐一些大家看了觉得不错的书.看书比较容易进步嘛.

(我读飞思出版的书,总觉得前面太简单,后面又太难,总有种衔接不上的感觉.你们呢?)

---------java技术协助勇气号探测器登陆火星-------=============================================================

--------------------java前景广阔!

=============================================================

有"java之父"之称的sun公司的jamesgosling博士

计算机世界网消息 "科学家们开始都是很紧张的。试验、试验、试验,甚至在"勇气"号探测器向火星的飞行过程中,科学家们也是很担心的,因为在飞行中将要考验软件方面的6个难题是否得到了很好的解决,"有"java之父"之称的sun公司的jamesgosling博士说,他正坐在nasa的喷气推进实验室内观看美国"勇气"号(spirit)探测器登陆距离地球一亿二千万公里之外的红色星球-火星(mars)。

"当科学家们最后确认了"勇气"号探测器成功登陆火星之后,他们都欢呼雀跃起来:这真是一个伟大的创举!"jamesgosling博士说,"我从实时视频监视器上观看这整个登陆过程,真是太神奇、太有趣了!"

在美国加州帕赛迪纳(pasadena)国家宇航局的喷气推进实验室内,jamesgosling博士肯定感到他就像在家里一样,因为他周围全是sun的工作站。

"现在,第一个火星探测器已经成功登陆,国家宇航局的科学家们开始采用他们在地球上的控制系统,"jamesgosling说,"这显然是迄今为止java应用中最酷的一举。"

------------------------------------------------------------------

------------------------------------------------------------------

java之父jamesgosling博士高度赞扬说,"java应用使公众可以实时观看、并下载火星图像。它让人们看到火星清晰的三维立体图像,还有一个模拟探测器,"gosling博士指出,"这一java应用被称为maestro。"

-----------------------------------------------------------------

-----------------------------------------------------------------

"对nasa的web网站的访问次数在1月4日直线上升,因为我们这个星球上的计算机用户在"勇气"号探测器成功登陆火星之时都登录这个网站观看火星的风貌,"美国《associatedpress》的科学撰稿人andrewbridges说,"自1月4日成功登陆火星以来的24小时内,nasa网站首页和相关网站创造了1.09亿次的点击记录。"

工作还在继续:sun实验室和nasa喷气推进实验室正在合力研发一个基于java技术的控制系统,它将使未来的宇宙探测器在探测这个红色星球之时能够具有智能化的、独立进行决策的能力。

我总结一下关于我这一年学习编程的总结(给新手看一下):

最初学c,学会了基本语法和简单的算法(基本语法很重要,什么地方该怎么写,哪里容易出错等等)。

如果有c的基础,学习java的基本语法大概用半天的时间就可以用java编写一些简单的程序了。因为语法是几乎一样的。

之后就要看一下java的包,类,方法。最好在看这个的同时,学习一下面向对象的思维逻辑。因为c是面向过程的(面向对象是java的灵魂,编程的总体构思)。根据个人学习经验,然后才有了下面的分析。

我觉得学习java起码开始的时候就要看一本“大部头”的书。当然,不是要把这本书看透,看明白。主要是了解一下java设计时是怎么构思的。至少我认为学习java应该以一种“在天空俯览城市全景”的角度来学习。抛弃原来“自底向上”的学习模式,改以“螺旋式上升”的姿态来学习。

打个比方:

假设你要参观故宫,开始的时候就是一间屋子,一间屋子的看。转到最后,参观完了所有的场景。当然这样,你可以对故宫有了一些全面的了解。但是当你全面了解的时候,那已经是你把整个故宫都走了一遍之后的事儿了。这是“自底向上”的。

那么,“螺旋式上升”又是什么呢?首先我们做在飞机上,在天空俯览整个故宫的全景,参照故宫的地图,弄懂哪里是玉花园,哪里是乾青工等等。这样当我们再去参观的时候,就会做到“有的放失”,挑我们敢兴趣,又容易接受的地方开始学习(参观)。碰到疑问的时候,可以马上转到下一个地方来解决这个疑问。至少不会有摸黑瞎走的感觉。

就我个人认为,学完java基本语法,异常处理之后,可以找一本专门关于《swing》的书来看一下,swing对学习java的入门有很大提高。就像xxx所说的,学习swing,可以连带学到string,io流,异常处理,事件模式等等的知识。而且用swing可以做出漂亮的图形界面,不至于很快就有种厌倦感。

当然这期间要不断的看书->抄程序->自己写程序->在看书->再抄程序->再自己写程序->……->看别人的代码->提高自己的编程质量->……

这个过程是最重要的。只有不断的自己写代码,才能不断的改正错误,体会语言的精髓,减少以后写代码的错误量,学会调试程序等等等等。

当然还有一点很重要,就是以“面向对象的思维模式”来看待java。--“面向对象”记住这四个字。

如果对面向对象不是很了解,可以在看完第一本“大部头”的书之后就开始看一些面向对象的思维。主要包括ooa(面向对象分析),ood(面向对象设计)。

在了解了一些面向的思想之后,再把这种思想应用于java之后,就会有种豁然开朗的感觉(至少你看代码的时候,你的头会比从前小很多。~笑)。

如果你的e文够好的话,可以去看java文挡了。最好的参考资料。我看了一下,但是我e文实在够烂,看的很勉强。没办法。呵!

之后的事,就要看个人努力情况了。呵呵,我也刚学了java两个多月。也算菜鸟一只,写些心得,给刚接触java的鸟蛋级朋友看看。我们共同努力吧!!!

最后推荐刚接触java的朋友一个看书路线:

1,通读《java编程思想》全书--注意,是通读。了解java的设计构思

2,精读《精通swing程序设计》全书--注意,是精读。确实能学到很多东西

3,找一本覆盖java很广的书来看,如:《java宝典》,也是通读。了解jdk全貌

4,推荐大家看一下《国外著名高等院校信息科学与技术优秀教材--java软件开发》这本书。里面以面向对象的教学方式,以编写内聚性,通用性程序为例子,讲述学习java的方法。我正在看,很不错。要精读哦

5,现在的你java基本功应该不错了,可以在掌握了io,线程,网络之后,进军j2ee了。

6,……

最后祝大家学有所成!!!

p.s

说了这么多,我觉得书才是学习过程中最重要的,选择一本好书,可以使你的学习时间/2。大家多推荐几本。

忘记说,我看第一本java书,是《java2编程思想》当然这本书的内容对初学者很难,我是看到不会的地方,就跳过去,看一小节。(主要那时候是想了解一下java是什么东西,而这本书前面的书评确实够吓人,看过的朋友应该都记忆犹心吧。虽然这部书里有些很有用的技巧和知识点,但是从网络到个人口碑都把这本书比做“圣经”一级的读物似乎,嘿嘿,我个人是不太恭维这种事情的。说回来,这本书确实很多好内容,但还不至于像开篇书评那么神奇。)看过的最好的swing书是《精通java swing程序设计》(有一本jfc的我没买,简单看了一下,觉得例子程序不是特别多。注:swing是jfc里面的一个部分,以前是作为java扩展包发布的,java2之后,把swing作到java标准包里了(就是jdk))。


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/

你可能感兴趣的:(javase)