[原创]JAVA之我见

2007年11月07日 JAVA 暂无评论

    JAVA应网络而生,这点很像linux,而且JAVA的跨平台,让开发也可以在linux下应运而生了。这是JAVA的优点,也是现在流行的原因之一。
    自己学了JAVA一段时间,对JAVA领域也算有所了解,所以想谈谈自己的对JAVA的一些见解。
    众观那么多JAVA入门教科书,大体讲的内容都一样,从面向对象开始引入,前几章大概就是把这些基础概念一扫而通,比如什么是对象,类,接口,包,然后就是面向对象的核心:封装,继承,多态,还有就是一些程序设计通杀的内容:基本数据类型还有流程控制语句等等,为我们步入JAVA做了很大的铺垫,为什么说很大呢,因为JAVA的路还很长,现在是起步,而恰恰就是这些看似乏味的东西为以后的路起了一个很关键的作用。
    接下来的几章就开始从I/O,多线程,applet,GUI,Socket编程,集合类这些方面分章介绍,其实熟悉JAVA的人都知道,这些等于就是在为API文档做介绍,选取包(比如java.io.*)里面的类来讲解,还有些书就是专门写这些类有哪些方法,怎么用,写了厚厚一本,让人一看就想晕。其实说白了就是API的中文解析,而如果我们懂得看PAI的话,其实根本就不用看什么JAVA教程,只要我们面向对象的思想有了,对这API编程照样可以做。
    那有人会说API那么多类,叫人怎么学啊。对,是多得要死,不过被高手一听,会说你一定是面向对象部分没掌握好。比如说IO包吧,那么多的输入输出类,其实归根到底就分为一个FILE类,一个字节流(InputStream ,OuputStream),一个字符流(Reader, Writer),加多个序列化接口,没了,其他就是利用接口、继承这些思想一步一步扩展的,思想掌握好,其它都没什么了。
     当然,我看还有些书介绍了一些掺入一些设计思想比如UML来讲解面向对象,很特别,不过可能初学者看不下去。而我们JAVA这本英文课本,讲解的也有些与众不同,外国人写书的思维就是特别,王东老师也一直强调这本书好,我想我们大家应该克服英语难关啃下它。
    说了那么多,其实还是在讲J2SE的内容。如果往商业方面去考虑,用JAVA来编程一般都不会用J2SE来做,而最多是用J2EE,还有一些相对少点的J2ME。在05年,SUN又把J2EE改为JAVA EE了,在J2EE的基础上又增添了一些内容。我接触了JSP,JDBC,JavaBean,Servlet.在web层又得接触HTML,XML,mysql/oracle等,看得多了发现J2EE里的东西实在太多了,EJB,JNDI,现在又来个JSF,JSTL,然后在图书馆发现对于每一项技术都可以用厚厚一本书来讲,我看这辈子都无法学完它了。而现在的各种新技术,新工具也层出不穷,如流行的Spring、Hibernate框架,tomcat、jboss容器,eclipse,jbuilder开发工具,框架要会用,工具要会使,而且这些不定期可能还会遭淘汰,还有现在有一种叫SOA架构,好象是说可以实现各种服务的管理,还有什么web services可以让.net可以和J2EE一起用,那我们.net也要会,那不是晕死我们!!!现在在JAVA里混的人都会有这种感觉,我现在发现自己也有点寸不难行,有点迷茫的感觉。
     Java世界就像小时候玩的万花筒,尽管实质上只是由几个普通的玻璃碎片组成,但只要轻轻一摇,就会变化出千万种缤纷的图案。JAVA世界就是这样五彩缤纷,但也让我们晕头转向。虽然我自己现在并没有取得什么成就,很多东西我也学不来,但总觉得JAVA这个思想特别重要。思想就是构成所有知识的灵魂,牢牢把握住它才能把知识运用得游刃有余。谈起思想,让我想起了大学本科和专科。我们本科学生一直学的东西都很理论,很注重思想,但学了之后好象什么都没学一样,这点我有深切体会,而发现我有些读专科的同学他们侧重学应用,好象会的东西很多一样。很多人在诋毁本科,我想我们都未领会到本科的真正含义,包括自己,也一直懵懵懂懂。听王东老师说,人家清华出来的学生也照样感觉什么都没学到,但做起项目来却得心应手,原因就在于一个思想性,如果你说你会个C++,看起来是会编个什么出来,但如果你没掌握住思想,那你永远也只是停留在一个肤浅的阶段。本科学生要做到掌握好自学能力,碰到一个新的知识领域要会在短时间运用自己的知识体系去消化掌握它,这才是真谛,这是我个人的理解。
     而JAVA,内容太多了,但感觉所有的东西总离不开一些基本的东西,就如我上面提到过的铺垫内容:接口与实现,封装与抽象,继承与扩展。这些都是JAVA的基本内容,也是我们要牢记的思想。
     JAVA中有些叫工厂设计,还有MVC设计,好象和UML也有关。还有一本很经典的叫《THINKING IN JAVA》,我现在仍然没时间去看它,这本应该就是讲思想的。
     最后还想说一下工具方面的东西,JAVA的开发工具也有很多,从最原始的JDK开始,又发展了许多GUI工具,Jbuilder eclipse就是典型的代表,我在佛大图书馆看到的几乎都是关于这2个工具的。但有一点,我们真的需要去买一本关于开发工具的书吗,比如什么《eclipse从入门到精通》,无非也是对这些工具有什么用做介绍。eclipse是开源的,又插件来扩展它的功能,一直都会又开源社区的人去开发这些插件。可能今天看到书上介绍这个插件,而明天又换成别的了,而实际开发中具了解就是要用到什么插件再去网上查就得了。这些书去借就行了,因为大概看完它为一个小时之内,余下的就是在自己的机上装个Eclipse研究一下就得了。
     接下来是数据库,mysql oracle db2 sybase 又是个数不完的东西。有了JDBC,让JAVA可以任意连接所需要的数据库。但我们又要一个一个数据库去学吗?给你本oracle就知道了,厚厚的一本,还只是基础中的基础,怎么能学完呢?当做个oracleDBA就可以独居一树了,而编程的话就要了解到SQL语句还有一些基本函数就行了。我的电脑现在把数据库都装过了,但都只是停留在感性认识阶段。不过,在现在紧迫的时间里,我只能做到了解。
     还有谈一下容器,Tomcat,我用它来调试JSP,它也是开源的,用在小型的网站。还有BEA 的weblogic 还有IBM的Websphere 开源的JBOSS做J2EE这些也要会使的。我觉得学这些就配合资料一起学,也不可能有人能把每一个东西都搞得特别深入。基础打好就是关键,不要太好高务远,去追求现在流行的东西。
     最后还想呼吁一下大家要在linux下编一下程,毕竟计算机界不是只有一个微软,虽然linux的桌面应用还不及windows,但在编程方面决不会逊色。
     写了一大堆东西,不知道的人以为我是个高人呢!其实不然,我也是菜鸟一个,只是把我现在的认识说出来而已,当中可能会有一些说得不对也希望大家提出来,大家共同学习。

0 条留言  访客:0 条  博主:0 条

  1. 感觉java太烦了,不如python直接了当;
    不过这学期也开了java,莫办法呀

给我留言取消回复