我现在在学JAVA,请问怎么样才能学好JAVA啊!

我现在在学JAVA,请问怎么样才能学好JAVA啊!,第1张

学习java的30个目标 ----要想学好,这就必须搞清楚 好好努力吧 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来编写文件。随便你用什么了:) 25JAVA(精确的说是有些配置)是冗长的,它需要很多的人工代码(例如EJB),所以你需要熟悉代码生成工具,例如XDoclet。 26你需要熟悉一种单元测试体系(JNunit),并且学习不同的生成、部署工具(Ant,Maven)。 27你需要熟悉一些在JAVA开发中经常用到的软件工程过程。例如RUP(RationalUnifiedProcess)andAgilemethodologies。 28你需要能够深入了解加熟练 *** 作和配置不同的 *** 作系统,比如GNU/linux,sunsolaris,macOS等,做为跨平台软件的开发者。 29你还需要紧跟java发展的步伐,比如现在可以深入的学习javaME,以及各种java新规范,技术的运用,如新起的web富客户端技术。 30你必需要对opensource有所了解,因为至少java的很多技术直接是靠开源来驱动

零基础当然是可以学习Java的

零基础学习java培训的话一般得6个月,自学比培训慢的多,每个人的学习能力也不一样,时间长短也不一样。就算培训6个月出来也只是说可以入门,自学基本上能每天持续学习下来6-8个月,慢的也许1-2年吧

首先你要把基础的,J2SE学会,这里面的知识包括,语法基础(变量,变量作用域,常量,数组,集合,函数,算术运算符,逻辑运算符,常用表达式,流程控制,循环判断,选择,跳转控制,等等)

然后就是数据结构与算法基础(什么是链表,什么是表结构,图结构,树结构,二叉树,冒泡排序,树形排序,二分查找算法,递归算法等等)

其次是面向对象基础(类,方法,虚方法,虚函数,虚基类,继承,多态,重写,重载,接口)

以上仅为基础知识要学的,但是学完不等于能工作。

然后你至少要会一种数据库,Java的话推荐Oracle这就需要学,表和表空间,PL/SQL要学基本的查询语句,数据 *** 作语句(增删改查),存储过程和触发器,联机热备和冷备份(也叫脱机备份),表结构三范式。

以上学完就要考虑分方向学习才能去找工作

有一个清晰系统的Java学习路线

JavaSE基础:

一定要好好学,很多人都不明白基础的重要性。上来就什么ssm,springBoot,redis。比谁认识的单词多吗?面向对象、字符串处理、集合、IO一定要重点学!

2JavaWeb前端:

不要老一副吊样,觉得自己出去就是后端工程师,不学什么HTML, CSS, JavaScript。老铁,不存在的。进了外包公司你万一发现后台逻辑简单的一逼,就几个接口,反而前端页面切个图都要一天,难道你还好意思暗搓搓问老板:怎么我们公司没有前端的吗?所以前端一定要重视。div+css布局一定要麻溜的,js的dom *** 作必须给力。jQuery/bootstrap你必须会吧!

3JavaWeb服务器端:

Tomcat目录结构必须了如指掌吧。让你手动部署个webapp总要会吧。哪里配置虚拟主机,哪里改端口号,web-info文件夹下的内容外部无法访问这些都要懂一点吧?这些皮毛都不懂,怎么好意思说自己搞服务器端?jsp和servlet什么关系,servlet最常见的三种创建方式,Javaweb四大域对象,jsp九大内置对象都要知道吧?el表达式必须熟悉吧?mysql增删改查sql语句要会写吧,多表关联、左外右外不能怂吧?jdbc是干嘛的,sql注入是啥,如何用jdbc实现事务等等都要知道吧?

4框架预备知识:

xml读写 *** 作要知道,反射、内省、泛型不要求精通,但怎么用总要心里有点那个什么数吧。不然你框架学起来就是懵逼的。

5ssh、ssm框架:

不要求你精通底层原理,但是山寨版的原理总要略知一二吧。如何山寨实现IoC容器,如何对dao进行抽取,如何借助反射实现同一个servlet处理多个请求,这些最好都要了解吧。在理解山寨版框架的基础上,把配置多配几遍,做到心里有数。明白每个配置大致起到什么作用。另外,我一向觉得,学习框架必须带着下面的疑问:这个框架没有出现之前,我们的前辈们如何解决的?它的出现解决了哪些痛点?又有什么缺点没有?都是需要去琢磨的。

作为过来人,我就在这里给你讲解一下,学习Java需要怎么去做

