JAVA学习笔记
◆ 为什么要学JAVA?
不知不觉中工作已接近两个年头,参与了几个项目的开发,在这两年中,积累了一定的经验,使用的开发工具主要是PB,但目前PB语言越来越走下坡路,感觉已是命不久也(Sybase不要不高兴哦,这的确是实际情况,我这人最喜欢说实话了^-^),虽然其中也学习了一段时间的.NET,但毕竟没有用其来开发过系统,只能说是了解而已,自我感觉对OO编程的思想还算了解,对设计模式、MVC架构、三层结构也有一些了解,所以考虑利用空闲时间自学另外一种编程语言
.NET还是JAVA ?? 一个曾经、现在和将来都困扰着无数程序员的问题,当然我也不知道如何选择,两大阵营大打口水战,争的面红耳赤,弄的我们这些“局外人”权衡不定,但我觉得只是语言问题,思想是一样的,JAVA和.NET其本质是一样的,不过我觉得JAVA更开放(Microsoft不要生气哦,谁叫你霸气十足呢?当今天下,得程序员心者得天下!呵呵),前一段时间,浏览了51job上的招聘信息,很多大型软件公司、外企都采用J2EE的平台,更加确定我学习JAVA的信心(呵呵,大家不都是为了生活嘛),学JAVA吧,我决定了!!!记得那天是2005年的3月1日,好日子,值得纪念^-^
◆ 我是如何开始的呢?
上面已经提到我只有空闲时间可以学习,工作时间是绝对没有时间学习的(毕竟拿了老板的money就要帮其干活啊,上班还是要用让人觉得可爱又可恨的PB,呵呵),好了,业余时间从此没有了!
还用问吗?第一步当然是要看书了啊,看什么书呢?我一脸茫然,看了一眼china-pub上关于JAVA的书,天啦,吓死偶了,一共搜索到上百本,那一本好呢??不可能每本都看吧,恐怕一辈子都看不完了,不要紧,我有办法,问问前辈们不就知道了,上csdn吧,来到java频道,搜了相关的帖子,呵呵,知道了,前辈们一致推荐两本好书:《Core JAVA》、《Think in Java》,先买本吧,听说入门《Core JAVA》最适合入门了,好了,就这本了!万丈高楼从地起嘛,JAVA之路从此开始了。
下面将以日期的先后顺序记录我的JAVA之路
●2005年的3月5号(星期六)买到宝典了
书终于在这天中午买回来了,花了偶60RMB,只要书好就值了!买的是《Core JAVA》的基础卷,先打好基础吧
正好是周末,下面开始看书了啊,先了解了一些JAVA的历史和发展情况、JAVA语言的特性,给我的第一感觉就是似曾相识,也许是以前学过C++和.NET吧,太像了!(以前听说Microsoft的c#是模仿java还不信呢,其实也没有谁模仿谁的说法,觉得好就拿来用了,呵呵,鲁迅先生不是教我们要用“拿来主义”吗,Microsoft这种能力最强了),这样更加有信心了啊!我一定能学好它!
● 2005年的3月7号(星期一)本本回家了
工欲善其事,必先利其器,可惜当时偶家里还没有电脑,书上介绍的许多工具都没法使用,正好公司提倡我们买笔记本,所以花了偶毕生的积蓄买了一台IBM的本本,就算是投资吧。3月7日晚上,本本回家了
● 2005年的3月8号~11号 安装java工具了
本本回家了,当然要装工具了,家里宽带也通了,Download就ok了,按照书上的指点,先下载java的sdk吧,到哪下载呢,当然是sun的官方网站了,找到链接,一会儿就下载完成了,安装、设置环境变量,一切ok,挺顺利的。
● 2005年的3月12号(星期六,杭州昨夜突降大雪,一夜之间全白了,听说西湖雪景不错,算了,还是写看我的java吧,反正也没有mm陪看雪景,5555) 能写“Not hello world”了
相信每个高手开始学一种语言时,都是从“hello world”开始的吧,我不是高手,所以就从“not hello world” 开始吧,按照书上的代码抄了一遍(在文本中写的),保存、编译,呵呵,有错了!仔细核对了一遍,没错啊,java给了偶一个下马威,如此简单的一个东东居然还报错,无意中看到一句话:java是区分大小写的,哦,偶原来用的PB是对大小写不敏感的,习惯了不区分大小写,把大小写核对了一下,果然写错了,改正后,编译,呵呵,当然是通过了,Dos窗口清晰的打出“not hello world”,此时,java一定在笑我:小样,新来的吧?
● 2005年的3月12号~13(周末)熟悉基本语法了
能写“not hello world”,就会java了吗?(就如同那句经典台词一样:开好车就是好人吗?),答案当然不是了。凭着几年的编程经验,语法没有什么问题,基本上很快就看完了,相对其他语言来说,只是换了个名字而已。
● 2005年的3月14号 安装IDE了
习惯了IDE的编程环境,突然在文本编辑框中写代码,很不习惯,写写小段代码还可以,但代码多了,写的就不那么方便了,按照书上介绍的,下载了个textpad编辑器,很小的一个编辑器,能直接编译java程序,总算比在dos下敲javac、java命令方便多了,后来书上又介绍说sun one studio不错,好不容易下载下来了,安装后一半时居然不能安装了,晕,算了,不用这个东东。后来听说还有好多ide工具呢,jbuild、jcreate、eclipse等等,csdn上还有eclipse的专栏,口碑也不错(毕竟是ibm的产品嘛,大家给个面子,最爽的还是完全free的,为IBM的这种精神致敬!),所以就决定用它了,找了几个网站也没下载到,后来,有个兄弟要陪mm看碟,要用偶的本本(谁叫咱的是新的呢),就和我换了一台本本用,在那台本本里居然有好多java的ide工具,其中就有eclipse3,还是中文版的,真是踏破铁鞋无觅处,得来全不费功夫(所以说相互交流很重要),copy一个过来,直接就可以用了,看了一些入门的文章,呵呵,基本会用了,不过说真的,的确很方便,至少比我目前的PB8要方便(sybase又伤心了)!
● 2005年的3月14号 开始图形编程了
按道理应该是熟悉基本语法之后,开始看OO的部分,为什么开始图形编程了?我知道这样很不对,java的基础是OO的那部分,为什么要跳过呢?呵呵,我其实想先弄点可以看到效果的东东,画了几个button、window,界面就出来了,多么有成就感啊!就是因为OO那部分太重要,所以要慢慢研究嘛,放心,我一定会仔细研究JAVA中的OO那部分内容的。
● 2005年的3月15号 收集API文档
开始图形编程时,觉得API那部分实在是太庞大了,给出一个类,刚开始根本不知道在哪个包中,所以要开始了解java的API包了,所以就拼命收集API方面的文档和资料,发现其中有几个还可以(如:),最喜欢chm格式的了,查找方便。
● 2005年的3月15号 熟悉java事件处理
很想知道java中的事件处理是什么样子的,看了书,一知半解,不是很明白,只知道监听器什么的东东,感觉有点像我前阶段在PB中的mvc开发模式中处理方式(不知道理解对不对),看到后来,什么接口、内部类的概念就不理解了,呵呵,问题暴露出来了吧,让你先看OO那部分就偏不看,看不懂了吧!快回去补课吧!
● 2005年的3月18号~20号 熟悉java中的OO基础
问题暴露出来了就要解决嘛,回过头来看这部分,是不是有更多感触啊?(曾经有本经典的oo的书放在我面前,我没有去看,等到失去时才懂得珍惜,人世间最痛苦的事莫过于此),少废话了,开始啃吧。封装、继承、重载,老掉牙的东西了,没什么看头, 不过java中引进的包、反射技术、接口、对象clone、内部类还有点新意,值得好好研究一下,本人也正在研究中,有机会大家切磋一下!不过我的想法是,第一遍看时,不懂的就跳过去了,知道基本的概念就行,以后遇到问题,再来深入研究也许会更好,要是想一次性的把所有问题都弄明白,真的太难了,很难进展下去。
● 2005年的3月21号 再次熟悉java事件处理
今天下午公司开会,决定从今天开始,强行规定礼拜一、三、五晚上要求加班,时间是晚上六点至八点,唉,偶学JAVA的时间越来越少了,不过,时间和牛奶一样都是靠挤出来的,抓紧时间吧,晚上回到家,拿起书又开始看JAVA的事件处理部分,什么键盘、鼠标事件,看的一知半解,不过对这种事件处理的机制和常用的事件、接口、方法应该有了一个大致的了解,我想这一章我还会回过来看的,这一章暂时先跳过去了!
● 2005年的3月21号 开始看Swing用户界面组件了
浏览core java时,发现Swing这一章好像比较有趣,听说是讲一些高级的组件的,心想,看了这一章后就可以像PB一样画些好看的界面了,还有,听说Swing是采用MVC模式进行设计的,偶前一段时间就是在PB中实现这种模式,花了偶近5个月的时间,效果还不是很理想,真是痛苦啊!迫不及待的开始看了,刚开始放几个Button、Lable在Frame上,感觉还不错,有点新鲜的感觉,心想,再也不用傻瓜似的托放几个button就搞定了,现在GUI全部用代码写,真Cool!接下来就麻烦了,位置和大小就不好定了,真麻烦,位置始终不是我想要的地方,唉,真郁闷,现在还没搞清楚怎么回事呢,真让人怀念PB中托放控件的方便,硬着头皮看吧。
未完,待续!