Learning In Java

来源:互联网 发布:免费域名解析软件 编辑:程序博客网 时间:2024/05/08 21:55

Java学习之路
   最近一直想总结一下学习java的过程,毕竟先觉而觉后人,不敢做老师,只是内心有这么一种冲动,反思一下这一年多来走的弯路,供后人借鉴。因为自己现在还是学生,没经过多少实际项目的实练,代码行也积累的很少,故其局限性很大,我只能把自己所想通了的问题或者还没有想通的问题和大家一起探讨一下。
   首先说一下关于培训这个事情,很多刚从大学里走出来的或者即将从大学里走出来的,想从事IT这个行业的一般多多少少都有培训的经历,我也如此,今年八月份报的IBM软件教育学院,成为培训机构的一员,这很正常,但是不正常的是不要太多的依赖培训机构,以为培训机构可以给你带来很大的技术上的进步,可以这么说,培训的课程和你上大学听得每门课都是一样的,而且你更要认识到培训机构即便有很牛x的老师,即便师资再好,他的本质也是一个商业单位,一个一切以营利为宗旨的机构,你难道还能期望他更多的东西吗?所以说最关键的还是靠自己。
   这以前没想过,可能很多即将迈进培训的人也没想过,我很高兴我在大二的时候师父就已经告诉我了,所以做了提前的准备,并且一直在等待机会,当自己准备的差不多的时候,也就是大四上学期我决定是该给自己的人生上个“双保险”了。何谓“双保险”?“实力+跳板”,实力的积累靠自己,“跳板”则是培训机构提供,而“跳板”则是培训机构,至少当你大四即将迈出校园的时候,你不必慌张,从容的了解很多关于就业的信息,而这些信息就是选择的机会,你可以通过这些信息选择一个更适合你的起点,这是我对培训的理解,当然,除了这些之外培训机构也不是一无是处,他可以给你提供一个良好的环境,学习氛围让你在静修一下,毕竟大家同在一条船拼命的赶超,会让你有一种像回到高三的竞争压力。
   第二关于如何学习,我想大家在面对写或读程序的时候不会像吃饭走路一样从容,有没有想过这个问题,那么到底是为什么,很简单,我们吃了二十几年的饭,接触计算机,接触软件确是最近这两年的事情,而且这其中很少我们去关心如何开发,如何实现的,就拿最简单的一个问题,何为HTTP传输协议,格式如何,什么作用?我们天天在用的东西,想必很少有人知道吧,就是知道HTTP是什么,有何作用,那么格式如何?而且这很关键因为你在开发的时候,涉及到http解析就一下子陷入到了一种空白的状态,比如我们经常用的使用jsp内置的组件去提取客户端或者服务器的IP地址,虽然java的API已经封装好了,我们不必关心具体如何实现的,但是原理得懂吧,当你看了源代码的时候,忽然发现不过如此,原来就是对http请求文档的解析。求其根本,记忆一些东西很重要,但是你不理解可能一段时间就Over了,但是你要是理解原理,你会记住一辈子。
   再就是到了实际开发环境中的时候,我们可能很少关心,底层的实现,就像师父说的60%的代码都是IDE生成,我们就写业务就好了。当然我不觉得这是错的,而且我觉得实际开发中确实如此,但是我们一次不关心可以,两次也可以,可是日积月累我们是不是给自己留下了太多的问题,这很严重,而且当有些东西我们越来越模糊的时候,我们是否就很产生一种对编程兴趣的丧失,那么我们的创造力是否也随之东流,说实话,我始终不想让自己成为一个“垒砖头”的,我想大家也应该和我的想法一样,都有“比尔盖茨“的梦想,所以这个问题很严重,很高兴虽然还没有做太多的实际项目,但我已经意识到这一点,所以以后一定要注意。
    第三,推荐几本我学看过的书吧,我相当得意的几本书,附带我的一些看法,个人见解,仅供参考。
    java基础类:
   明日科技的《java程序自学手册》(后文简称《J自》),但是看这本书之前我建议先看一下清华大学出版社的《java2程序设计》(后文简称《J2》),这是一本大学的教材,我不建议你去做其中的例子,但是我希望你们去看他对原理的一些解释,比如一些对jvm,对内存运行机制原理的一些解析。怎么说呢,《J2》的程序例子是拿C的面向过程的思想写的,如果你照他的思路一直学到最后,那么以后你的面向对象思想的养成不值得走多少弯路,很多大学教授了就是这样,他们可能对一些东西看的很透彻,但是他们实际开发的程序却很少,再看来这本书讲的原来确实很好但是例子确实很菜,也就是有点不伦不类。而明日科技公司出的那本《J自》主要看他的规范,看他的一些实际的例子,从一开始就是面向对象思想的程序,这对以后的发展学习不会造成障碍,而且有些东西,第一遍看这本书的时候会模糊,而且不理解,建议多看几遍,会很有用。
    都说《Thinking In Java》这本书好,我想也是,我特别喜欢看老外写的书(当然是中文版
的),尤其是规范或者标准制定机构里的人写的书,这些人在写这些东西的时候,会真正把编程或者他们要描述的东西当作一种艺术来写,这是真的,比如你在看DOM的时候我建议你直接看英国人(忘了叫什么了)写的那本《DOM编程艺术》,你就会发现原来就是这么简单,而且让你养成一种优秀的编程思想,真的很赞。所以这本书也是你在学过一段时间之后的必修课。
    java进阶网络编程:
   java现在为什么如日中天,为什么会说”只要有网络的存在就会有java的存在“,对此我不用多说想必谁都知道,面对强大的win32桌面应用程序压倒性的优势,如果你把JFC研究的非常完美,那我还劝你不如去看win32的vb开发呢,都是视窗类的可视化编程,比javase简单多了,但是我不是在贬低或者是怂恿你不学桌面开发了,我只是想说在初学阶段还是侧重一下网络好,切入进去以后再全面发展,而且这也很关键。既然是网络开发,网络开发的三层结构,就拿MVC架构来说web编程,展示层技术的jsp,Struts框架这是必修课,而且是重点,控制层的servlet,业务逻辑的spring,数据持久层的Hibernet,这都是要去深入了解的东西,但是我建议没有一年java基础功底的人,不要去看ssh框架,看起来确实费劲而且效果不好,很多封装的东西你不会发现,因为你缺乏那中意识。当你循序渐进的到了这个层次之后你就会逐渐的摄入到其中,不用看框架具体讲了什么,你都知道他到底封装了什么。
   关于进阶的书,石志国的《jsp网络编程详解》确实很不错,至少它能让你会入门,而且这本书我感觉对自学的人来说受益匪浅,至少你在看其他的书的时候,有些名词你能看懂,如果你怀疑我说的话的话,那么我问你什么是容器?什么是组件?什么是解耦?我最烦的就是”学鸭子“叫的书,故弄玄虚,本来很好理解的东西,一些专有名词给初学者造成了很大的学习障碍。比如接下来的这本书,看完石志国的呢本接下来这本也是必修的,就是孙卫琴的《TOMCAT与javaWEB开发详解》第二版,怎么说他好呢,说他必看,是因为讲的确实很细而且确实不错,但是直接从javase进阶看这本书,你绝对头大,看的效率很低,所以建议先看石志国的。有本《21天学通J2EE》,提前提醒一下,不要看,看了不仅上火而且浪费时间,这哪里是21天的事情,呵呵,所以说等我们有了至少两年的网络编程经验之后,可能21吧。
    另外几本书有点太老了(还处在Ant未集成的年代),不过讲的也不错,可以借鉴一下,《jsp 2.0技术手册》,提醒一下现在的jsp到了2.1了吧,具体也不太清楚。

原创粉丝点击