1,有了详细的学习路线之后,你要还要有一个学习规划,根据自己本身的时间,基础,制定适合自己的学习计划。企业岗位需要我们掌握的技术知识点有哪些。在什么阶段自己应该达到什么样的技术水平。

2,很多初学者一开始的时候都喜欢看书,我自己的建议,Java是一门编程语言,更多的是需要我们看视频教程,多练习,多写。书本上的东西是一个理论,看明白了实际 *** 作不一定会,在准备学习Java技术之前,一定要提前找好相关的一套视频教程

3按时反馈自己的学习成果。

有时候学习了后面忘记了前面。需要温故而知新,有问题先试着自己解决,不行再请教别人。

4坚持不懈写代码

实践是检验理论的唯一标准,只有写代码才能让你真正意识到问题的深刻度,不断发现编程语言的局限性和解决问题的方案。对初学者来说提升编程质量的唯一途径就是不停的敲代码,哪怕是一个很简单的问题,将它用代码实现并运行,这才是学习编程唯一可行的途径。靠眼睛是学不会编程的,对于初学者除了练习别无它法!

5加一些学习氛围好的交流论坛

记住,你不是一个人在战斗,有很多人他们和你一样,在同一个起跑线上奋斗着。使用框架实现一个简单的程序不是真正的挑战,当你真正成为一个开发工程师的时候,你会发现很多奇怪的问题是靠说明解决不了的,你需要依靠一些人给你提供学习线索,哪怕是只言片语都有可能帮你走出困境,令你感恩不已。孔子曰:三人行,必有我师,在开发领域这句话绝被奉为经典并不断的得到验证,作为初学者,不要放过一个可能领你提升的机会,寻找一些好的论坛,不懂就问,问题解决一个少一个,自己也会不断进步。当然你也要学会分享,把自己的经验和想法分享给和你曾经遇到一样问题的人,帮助他们的同时也巩固了自己的知识,懂得分享亦是进步。

6寻找经典技术博客

上一条刚说了,你不是一个人在战斗,在网络上有很多技术牛人都通过博客来分享自己的技术经验和编程心得,你只需要勤奋一些去发现这样的博客,每天去阅读他们的技术文章,能吸收到不同人对同一技术的经验可看法,或许他们会为某一项功能而争执不休,你不需要去理会,在“观战”的时候要去分析各种观点,逐渐形成自己的思想,久而久之你会明显感觉到自己在程序设计上的提升,这就是进步。

前面输入是:319中间是:097最后连起来:546,有遇见任何问题都可以随时来交流,只有不断的碰撞和交流,我们才能发现解决自己的问题,以此取长补短。缺乏基础入门的视频教程也可以直接来找我要,

总之,在我看来,Java还算是一门容易上手的编程语言,但想要融会贯通,除了掌握良好的学习方法之外,努力是必不可少的。学习Java要对自己有充分的信心,调整学习方法和态度。开启学习Java的旅程。

学习java部分学习内容有字符串的相关函数,比如字符串拼接函数,分割函数,打乱函数等。

1确保堆栈上至少有 n 个额外空位。 如果不能把堆栈扩展到相应的尺寸,函数返回假。 失败的原因包括将把栈扩展到比固定最大尺寸还大 (至少是几千个元素)或分配内存失败。 这个函数永远不会缩小堆栈; 

void lua_close (lu a_State L);

2销毁指定 Lua 状态机中的所有对象 (如果有垃圾收集相关的元方法的话,会调用它们), 并且释放状态机中使用的所有动态内存。 在一些平台上,你可以不必调用这个函数, 因为当宿主程序结束的时候,所有的资源就自然被释放掉了。 另一方面,长期运行的程序,比如一个后台程序或是一个网站服务器, 会创建出多个 Lua 状态机。那么就应该在不需要时赶紧关闭它们。

lu a_compare

int lu a_compare (lua_State L, int index1, int index2, int op);

比较两个 Lua 值。 当索引 index1 处的值通过 op 和索引 index2 处的值做比较后条件和丛满足,函数返回 1 。 这个函数遵循 Lua 对应的 *** 作规则(即有可能触发元方法)。 反之,函数返回 0。 当任何一个索引无效时,函数也会返回 0 。

3连接栈顶的 n 个值, 然后将这些值出栈,并把结果放在栈顶。 如果 n 为 1 ,结果就是那个值放在栈上(即,函数什么都不做); 如果 n 为 0 ,结果是一个空串。 连接依照 Lua 中通常语义完成()。

lua_copy

void lu a_copy (lua_State L, int fromidx, int toidx);

从索引 fromidx 处复制一个值到一个有效索引 toidx 处,覆盖那里的原有值。 不会影响其它位置的值。

l ua_createtable

