仓酷云

标题: JAVA网站制作之Java Learning Path(三)、历程篇仓酷云 [打印本页]

作者: 深爱那片海    时间: 2015-1-18 11:36
标题: JAVA网站制作之Java Learning Path(三)、历程篇仓酷云
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)每一个人的进修办法是分歧的,一团体的办法不见得合适另外一团体,我只能是谈本人的进修办法。由于我进修Java是完整自学的,历来没有问过他人,以是进修的历程基础上完整是本人探索出来的。我也不晓得这类办法是不是是对照好的办法,只能给人人供应一点参考了。

进修Java的第一步是安装好JDK,写一个HelloJWorld,实在JDK的进修没有那末复杂,关于JDK有两个成绩是很简单一向困扰Java程序员的中央:一个是CLASSPATH的成绩,实在从道理下去说,是要弄分明JRE的ClassLoader是怎样加载Class的;另外一个成绩是package和import成绩,怎样来寻觅类的路径成绩。把这两个成绩探索分明了,就打扫了进修Java和利用JDK的最年夜停滞。保举看一下王森的《Java深度历险》,对这两个成绩举行了深切的切磋。

第二步是进修Java的语法。Java的语法是类C++的,基础上支流的编程言语不是类C,就是类C++的,没有甚么新工具,以是语法的进修,也许就是半天的工夫充足了。独一必要注重的是有几个不简单弄分明的关头字的用法,public,protected,private,static,甚么时分用,为何要用,怎样用,这大概必要有人来指导一下,我现在是完整本人揣摩出来的,花了好久的工夫。不外厥后我看到《ThinkinginJava》这本书下面是讲了这些观点的。

第三步是进修Java的面向对象的编程言语的特征的中央。好比承继,机关器,笼统类,接口,办法的多态,重载,掩盖,Java的非常处置机制。关于一个没有面向对象言语背景的人来讲,我以为这个历程必要花很长很长工夫,由于进修Java之前没有C++的履历,只要C的履历,我是也许花了一个月摆布吧,才完全把这些观点都弄分明,把书下面的例子重复的推测,修正,实验,把那几章内容重复的看过去,看已往,看了不下5遍,才完全意会了。不外我想假如有C++履历的话,应当一两地利间充足了。那末在这个过程当中,能够多看看《ThinkinginJava》这本书,劈面向对象的解说十分透辟。惋惜的是我进修的时分,并没有看到这本书,以是本人花了大批的工夫,经由过程本人的实验和推测来学会的。

第四步就是入手下手熟习Java的类库。Java的基本类库实在就是JDK安装目次上面jrelibt.jar这个包。进修基本类库就是进修rt.jar。基本类库内里的类十分十分多。听说有3000多个,我没有统计过。可是真正关于我们来讲最中心的只要4个,分离是
java.lang.*;
java.io.*;
java.util.*;
java.sql.*;

这四个包的进修,每一个包的进修都能够写成一本厚厚的课本,而O"reilly也的确是如许做的。我以为假如工夫对照紧,是不成能经由过程读四本书来进修。我以为对照好的进修办法是如许的:
起首要通读全部package的框架,懂得全部package的class,interface,exception的组成,最好是可以找到先容全部包框架的文章。这些专门先容包的书本的前几章应当就是这些整体的框架内容先容。

对包全体框架的掌控并非要熟习每一个类的用法,记着它有哪些属性,办法。想记也记不住的。而是要晓得包有哪些方面的类组成的,这些类的用处是甚么,最中心的几个类分离是完成甚么功效的。我在给人培训的时分通常为一次课讲一个包,以是不成能具体的先容每一个类的用法,可是我重复夸大,我给你们讲这些包的不是要告知你们类的办法是怎样挪用的,也不请求你们记着类的办法挪用,而是要你们懂得,Java给我们供应了哪些类,每一个类是用在甚么场所,当我碰到成绩的时分,我晓得哪一个类,大概哪几个类的组合能够办理我的成绩,That"all!,当我们详细写程序的时分,只需你晓得该用哪一个类来完成你的事情就充足了。编码的时分,详细的办法挪用,是边写代码,边查Documentation,一切的工具都在Documentation内里,不请求你必定记着,实践你也记不住3000多个类的统共快要10万个办法挪用。以是对每一个包的整体框架的掌控就变得极其主要。

第五步,经由过程下面的进修,假如学的对照踏实的话,就打好了Java的基本了,剩下要做的事情是扫清Documentation内里除下面4个包以外的其他一些对照有效处的类。信任停顿到这一步,Java的自学才能已被培育出来了,能够到了间接进修Documentation的程度了。除要做GUI编程以外,JDK内里其他会有效处的包是这些:
java.text.*;
java.net.*;
javax.naming.*;
这些包内里真正用的对照多的类实在很少,只要几个,以是不必要花良多工夫。

第六步,JavaWeb编程
Web编程的中心是HTTP协定,HTTP协定和Java有关,假如不熟习HTTP协定的话,固然也能够学好Servlet/JSP编程,可是达不到触类旁通,一通百通的地步。以是HTTP协定的进修是必备的。假如熟习了HTTP协定的话,又有了Java编程的优秀的基本,进修Servlet/JSP几乎轻而易举,我进修Servlet/JSP就用了不到一周的工夫,然后就入手下手用JSP来做项目了。

