上善若水maggie
樓主,我想說(shuō):Java的范圍太廣,如果你要學(xué)習(xí)Java的話(huà),首先建議你去看 java編程思想 這本書(shū).當(dāng)然我相信你可以看得下去,如果你能夠認(rèn)真把前面介紹面向?qū)ο蟮闹R(shí)部分反復(fù)看上幾遍,直到你知道什么是面向?qū)ο?面向?qū)ο蟮囊恍┲饕拍?你會(huì)發(fā)現(xiàn)接下來(lái)學(xué)習(xí)會(huì)輕松很多.2年可以學(xué)到什么程度,如果你在學(xué)校,我想兩年的時(shí)間學(xué)不了多少,有那個(gè)決心才能做好,對(duì)一些基本概念的探索深入是一個(gè)很漫長(zhǎng)的過(guò)程,別忘了萬(wàn)丈高樓平地起...書(shū):一本java程序設(shè)計(jì)入門(mén),一本JAVA編程思想(如果兩年里你能把JAVA編程思想讀徹,我想已經(jīng)很厲害了)
嘰嘰咕咕喳喳
這么高的分,不參與下可惜了我以前也去培訓(xùn)過(guò)學(xué)校和培訓(xùn)機(jī)構(gòu)的最大差別是這樣的:學(xué)校是理論的集合,會(huì)告訴你事情的根源是這樣的,而培訓(xùn)機(jī)構(gòu)呢,會(huì)告訴你事情是可以如何發(fā)展的比如說(shuō)JAVA,學(xué)??赡芨嬖V你語(yǔ)法,但是培訓(xùn)機(jī)構(gòu)更重要的是告訴你這些語(yǔ)法只是鋪墊,通過(guò)這些語(yǔ)法,能發(fā)展到一個(gè)項(xiàng)目的分析,設(shè)計(jì)和最終的編碼實(shí)現(xiàn),(我想你主要是培訓(xùn)JAVA吧)我個(gè)人任務(wù)“專(zhuān)”更重要,起碼對(duì)程序員的前期是這樣的。進(jìn)入培訓(xùn)機(jī)構(gòu),講師會(huì)給你講解案例,會(huì)給你小的項(xiàng)目做,所以只要跟著老師的節(jié)奏就已經(jīng)很好的培訓(xùn)JAVA,講師肯定回給你講解一些開(kāi)源框架,因?yàn)樗麄兘o學(xué)員的目標(biāo)是就業(yè),而很多的公司對(duì)一些框架都有要求,所以在這部分的學(xué)習(xí)中,一定要經(jīng)歷去了解框架的原理,也就是這些框架的設(shè)計(jì)思路或者說(shuō)思想,多寫(xiě)代碼,很多異常必須在寫(xiě)代碼的過(guò)程中去實(shí)踐培訓(xùn),時(shí)間緊,任務(wù)重,如果碰到好的培訓(xùn)機(jī)構(gòu),好的講師,理解他們60%的課程,完全可以仰著頭去工作希望對(duì)你有幫助
么么噠ALICE
給你幾個(gè)好網(wǎng)站.好好看一看Coding,coding and coding 不要紙上談兵,最好的方法就是實(shí)踐(編寫(xiě)程序) 多做筆記 好腦筋不如爛筆頭 循序漸進(jìn) 閱讀/分析程序→摹仿編程→簡(jiǎn)單程序→復(fù)雜編程 舉一反三 學(xué)而時(shí)習(xí)之 培養(yǎng)興趣,克服惰性 善于利用參考書(shū)和Internet 小組討論,分享經(jīng)驗(yàn) 及時(shí)總結(jié) 幫助學(xué)習(xí)的工具 英語(yǔ) 互聯(lián)網(wǎng)(Internet) 參考書(shū) 書(shū)不在多,貴在多讀 Core Java Core Servlets and JSP Programming Jakarta Struts Mastering EJB Mastering Oracle SQL J2ME in a Nutshell 中文資源 英文網(wǎng)站 java.sun.com 最后給你自己訂個(gè)目標(biāo)1.你需要精通面向?qū)ο蠓治雠c設(shè)計(jì)(OOA/OOD)、涉及模式(GOF,J2EEDP)以及綜合模式。你應(yīng)該十分了解UML,尤其是class,object,interaction以及statediagrams。 2.你需要學(xué)習(xí)JAVA語(yǔ)言的基礎(chǔ)知識(shí)以及它的核心類(lèi)庫(kù)(collections,serialization,streams,networking, multithreading,reflection,event,handling,NIO,localization,以及其他)。 3.你應(yīng)該了解JVM,classloaders,classreflect,以及垃圾回收的基本工作機(jī)制等。你應(yīng)該有能力反編譯一個(gè)類(lèi)文件并且明白一些基本的匯編指令。 4.如果你將要寫(xiě)客戶(hù)端程序,你需要學(xué)習(xí)WEB的小應(yīng)用程序(applet),必需掌握GUI設(shè)計(jì)的思想和方法,以及桌面程序的SWING,AWT, SWT。你還應(yīng)該對(duì)UI部件的JAVABEAN組件模式有所了解。JAVABEANS也被應(yīng)用在JSP中以把業(yè)務(wù)邏輯從表現(xiàn)層中分離出來(lái)。 5.你需要學(xué)習(xí)java數(shù)據(jù)庫(kù)技術(shù),如JDBCAPI并且會(huì)使用至少一種persistence/ORM構(gòu)架,例如Hibernate,JDO, CocoBase,TopLink,InsideLiberator(國(guó)產(chǎn)JDO紅工廠(chǎng)軟件)或者iBatis。 6.你還應(yīng)該了解對(duì)象關(guān)系的阻抗失配的含義,以及它是如何影響業(yè)務(wù)對(duì)象的與關(guān)系型數(shù)據(jù)庫(kù)的交互,和它的運(yùn)行結(jié)果,還需要掌握不同的數(shù)據(jù)庫(kù)產(chǎn)品運(yùn)用,比如:oracle,mysql,mssqlserver。 7.你需要學(xué)習(xí)JAVA的沙盒安全模式(classloaders,bytecodeverification,managers,policyandpermissions,codesigning, digitalsignatures,cryptography,certification,Kerberos,以及其他)還有不同的安全/認(rèn)證 API,例如JAAS(JavaAuthenticationandAuthorizationService),JCE (JavaCryptographyExtension),JSSE(JavaSecureSocketExtension),以及JGSS (JavaGeneralSecurityService)。 8.你需要學(xué)習(xí)Servlets,JSP,以及JSTL(StandardTagLibraries)和可以選擇的第三方TagLibraries。 9.你需要熟悉主流的網(wǎng)頁(yè)框架,例如JSF,Struts,Tapestry,Cocoon,WebWork,以及他們下面的涉及模式,如MVC/MODEL2。 10.你需要學(xué)習(xí)如何使用及管理WEB服務(wù)器,例如tomcat,resin,Jrun,并且知道如何在其基礎(chǔ)上擴(kuò)展和維護(hù)WEB程序。11.你需要學(xué)習(xí)分布式對(duì)象以及遠(yuǎn)程API,例如RMI和RMI/IIOP。 12.你需要掌握各種流行中間件技術(shù)標(biāo)準(zhǔn)和與java結(jié)合實(shí)現(xiàn),比如Tuxedo、CROBA,當(dāng)然也包括javaEE本身。 13.你需要學(xué)習(xí)最少一種的XMLAPI,例如JAXP(JavaAPIforXMLProcessing),JDOM(JavaforXMLDocumentObjectModel),DOM4J,或JAXR(JavaAPIforXMLRegistries)。 14.你應(yīng)該學(xué)習(xí)如何利用JAVAAPI和工具來(lái)構(gòu)建WebService。例如JAX-RPC(JavaAPIforXML/RPC),SAAJ (SOAPwithAttachmentsAPIforJava),JAXB(JavaArchitectureforXMLBinding),JAXM(JavaAPIforXMLMessaging), JAXR(JavaAPIforXMLRegistries),或者JWSDP(JavaWebServicesDeveloperPack)。 15.你需要學(xué)習(xí)一門(mén)輕量級(jí)應(yīng)用程序框架,例如Spring,PicoContainer,Avalon,以及它們的IoC/DI風(fēng)格(setter,constructor,interfaceinjection)。 16.你需要熟悉不同的J2EE技術(shù),例如JNDI(JavaNamingandDirectoryInterface),JMS (JavaMessageService),JTA/JTS(JavaTransactionAPI/JavaTransactionService),JMX (JavaManagementeXtensions),以及JavaMail。 17.你需要學(xué)習(xí)企業(yè)級(jí)JavaBeans(EJB)以及它們的不同組件模式:Stateless/StatefulSessionBeans,EntityBeans(包含Bean- ManagedPersistence[BMP]或者Container-ManagedPersistence[CMP]和它的EJB-QL),或者 Message-DrivenBeans(MDB)。 18.你需要學(xué)習(xí)如何管理與配置一個(gè)J2EE應(yīng)用程序服務(wù)器,如WebLogic,JBoss等,并且利用它的附加服務(wù),例如簇類(lèi),連接池以及分布式處理支援。你還需要了解如何在它上面封裝和配置應(yīng)用程序并且能夠監(jiān)控、調(diào)整它的性能。 19.你需要熟悉面向方面的程序設(shè)計(jì)以及面向?qū)傩缘某绦蛟O(shè)計(jì)(這兩個(gè)都被很容易混淆的縮寫(xiě)為AOP),以及他們的主流JAVA規(guī)格和執(zhí)行。例如AspectJ和AspectWerkz。 20.你需要熟悉對(duì)不同有用的API和framework等來(lái)為你服務(wù)。例如Log4J(logging/tracing),Quartz (scheduling),JGroups(networkgroupcommunication),JCache(distributedcaching), Lucene(full-textsearch),JakartaCommons等等。21.如果你將要對(duì)接或者正和舊的系統(tǒng)或者本地平臺(tái),你需要學(xué)習(xí)JNI (JavaNativeInterface) and JCA (JavaConnectorArchitecture)。 22.你需要熟悉JINI技術(shù)以及與它相關(guān)的分布式系統(tǒng),比如掌握CROBA。 23.你需要JavaCommunityProcess(JCP)以及他的不同JavaSpecificationRequests(JSRs),例如Portlets(168),JOLAP(69),DataMiningAPI(73),等等。 24.你應(yīng)該熟練掌握一種JAVAIDE例如sunOne,netBeans,IntelliJIDEA或者Eclipse。(有些人更喜歡VI或EMACS來(lái)編寫(xiě)文件。隨便你用什么了:) 25.JAVA(精確的說(shuō)是有些配置)是冗長(zhǎng)的,它需要很多的人工代碼(例如EJB),所以你需要熟悉代碼生成工具,例如XDoclet。 26.你需要熟悉一種單元測(cè)試體系(JNunit),并且學(xué)習(xí)不同的生成、部署工具(Ant,Maven)。 27.你需要熟悉一些在JAVA開(kāi)發(fā)中經(jīng)常用到的軟件工程過(guò)程。例如RUP(RationalUnifiedProcess)andAgilemethodologies。 28.你需要能夠深入了解加熟練操作和配置不同的操作系統(tǒng),比如GNU/linux,sunsolaris,macOS等,做為跨平臺(tái)軟件的開(kāi)發(fā)者。 29.你還需要緊跟java發(fā)展的步伐,比如現(xiàn)在可以深入的學(xué)習(xí)javaME,以及各種java新規(guī)范,技術(shù)的運(yùn)用,如新起的web富客戶(hù)端技術(shù)。 30.你必需要對(duì)opensource有所了解,因?yàn)橹辽賘ava的很多技術(shù)直接是靠開(kāi)源來(lái)驅(qū)動(dòng)發(fā)展的,如java3D技術(shù)。
康夫君和小靜
基礎(chǔ)開(kāi)始 推薦《Java核心技術(shù)》有第7版,不過(guò)好像是英文的,第6版有中文的像你有時(shí)間的話(huà)半年應(yīng)該可以把Java基礎(chǔ)學(xué)扎實(shí)了
rachelkong
培訓(xùn)機(jī)構(gòu)學(xué)習(xí)的話(huà),首先,給你講講java的概念,優(yōu)越性,然后給你講講這個(gè)語(yǔ)言的基礎(chǔ)概念,語(yǔ)法。然后是應(yīng)用。而且肯定是一天當(dāng)中一半的時(shí)候是學(xué)習(xí)基礎(chǔ)理論,一半是上機(jī)操作。所以,理論的時(shí)候要認(rèn)證聽(tīng),上機(jī)的時(shí)候要肯動(dòng)腦把理論轉(zhuǎn)化為實(shí)際。然后我覺(jué)得他肯定會(huì)教你一個(gè)流行的框架,struts,運(yùn)用這個(gè)框架進(jìn)行web開(kāi)發(fā),工作中會(huì)非常有用處。你要做的是深入的理解這個(gè)框架,因?yàn)樗目赏卣剐院軓?qiáng),但是萬(wàn)變不離其中,要掌握他的精髓。一個(gè)勸告,無(wú)論你理論知識(shí)是多么牢靠,畢竟你不是想當(dāng)老師吧,實(shí)際動(dòng)手編寫(xiě)調(diào)試才是最重要的。還有一點(diǎn)熟練掌握sql你將受益匪淺。
緣夢(mèng)~幸福寶貝
學(xué)習(xí)是學(xué)方法,Java不要認(rèn)為它是Java,而是要尋找Java的思想,想達(dá)到理想化的程度,建議你做到以下這么多。1.你需要精通面向?qū)ο蠓治雠c設(shè)計(jì)(OOA/OOD)、涉及模式(GOF,J2EEDP)以及綜合模式。你應(yīng)該了解UML,尤其是class,object,interaction以及statediagrams。 2.你需要學(xué)習(xí)JAVA語(yǔ)言的基礎(chǔ)知識(shí)以及它的核心類(lèi)庫(kù)(collections,serialization,streams,networking,?multithreading,reflection,event,handling,NIO,localization,以及其他)。 3.你應(yīng)該了解JVM,classloaders,classreflect,以及垃圾回收的基本工作機(jī)制等。你應(yīng)該有能力反編譯一個(gè)類(lèi)文件并且明白一些基本的匯編指令。 4.如果你將要寫(xiě)客戶(hù)端程序,你需要學(xué)習(xí)WEB的小應(yīng)用程序(applet),必需掌握GUI設(shè)計(jì)的思想和方法,以及桌面程序的SWING,AWT,?SWT。你還應(yīng)該對(duì)UI部件的JAVABEAN組件模式有所了解。JAVABEANS也被應(yīng)用在JSP中以把業(yè)務(wù)邏輯從表現(xiàn)層中分離出來(lái)。 5.你需要學(xué)習(xí)java數(shù)據(jù)庫(kù)技術(shù),并且會(huì)使用至少一種persistence/ORM構(gòu)架,例如Hibernate,JDO,?CocoBase,TopLink,InsideLiberator(國(guó)產(chǎn)JDO紅工廠(chǎng)軟件)或者iBatis。 6.你還應(yīng)該了解對(duì)象關(guān)系的阻抗失配的含義,以及它是如何影響業(yè)務(wù)對(duì)象的與關(guān)系型數(shù)據(jù)庫(kù)的交互,和它的運(yùn)行結(jié)果,還需要掌握不同的數(shù)據(jù)庫(kù)產(chǎn)品運(yùn)用,比如:oracle,mysql,mssqlserver。 7.你需要學(xué)習(xí)Servlets,JSP,以及JSTL(StandardTagLibraries)和可以選擇的第三方TagLibraries。 8.你需要熟悉主流的網(wǎng)頁(yè)框架,例如JSF,Struts,Tapestry,Cocoon,WebWork,以及他們下面的涉及模式,如MVC/MODEL2。 9.你需要學(xué)習(xí)如何使用及管理WEB服務(wù)器,例如tomcat,resin,Jrun,并且知道如何在其基礎(chǔ)上擴(kuò)展和維護(hù)WEB程序。 10.你需要學(xué)習(xí)分布式對(duì)象以及遠(yuǎn)程API,例如RMI和RMI/IIOP。 11.你需要掌握各種流行中間件技術(shù)標(biāo)準(zhǔn)和與java結(jié)合實(shí)現(xiàn),比如Tuxedo、CROBA,當(dāng)然也包括javaEE本身。 12.你需要學(xué)習(xí)最少一種的XMLAPI,例如JAXP(JavaAPIforXMLProcessing),JDOM(JavaforXMLDocumentObjectModel),DOM4J,或JAXR(JavaAPIforXMLRegistries)。 13.你應(yīng)該學(xué)習(xí)如何利用JAVA的API和工具來(lái)構(gòu)建WebService。例如JAX-RPC(JavaAPIforXML/RPC),SAAJ?(SOAPwithAttachmentsAPIforJava),JAXB(JavaArchitectureforXMLBinding),JAXM(JavaAPIforXMLMessaging),?JAXR(JavaAPIforXMLRegistries),或者JWSDP(JavaWebServicesDeveloperPack)。 14.你需要學(xué)習(xí)一門(mén)輕量級(jí)應(yīng)用程序框架,例如Spring,PicoContainer,Avalon,以及它們的IoC/DI風(fēng)格(setter,constructor,interfaceinjection)。 15.你需要熟悉不同的J2EE技術(shù),例如JNDI(JavaNamingandDirectoryInterface),JMS?(JavaMessageService),JTA/JTS(JavaTransactionAPI/JavaTransactionService),JMX?(JavaManagementeXtensions),以及JavaMail。 16.你需要學(xué)習(xí)企業(yè)級(jí)JavaBeans(EJB)以及它們的不同組件模式:Stateless/StatefulSessionBeans,EntityBeans(包含Bean-?ManagedPersistence[BMP]或者Container-ManagedPersistence[CMP]和它的EJB-QL),或者?Message-DrivenBeans(MDB)。 17.你需要學(xué)習(xí)如何管理與配置一個(gè)J2EE應(yīng)用程序服務(wù)器,如WebLogic,JBoss等,并且利用它的附加服務(wù),例如簇類(lèi),連接池以及分布式處理支援。你還需要了解如何在它上面封裝和配置應(yīng)用程序并且能夠監(jiān)控、調(diào)整它的性能。 18.你需要熟悉面向方面的程序設(shè)計(jì)以及面向?qū)傩缘某绦蛟O(shè)計(jì)(這兩個(gè)都被很容易混淆的縮寫(xiě)為AOP),以及他們的主流JAVA規(guī)格和執(zhí)行。例如AspectJ和AspectWerkz。 19.你需要熟悉對(duì)不同有用的API和framework等來(lái)為你服務(wù)。例如Log4J(logging/tracing),Quartz?(scheduling),JGroups(networkgroupcommunication),JCache(distributedcaching),?Lucene(full-textsearch),JakartaCommons等等。 20.你應(yīng)該熟練掌握一種JAVAIDE例如sunOne,netBeans,IntelliJIDEA或者Eclipse。(有些人更喜歡VI或EMACS來(lái)編寫(xiě)文件。隨便你用什么了:) 21.JAVA(精確的說(shuō)是有些配置)是冗長(zhǎng)的,它需要很多的人工代碼(例如EJB),所以你需要熟悉代碼生成工具,例如XDoclet。 22.你需要熟悉一種單元測(cè)試體系(JNunit),并且學(xué)習(xí)不同的生成、部署工具(Ant,Maven)。 23.你需要熟悉一些在JAVA開(kāi)發(fā)中經(jīng)常用到的軟件工程過(guò)程。例如RUP(RationalUnifiedProcess)andAgilemethodologies。 24.你還需要緊跟java發(fā)展的步伐,比如現(xiàn)在可以深入的學(xué)習(xí)webwork2.0 25.你必需要對(duì)實(shí)際項(xiàng)目的開(kāi)發(fā)流程有所了解,至少要有兩個(gè)有實(shí)際應(yīng)用價(jià)值的項(xiàng)目,而不是練習(xí)項(xiàng)目!因?yàn)楝F(xiàn)在企業(yè)看重的是你有沒(méi)有實(shí)際的開(kāi)發(fā)經(jīng)驗(yàn),真正開(kāi)發(fā)經(jīng)驗(yàn)的體現(xiàn)就是你做的項(xiàng)目,也就是有實(shí)際應(yīng)用的項(xiàng)目!
優(yōu)質(zhì)英語(yǔ)培訓(xùn)問(wèn)答知識(shí)庫(kù)