void l ua_createtable (lua_State L, int narr, int nrec);

4创建一张新的空表压栈。 参数 narr 建议了这张表作为序列使用时会指棚嫌有多少个元素; 参数 nrec 建议了这张表可能拥有多少序列之外的元素。 Lua 会使用这些建议来预分配这张新表。 如果你知道这张表用途的更多信息,预分配可以提高性能。 否则,你可以使用函数

lua_dump

把函数导出成二进制代码块 。 函数接收栈顶的 Lu a 函数做参数, 然后生成它的二进制代码块。 若被导出的东西被再次加载, 加载的结果就相当于原来的函数。 当它在产生代码块的时候, lua_dump 通过调用函数 writer (r ) 来写入数据,后面的 data 参数会被传入 writer 。

5如果唯手 strip 为真, 二进制代码块将不包含该函数的调试信息。

最后一次由 writer 的返回值将作为这个函数的返回值返回; 0 表示没有错误。

该函数不会把 Lua 函数d出堆栈。

希望能帮到你,谢谢!

对于Java的初学者来说,如果找一本比较合适的入门教材的话,完整地介绍Java的语法、面向对象和主要的API核心库等知识,那将对学习起到相当的促进作用。

我个人认为,一些经典的国外教材确实值得推崇,首先推荐要看的是《21天学通Java 2》、《循序渐进Java 2教程》、《Java2从入门到精通》等书看起来比较浅显易

懂,将Java的基本只是都涉及到了,使你在很短的时间内掌握Java的基本内容。

看完这这本书之一以后,你就想对Java全面深入的学习,现在向你推荐《Java大学教程》、《Java 2编程指南》等书,这几本书对Java的语法、面向对象的知识和API函数库等介绍的比较详尽。让你能够比较熟练的使用Java来编程,解决一般的问题。最后向大家推荐的是《Java2核心技术》,这本书主要讲述了Java的核心技术也是J

ava的难点之处,具有很高的参考价值,无论是Java的初学者还是Java编程老手,都能从此书受益。

这时候大家可能会注意到,其中竟然没有大名鼎鼎的《Thinking in Java》这本书。其实,这本书主要是从编程思想上来讲的,并没有完整的讲述Java的整个体系,

而是一种类似Tips的方法来对Java的知识点进行深入的分析和解释,就好像C++的经典教材《C++ Primier》一样,并不适合作为初学语言的入门教材,蛋是在深入学习

Java的过程中的同时来读这本书会觉得受益匪浅。

值得一提的是,其实最有实用价值的是JDK-Document(下文中简称doc,http://javasuncom/j2se/150/downloadjsp中有离线版下载的,本例中只是列举了15的doc,在相应的地方可以下载14甚至13的doc)和Java Tutorial在线教程(http://javasuncom/docs/books/tutorial/这个是在线查看的,离线版的下载本人目前还不知道)。在doc中有四个部分API 文档(对SDK自带的标准Java API都进行了详细的介绍,它是按照package来组织的,详细介绍了每一个class的继承关系,接口的实现情况,以及所有public的属性和方法,对于每个方法的用途、调用的参数、参数的类型,返回值的类型、以及方法可能抛出的异常等等)、guide(对一些Java技术和概念进行讲述)、relnotes(这个介绍新版本的JDK的发布信息以及新特点

)、tooldocs(主要对Java的所有命令进行讲述)。Doc是我们每一个Java工作者在

编程时必须的手册,目前只有英文版,sun中国社区正在进行汉化,相信不久就会出

现中文版的doc了。Tutorial也相当的不错,主要针对初学者,不过对于其他阶段的

Java学习者也有很大的帮助了。

以上主要针对J2SE的学习进行讲述的,Java主要有J2SE、J2EE、J2ME三个部分,J2

SE是基础。当我们对J2SE的学习掌握的差不多的时候,其实我们就会对Java的学习

有自己独特的体会,就会发现每一个Java技术自己所带的doc都对我们的学习有很大

的帮助。此外,经常去一些著名的网站上去看看各位网友的作品,对Java学习的心

得,确实对我们有很大提高,这里推荐http://blogcsdnnet。经常去图书馆或者

到书店去看看有关Java的书,看看它们是不是自己所需要的,这时候,选择学习Ja

va的书籍就会自己拿主意了。

在上述的一些书籍的介绍中,并非每本书都要看,可根据自己的实际情况进行选择

,或者像Java先行者咨询即可。

过程篇

在Java的学习过程中,大家首先要搭建一个Java的环境,安装好JDK。对于初学者来

说,在安装JDK的过程中,CLASSPATH的设置是初学者经常会问题的地方,其中,"