在Servlet/JSP的进修中,重头仍旧是ServletDocumentation。ServletAPI最经常使用的类很少,花对照少的工夫就能够把握了。把这些类都看一遍,多写几个例子尝尝。Servlet/JSP编程实质就是在重复挪用这些类来经由过程HTTP协定在WebServer和Brower之间扳谈。别的对JSP,还必要熟习几个经常使用JSP的标志,详细的写法记不住的话,一时查就是了。

别的JavaWeb编程进修的重点要放在WebApplication的计划形式上,怎样举行营业逻辑的剖析,而且举行公道的计划,依照MVC计划形式的请求,使用Servlet和JSP分离完成分歧的逻辑层,把握怎样在Servlet和JSP之间举行流程的把持和数据的共享,和WebApplication应当怎样设置和部署。

第七步,J2EE编程
以上的进修历程假如是对照顺遂的话,举行到这一步,难度又蓦地进步。由于下面的常识内容都是只触及一个方面,而像EJB,JMS,JTA等中心的J2EE标准常常是几种Java手艺的综合使用的结晶,以是把握起来难度对照年夜。

起首必定要进修好JNDI,JNDI是AppServer定位服务器资本(EJB组件,Datasouce,JMS)查找办法,假如对JNDI不熟习的话,EJB,JMS这些工具几近学不下往。JNDI实在就是javax.naming.*这个包,使用起来很复杂。难点在于服务器资本文件的设置。关于服务器资本文件的设置,就必要看看专门的文档标准了,好比web.xml的写法,ejb-jar.xml的写法等等。针对每种分歧的AppServer,另有本人的服务资本设置文件,也是必要熟习的。

然后能够进修JTA,次要是要了解JTA关于事件的把持的办法,和该在甚么场所利用JTA。这里能够复杂的举个例子,我们晓得一样平常情形能够关于一个数据库毗连举行事件把持(conn.setAutoCommit(false),....,conn.commit()),做为一个原子操纵,可是假定我的营业需求是要把对两个分歧数据库的操纵做为一个原子操纵,你能做的到吗?这时候候只能用JTA了。假定操纵历程是先往A数据库插一笔记录,然后删除B数据库另外一个纪录,我们本人写代码是把持不了把全部操纵做为一个原子操纵的。用JTA的话,由AppServer来完成把持。

在进修EJB之前要进修对象序列化和RMI,RMI是EJB的基本。接着进修JMS和EJB,关于EJB来讲,最关头是要了解EJB是怎样经由过程RMI来完成对远端对象的挪用的,和在甚么情形下要用到EJB。

在进修完EJB,JMS这些工具以后,你大概会心识到要岌岌可危进修两个范畴的常识,一个是UML,另外一个是DesignPattern。Java企业软件的计划十分器重框架(Framework)的计划,一个好的软件框架是软件开辟乐成的需要前提。在这个时分,应当入手下手把进修的重点放在计划形式和框架的进修上,经由过程进修和实践的编程履历来把握EJB的计划形式和J2EE的中心形式。

J2EE标准内里,除EJB,JMS,JTA,Servlet/JSP,JDBC以外另有良多良多的企业手艺,这里纷歧一举行先容了。

别的另有一个最新范畴WebServices。WebServices也完整没有任何新工具,它像是一种黏合剂,能够把分歧的服务一致起来供应一个一致的挪用接口,作为利用者来讲,我只需取得服务供应者给我的WSDL(对服务的形貌),就够了,我完整不晓得服务器供应者供应的服务事实是EJB组件,仍是.Net组件,仍是甚么CORBA组件,仍是其他的甚么完成,我也不必要晓得。WebServices最巨大的中央就在于经由过程一致的服务供应体例和挪用体例,完成了全部Internet服务的共享,是一个十分使人冲动的手艺范畴。WebServices仿佛今朝还没有甚么很好的书本,可是能够经由过程在收集下面查材料的体例来进修。
不得不提一下的是:.net网页编程是看到java红,而开发出来的工具。
作者: 活着的死人    时间: 2015-1-21 10:52
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
作者: 莫相离    时间: 2015-1-30 16:00
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
作者: 精灵巫婆    时间: 2015-1-31 14:04
是一种为 Internet发展的计算机语言
作者: 兰色精灵    时间: 2015-2-6 19:34
是一种使用者不需花费很多时间学习的语言
作者: 飘灵儿    时间: 2015-2-8 17:49
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
作者: 谁可相欹    时间: 2015-2-15 22:51
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
作者: 分手快乐    时间: 2015-2-16 11:35
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
作者: 再现理想    时间: 2015-3-5 04:44
是一种使网页(Web Page)产生生动活泼画面的语言
作者: 仓酷云    时间: 2015-3-11 23:33
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
作者: 变相怪杰    时间: 2015-3-15 00:31
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
作者: 蒙在股里    时间: 2015-3-15 12:56
是一种语言,用以产生「小应用程序(Applet(s))
作者: 海妖    时间: 2015-3-18 19:56
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
作者: 再见西城    时间: 2015-3-21 09:37
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
作者: 因胸联盟    时间: 2015-3-24 23:36
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
作者: 若天明    时间: 2015-4-3 04:22
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者: 不帅    时间: 2015-4-6 23:08
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
作者: 愤怒的大鸟    时间: 2015-4-9 06:35
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
作者: 乐观    时间: 2015-4-14 06:45
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
作者: 第二个灵魂    时间: 2015-4-15 05:42
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2