大家好!我是一个大学生,上个学期通过了软设考试和英语四级,这个学期想努力学习JAVA!各位大侠,有没有什么好的学习JAVA的方法。JAVA包括很多的东西,J2SE,J2ME,J2EE等等。我就想用半年的时间学到能够用J2EE来进行开发软件,以前我学过C++,Server_2000数据库,熟悉THML语言,用ASP做过几个小型网站。现在就想问下看什么的JAVA书,用什么的方法学习JAVA比较好,或是有什么建议没有?小弟在这里谢谢先了!

解决方案 »

  1.   


                              学习JAVA的30个目标(来自CSDN)   1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,interaction以及statediagrams。  2.你需要学习JAVA语言的基础知识以及它的核心类库(collections,serialization,streams, networking, multithreading,reflection,event,handling,NIO,localization,以及其他)。  3.你应该了解JVM,classloaders,classreflect,以及垃圾回收的基本工作机制等。你应该有能力反编译一个类文件并且明白一些基本的汇编指令。  4.如果你将要写客户端程序,你需要学习WEB的小应用程序(applet),必需掌握GUI设计的思想和方法,以及桌面程序的SWING,AWT, SWT。你还应该对UI部件的JAVABEAN组件模式有所了解。JAVABEANS也被应用在JSP中以把业务逻辑从表现层中分离出来。  5.你需要学习java数据库技术,如JDBCAPI并且会使用至少一种persistence/ORM构架,例如Hibernate,JDO, CocoBase,TopLink,InsideLiberator(国产JDO红工厂软件)或者iBatis。  6.你还应该了解对象关系的阻抗失配的含义,以及它是如何影响业务对象的与关系型数据库的交互,和它的运行结果,还需要掌握不同的数据库产品运用,比如:oracle,mysql,mssqlserver。  7.你需要学习JAVA的沙盒安全模式(classloaders,bytecodeverification,managers,policyandpermissions,codesigning, digitalsignatures,cryptography,certification,Kerberos,以及其他)还有不同的安全/认证 API,例如JAAS(JavaAuthenticationandAuthorizationService),JCE (JavaCryptographyExtension),JSSE(JavaSecureSocketExtension),以及JGSS (JavaGeneralSecurityService)。  8.你需要学习Servlets,JSP,以及JSTL(StandardTagLibraries)和可以选择的第三方TagLibraries。  9.你需要熟悉主流的网页框架,例如JSF,Struts,Tapestry,Cocoon,WebWork,以及他们下面的涉及模式,如MVC/MODEL2。  10.你需要学习如何使用及管理WEB服务器,例如tomcat,resin,Jrun,并且知道如何在其基础上扩展和维护WEB程序。   11.你需要学习分布式对象以及远程API,例如RMI和RMI/IIOP。  12.你需要掌握各种流行中间件技术标准和与java结合实现,比如Tuxedo、CROBA,当然也包括javaEE本身。  13.你需要学习最少一种的XMLAPI,例如JAXP(JavaAPIforXMLProcessing),JDOM(JavaforXMLDocumentObjectModel),DOM4J,或JAXR(JavaAPIforXMLRegistries)。  14.你应该学习如何利用JAVAAPI和工具来构建WebService。例如JAX-RPC(JavaAPIforXML/RPC),SAAJ (SOAPwithAttachmentsAPIforJava),JAXB(JavaArchitectureforXMLBinding),JAXM (JavaAPIforXMLMessaging), JAXR(JavaAPIforXMLRegistries),或者JWSDP(JavaWebServicesDeveloperPack)。  15.你需要学习一门轻量级应用程序框架,例如Spring,PicoContainer,Avalon,以及它们的IoC/DI风格(setter,constructor,interfaceinjection)。  16.你需要熟悉不同的J2EE技术,例如JNDI(JavaNamingandDirectoryInterface),JMS (JavaMessageService),JTA/JTS(JavaTransactionAPI/JavaTransactionService), JMX (JavaManagementeXtensions),以及JavaMail。  17.你需要学习企业级JavaBeans (EJB)以及它们的不同组件模式:Stateless/StatefulSessionBeans,EntityBeans(包含Bean- ManagedPersistence[BMP]或者Container-ManagedPersistence[CMP]和它的EJB-QL),或者 Message-DrivenBeans(MDB)。  18.你需要学习如何管理与配置一个J2EE应用程序服务器,如WebLogic,JBoss等,并且利用它的附加服务,例如簇类,连接池以及分布式处理支援。你还需要了解如何在它上面封装和配置应用程序并且能够监控、调整它的性能。  19.你需要熟悉面向方面的程序设计以及面向属性的程序设计(这两个都被很容易混淆的缩写为AOP),以及他们的主流JAVA规格和执行。例如AspectJ和AspectWerkz。  20.你需要熟悉对不同有用的API和frame work等来为你服务。例如Log4J(logging/tracing),Quartz (scheduling),JGroups(networkgroupcommunication),JCache (distributedcaching), Lucene(full-textsearch),JakartaCommons等等。    21.如果你将要对接或者正和旧的系统或者本地平台,你需要学习JNI (JavaNativeInterface) and JCA (JavaConnectorArchitecture)。  22.你需要熟悉JINI技术以及与它相关的分布式系统,比如掌握CROBA。  23.你需要JavaCommunityProcess(JCP)以及他的不同JavaSpecificationRequests(JSRs),例如Portlets(168),JOLAP(69),DataMiningAPI(73),等等。  24.你应该熟练掌握一种JAVAIDE例如sunOne,netBeans,IntelliJIDEA或者Eclipse。(有些人更喜欢VI或EMACS来编写文件。随便你用什么了:)  25.JAVA(精确的说是有些配置)是冗长的,它需要很多的人工代码(例如EJB),所以你需要熟悉代码生成工具,例如XDoclet。  26.你需要熟悉一种单元测试体系(JNunit),并且学习不同的生成、部署工具(Ant,Maven)。  27.你需要熟悉一些在JAVA开发中经常用到的软件工程过程。例如RUP(RationalUnifiedProcess)andAgilemethodologies。  28.你需要能够深入了解加熟练操作和配置不同的操作系统,比如GNU/linux,sunsolaris,macOS等,做为跨平台软件的开发者。  29.你还需要紧跟java发展的步伐,比如现在可以深入的学习javaME,以及各种java新规范,技术的运用,如新起的web富客户端技术。  30.你必需要对opensource有所了解,因为至少java的很多技术直接是靠开源来驱动发展的,如java3D技术。
    -------------------哥们,革命的道路还很遥远,慢慢来吧
      

  2.   

    thinking in java+JDKdocuments+一个好的IDE 就可以学好java并开发了, 从J2SE 到JSEE有个坡度,总体来说学习java 是一个 易--难--易 的曲线!祝楼主好运!
      

  3.   

    1.忘记面向过程 遇到问题 先找 jdk 看看有没有封装好的方法 
    2.多多阅读他人的代码 
    3.多做例子多看书 thinking in java是入门级的好书
    4.没事多看jdk
    5.万事不会问google 
      

  4.   

    think in java太厉害了,劝楼主先学java的面向对象基本类库和语法,然后在看这种,比较“简单”的书。
      

  5.   

    think in java+孙鑫视频 是个不错的选择 8hours/day学习的话,一个礼拜学的就入门了
    最多一个月就能学个一般水平(能开发)了再J2EE的话如果8hours/day,三四个月就行了,我是孙鑫的fans,支持《Java Web开发详解》呵呵如果想 半年把J2SE&J2EE学到一般程度(能开发),要每天至少学习8小时,学习能力再强也得5个小时...希望你受得了...
      

  6.   

    在学J2EE前最好把J2SE了解到一般程度
      

  7.   

    think in java+Java Web开发详解+一些视频
      

  8.   

    谢谢大家,我这学期有几科比较重要的课程,最多也就4hours/day学习JAVA,可能还没有那么多,所说的多看JDK就是指看安装JDK后的src.zip里面的源代码吗?
      

  9.   

    最重要的还是要学会怎么查找JAVA API
      

  10.   

    学会看sun及各个公司的官方网站,尤其是javadoc的用法,看源代码,
    我看过张孝祥的视频,比老师上课讲的好多了,推荐你看看
    要不看看Java坚果系列的书也不错,oreilly的书其实都还可以,看着有点晦涩
      

  11.   

    我是跟着软件班学的,强度很大,我几乎24小时都在看java
    很累,不过很爽,一起努力吧
      

  12.   

    清华大学出版社出的Java JDK6学习笔记挺好的,入门级的,强烈建议你看一下!
      

  13.   

    先学基础语法知识;
    要学会怎么查找JAVA API
      

  14.   

    花半年时间进行 J2EE 开发,很难做得到的(J2EE 的东西实在是太多了),但是进行 Java Web 开发,经过努力是可以做到了,推荐一下大致的时间分配和掌握程度(个人观点,仅供参考)。Java 基础知识(含语法等)【非常熟练】、面向对象(你有C++的基础)【非常熟练】
      控制在 2 周以下
    Java SE 的核心技术(Java Tools【熟练】、Collections【非常熟练】、IO【非常熟练】、XML【熟练】、JDBC【熟练】、Multi-thread【简单应用】、Networks【简单应用】、JCA/JCE【了解】等等(可能还有遗漏),AWT/Swing【简单应用】时间来不及的话可以先放一下),并掌握常用的文本编辑器(EditPlus)【熟练】、IDE(Eclipse 或 NetBeans)【熟练】,其间要学会使用 Java API 帮助文档【非常熟练】,并学习一些数据库(Oracle、MS SQL 或 MySQL 等)的基本的操作和使用
      12~14 周(含上机练习操作时间)
    Java Web (Tomcat(部署【熟练】、管理工具使用【基本应用】)、JSP【熟练】、EL【熟练】、JSTL【熟练】、Servlet【熟练】、MVC【熟练】、Struts 1.x / WebWork / Struts 2.x(其中一种)【基本应用】,以及 CSS/JavaScript【简单应用】)
      4~6 周
    基础的软件工程及软件设计知识(UML【了解】、OOA&D【了解】、Design Pattern【简单应用】)如果以上弄通之后还有剩余的时间可以学习下面的一些东西J2EE (J2EE 基本技术 EJB、WebServices、JNDI、RMI、JavaMail、JMS、JTA 等等(太多了),以及常用的应用服务器的部署、配置等),其间穿插学习常用开源框架的使用(Ant、JUnit、Log4j、Spring、Hibernate、JDOM、DWR ... (也是太多了))
      

  15.   

    推荐的书籍:霍斯特曼的《Java 核心技术》、迪特尔父子的《Java 程序设计教程》,都是一些不错的经典书。
      

  16.   

    掌握Java基础和学会使用Java API
      

  17.   

    可以看看《J2EE开发全程实录》这本书,从实例入手学习最快。
    http://book.csdn.net/bookfiles/427/index.html
      

  18.   

    在这里先谢谢各位大侠的建议了,我大概知道怎么做了,俗话说:欲速则不达。我的j2ee之路还很漫长。谢谢了,各位!!
      

  19.   

    一楼已经说了JAVA学习的目标
    至于捷径,很抱歉没有,JAVA不是葵花宝典,挥刀自宫就可以学的飞快的!还是那句老话,看书视频敲代码!
      

  20.   

    http://www.china-pub.com/computers/common/info.asp?id=35167