"表示当前路径,是CLASSPATH中必不可少的地方,否则,在有时候调试程序时,会

出现意想不到的错误。PATH的设置主要是为了在调试程序时方便而已,这个同Wind

ows的PATH含义一样。对于初学者,我个人强烈推荐使用UE(UltraEdit)+命令行(

Windows下附件中的命令提示符,Linux下面的Shell等)。在你自己对Java的 *** 作比

较熟悉,对Java的底层只知识掌握的差不多的时候,然后再根据自己的需要选择合

适的IDE,在此处我向各位推荐的都是免费软件,Eclipse(http://wwweclipseo

rg)和Netbeans(http://netbeansorg/),前者使用SWT编写的,后者是用Swing

编写的,我推荐使用前者,不过各位可根据实际情况尽心选择,此外还有付费软件

JBuilder,功能确实不错。

在第二步学习Java语法的过程中,其实你会发现和C++很相似,其实Java是继承了很

多语言的优点而诞生的一个优秀的编程语言。对于Java语法的学习不需要多长时间

,但是对于一些区别于C++的地方确实需要斟酌。每一本入门教材都会对语法进行大

篇幅的论述,因为这是基础。在学习中,一定要仔细,弄清出每一个细节问题,在

《Thinking in Java》中,对于语法的难点进行了详尽的论述,可以参考这本书。

Java是一种面向对象的语言,涉及到比如继承,构造器,抽象类,接口,方法的多

态,

重载,覆盖,Java异常处理机制等方面的概念,这里面有很多个知识点需要我们理

解,如果我们没有C++的基础的话,确实需要花费很长的时间,在这学习中,我觉得

应该是一个循序渐进的过程,而不可能是一步到位,在学习过程多反复几次,就会

有不小的收获。如果你对C++有基础的话,不妨考虑在对Java学习的差不多的时候,

学学UML(统一建模语言)和Java设计模式,会在今后编制Java程序中保持一个良好

的习惯。

对于Java中类库的学习。Java的类库很多,除了JDK标准类库意外,还有很多第三方

Java类库值得我们学习。我个人认为在学习中,以下几个经常用到的类库是我们必

须掌握的

javaio;

javautil;

javanet;

javalang;

值得一提的是,在Java编程中,系统默认import javalang,所以我们在书写的

时候就不需要在些这句了。

在学习中,我们不可能对每个类的每个方法进行仔细的学习和掌握,因为我们没有

那么多的时间。我们所作的只是了解整个package的框架,在Doc文档里面每一个pa

ckage前面都有一个Uses of Class,我们可以阅读一下这个,了解这个包内所有类

的用法,再对几个常用的核心类进行掌握即可。我们学习API达到知道在什么情况下

该用什么类就可以了,其实就有很多人,在编程的时候,也是在翻阅API文档,来寻

找呵护自己需要的类。说白了,对于类的积累,主要是在实践当中多多积累,在调

试过程中提炼出自己的心得,才有好处。对于其它包,只需要了解这个包的框架和

大致的类的分类就可以了,用的时候再仔细看看。

最后谈谈J2EE编程,其中J2EE编程中包括了JSP/Servlet技术。在JSP/Servlet的学

习中,最好能熟悉HTTP协议,这对我们进行编写程序有很大的帮助。我们主要的参

考工具就是servlet document了,我们花上不长的时间把doc里面的内容过一遍,然

后再参考Tomcat提供的范例学习后,我们就可以书写这方面的程序了。在JSP的学习

中,还有JSP标记,这个记不住,可以临时可以了,不过你得备好资料才能查询哦。

此外在学习JSP中,还有对定制标志的学习,这个学习一下它的用法,JavaBean等的

引入使得代码可重用。在设计模式上,按照MVC(模型-视图-控制)的设计模式来

完成,以及Web Appliacation等的部署等等。

在J2EE的学习中,除了要J2EE Document意外,找几本比较经典的教材看看。因为这

方面的难度比较大。掌握的知识涉及面主要有EJB、JMS、JNDI、JTA等,这些方面的

东西除了看书籍之外,对于网络上网友总结的心得的学习也有很大的益处。

最后是Web Services的学习,这个其实是把不同的服务统一起来提供一个统一的调

用接口,目前这方面的代表主要是SOAP(简单对象访问协议),对于这方面的学习

我们可以看看SOAP的规范http://wwww3org/TR/soap/,此外Apache提供了soap(

http://wsapacheorg/soap/indexhtml )包可以和Tomcat配合使用,它的学习可

以参看soap包自己的doc。

说了这么多,其实最主要是看doc,然后再看看相关的经典教材。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12461129.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存