AVA学习需要什么基础
随着Java这种语言的广泛运用,越来越多从事开发的人员开始学习接触这门课程,那么,Java学习需要什么基础?Java刚刚入门应该接触哪些知识呢?Java入门应该学习什么内容呢?
首先要说明的,JAVA有三个大的方向(J2se,J2me,J2ee),走不同的方向可能学的技术和要花费的时间可能有所不同。我是搞web方向的(J2ee),我学Java除了以前一些简单的C语言语法外,没有太多的编程基础,我以前一直认为编程要有很强的数学和英语功底,现在看来这也不是必需,只要有一定的逻辑思维能力和掌握一些常见的计算机词汇,还需要具备一定的自学能力,因为软件开发工作是需要不断学习的。
其次,我想说下我的学习过程,我在网上下载了JAVA教学视频,将Java基础从头到尾看了一遍,将上面的代码基本上跟着敲了一遍,然后我把Java基础的书看了一遍,一本书看完包括上面的习题大概做一遍差不多一个月。这时你对Java的语法和基本知识应该都有比较充分的认识和了解了。
然后,再做一些小项目,跟着视频上的步骤做,最好能自己独立再写写,能写多少是多少。一般网上比较新的免费的项目库很不好找,因为项目库是需要实时更新以保证适合市场需要的,而它的升级和更新是需要钱的,所以去报一个培训中心利用它强大的项目库进行实战操作是个很好的选择。
操作一段时间之后,你对Java已经有了一定的感觉,就要开始选择你的发展方向了。我选择了J2ee,如果你也是想走这条路,你可以接着看关于J2ee的视频,先是html+Js+css,然后Jsp+serverlet,再看struts+spring+hibernate等一些框架。同时可以看一些大的培训机构的关于设计模式的视频,最好是IT牛人录制的,当然数据库也得学下,然后加上做项目的经验累积,半年就差不多可以出去工作了。
如果你做其他方向的话我不是很了解。再说下我个人的看法,J2me和J2se好像前景没J2ee好,不过我有同事是做android平台开发的,这个不需要J2ee的知识,你可以去买本android的看看,这个方向貌似很有前途,你应该也常听说android平台的手机,如果走这方向可以再学一下linux知识和c的知识,因为这个平台底层是这些,这也不是必要。
说了这么多希望对大家能有所帮助。最后再说一句,学东西,最重要的是动手,只有动手做了才能深深的理解,牢牢的记住。
由于Java开发涉及到比较多的领域,每个领域需要具备的知识结构也是有所区别的,所以就需要根据领域进行分别阐述。由于目前Java主要的应用集中在Web开发、移动互联开发和大数据开发三个领域,所以下面就从这三个领域进行分别介绍。
Web开发领域在Web开发领域,Java的主要知识结构包括三个部分,分别是Java基础、Java分布式开发和Java企业级开发。Java基础部分知识是所有方向都需要掌握的,也是学习Java的一个难点,包括Java的面向对象概念、面向对象编程过程以及异常处理、IO、集合和多线程等内容,基础部分需要重点掌握的概念是封装、继承和多态(这部分细节可以参考我之前在头条写的文章)。
Java分布式开发是学习Web开发的重要阶段,这个阶段要了解分布式开发的基础,并采用分布式的方式完成功能的部署。Java的分布式开发可以从了解RMI、Hessian(可以跨语言使用)、Burlap(XML格式)、HttpInvoker、Web service这些方式开始。
看一下Hessian的实现过程:
Java的Web开发还需要学习一些前端的内容,包括HTML、CSS以及JavaScript相关内容,建议系统学习一下JavaScript语言。
Java的企业级Web开发有两套方案,一套方案是JavaEE,另一套方案是轻量级框架,代表技术是Spring(SpringMVC、SpringBoot、SpringCloud等)方案。由于目前JavaEE已经交给Eclipse基金会管理了,并更名为Jakarta EE,未来的发展还有待观察,所以目前更多的程序员选择Spring方案。
移动互联领域移动互联领域的开发除了要学习基础的Java知识以外,还需要学习Android开发相关知识和云计算相关知识。
Android开发包括几个大的内容,包括Activity、Intent、Service、Fragment、SQLite等内容,Android开发需要学习大量的图形组件开发知识,以及对应的事件处理方式,总的来说,Android部分的内容虽然比较多,但是难点并不高。看一个简单的例子:
移动互联开发还需要学习一些云计算方面的知识,因为移动互联开发往往需要进行云端部署。通常情况下,移动互联开发也涉及到后端的服务开发,但是往往后端服务开发都由Web开发人员来完成。Android的后端服务可以使用Java、Python、PHP等语言来开发,可以根据具体的应用场景进行开发语言的选择。
大数据领域目前Java在大数据领域也有广泛的使用,大数据开发涉及到的内容比较多,也有一定的难度。由于大数据开发有诸多岗位,不同的岗位有不同的知识结构要求,总的来说集中在操作系统、大数据平台、算法设计与实现等几个部分。
大数据平台目前主要以Hadoop和Spark的应用比较多,Hadoop平台有健全的生态,以及大量成功的案例。但是,Hadoop平台配置比较麻烦,需要一个系统的学习过程。
我做Java开发多年,目前主要的研究方向是大数据和人工智能,也在带相关方向的研究生,我会陆续在头条写一些关于大数据方面的文章,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。
如果有大数据方面的问题,也可以咨询我。
谢谢!
java只是一门编程语言,客观的说,零基础也可以学。不过有英语基础要好许多,毕竟绝大部分变量、关键字等都是用英文表示的;还有就是数学好,逻辑思维能力强学习编程更容易。
作为零基础的兴趣爱好者,学习java可能要比一般人付出的努力多一些。只要自己有学习的动力和自学的能力,一切都不是事,网络上关于java的学习资料非常多,很多编程论坛、学习网站,还有很多网站是免费在线视频教学的,自己制定计划跟着网上视频学习,或者自己下载电子版书籍以及相关教学视频学习。实在找不到资料的可以私信本人,本人具有全套学习资料,可以免费贡献给大家。
学习路线是:先学习java SE,也就是java基础部分,然后java web,SSM框架实战开发;若是打算学习安卓APP开发,可以学完java基础部分直接学习安卓方面的开发内容。
总之,学习编程一定要多敲代码,多练习,熟能生巧,实践多了慢慢就掌握了。