自学Java怎么入门?

 我来答
黑马程序员
2020-02-28 · 改变中国IT教育,我们正在行动
黑马程序员
黑马程序员为大学毕业后,有理想、有梦想,想从事IT行业的年轻人改变自己的命运。黑马程序员成就IT黑马
向TA提问
展开全部

自学Java看这一篇就够啦!Java学习路线图分享给你,跟着学习吧!

一、Java基础

JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。

在Java基础板块中有6个子模块的学习:

  • 基础语法,可帮助你建立基本的编程逻辑思维;

  • 面向对象,以对象方式去编写优美的Java程序;

  • 集合,后期开发中存储数据必备技术;

  • IO,对磁盘文件进行读取和写入基础操作;

  • 多线程与并发,提高程序效率;

  • 异常,编写代码逻辑更加健全;

  • 网络编程,应用服务器学习基础,完成数据的远程传输。

  • 学习该阶段,可以完成一些简单的管理系统、坦克大战游戏、QQ通信等。

  • 二、数据库

    数据库不仅仅是Java开发工程师的必学课程,也是其他语言都需要掌握的技能。用于对交互过程中客户的数据进行存储。

    该板块包括关系型数据库和非关系型数据库。

    例如:MySQL、oracle、redis、MongoDB等。数据库学习完毕后,可以将数据存储到数据库中,也可以通过SQL语句从数据库中查询数据,结合Java项目可以实现动态站点的数据的保存。

    技术树

    三、前端技术

    Javaweb阶段包括前端、数据库和动态网页。Javaweb是互联网项目的入门课程,是学习后面高进阶课程的基础。

    首先,我们先看一下前端板块。该板块主要包括如下几个模块:

  • HTML5,网页制作标记语言;

  • CSS,对HTML制作网页进行美化;

  • JavaScript,嵌入在页面中的脚本语言,具备逻辑性;

  • Vue,前端框架,简化了与服务器端交互的操作,用户良好的交互体验是必不可少的。

  • 学习前端技术后,可以完成类似京东、淘宝的前端工程的编写。

    技术树

    四、动态网页技术

    动态网页是中级程序员服务器端编程的基础,是高级框架学习的必备课程,后期学习的框架、服务底层都是基于动态网页技术之上的。

    该板块包括Javaweb核心技术、包括Servlet、Request、Response、Cookie和Session等,通过这些技术的学习可以完成动态站点开发,可更好的完成服务器端与客户的交互,让页面的数据“动”起来,做出小型的应用系统。

    技术树

    五、编程强化

    编程强化是对解决实际问题方面做一个深入的了解和应用,是对JavaSE基础的加强,对后期自动以框架和对一些服务框架的底层理解做支撑。

    编程强化板块主要包括如下几个模块:多线程高级、涉及线程内存、线程通信等;JVM优化,对JVM底层进行调优来提高项目执行效率;NIO,同步非阻塞IO来提高效率。

    学习该阶段,可以对原有项目进行优化从而使程序更快更稳定。

    技术树

    六、软件项目管理

    JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。

    在Java基础板块中有6个子模块的学习:基础语法,可帮助你建立基本的编程逻辑思维;面向对象,以对象方式去编写优美的Java程序;集合,后期开发中存储数据必备技术;IO,对磁盘文件进行读取和写入基础操作;多线程与并发,提高程序效率;异常,编写代码逻辑更加健全;网络编程,应用服务器学习基础,完成数据的远程传输。

    学习该阶段,可以完成一些简单的管理系统、坦克大战游戏、QQ通信等。

    技术树

    七、热门技术框架

    使用Javaweb进行企业级开发是完全可以的,但是开发效率比较低,所以对常用的逻辑操作进行封装就形成了框架,因此框架是企业开发的入门技能。

    热门框架板块主流框架有如下几个:Spring框架,占据统治地位,其生态系统涉及各个方面解决方案;MyBatis框架,使用ORM思想对数据库进行操作。

    该板块学习后,就可以进行真实企业级项目开发了,做出的项目也会更加符合企业要求。

    技术树

    八、分布式架构方案

    随着互联网的发展,业务的复杂性和用户的体验性都需要提高,所以分布式架构出现了。该板块主要讲解的是分布式架构的相关解决方案。

    主要包括如下模块:Dubbo,高性能的 RPC 服务发布和调用框架;SpringBoot,简化Spring应用的初始搭建以及开发过程;Spring Cloud,一系列框架的有序集合,如服务发现注册、配置中心、负载均衡、断路器、数据监控等。

    该板块的学习,可以具备大型互联网项目开发的必备技术和实际经验,为进入BATJ打下基础

    技术树

    九、服务器中间件

    中间件板块是大型互联网项目中必备的。服务中间件可以帮助各子模块间实现互相访问,消息共享或统一访问等功能。其包括远程服务框架中间件,例如阿里(Apache)的RPC框架Dubbo等;消息队列中间件,例如:阿里巴巴开源分布式中间件RocketMQ、高吞吐量消息发布和流处理服务Kafka等。

    学习服务中间件是中级JavaEE工程师必要技术,也是JavaEE架构师必须精通的技术。

    技术树

    十、服务器技术

    不管是使用原生Javaweb进行开发,还是使用框架进行开发,项目最终需要对外发布才能供全世界的人访问到,而服务器板块就可以解决这个问题,所以服务器是项目发布的必要技术。该板块包括虚拟化和web应用服务器的学习,主要包括如下几个模块:Vmware,虚拟机软件;Linux,专门用于服务器的系统;Nginx,集群部署时反向代理服务器;Tomcat,项目发布时主要使用的服务器。

    该板块学习后,我们就可以把开发好的项目发布到服务器中,然后供你的小伙伴远程访问了,超酷!

    技术树

    十一、容器技术

    容器化技术是近两年超级火的一个专题,通过容器化技术可以对环境进行打包,方便移植,大大提高了开发效率。该板块包括容器化技术Docker和其平台管理引擎Kubernetes,其中,Docker 是一个开源的应用容器引擎,可以打包应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows 机器上,也可以实现虚拟化。而Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效。通过该板块的学习,你可以通过上述技术快速搭建环境,节省开发时间,提高开发效率。

    技术树

    十二、业务解决方案

    虽然我们已经具备了基础技术和高阶技术,但是要想与企业开发相接轨,还需要对实际项目的业务解决方案进行探究。而此版块就是在实际业务场景中的真实解决方案集合,常用的业务解决方案有如下:搜索业务场景解决方案、日志收集与分析场景解决方案、工作流引擎场景解决方案、任务调度场景解决方案、地图开发平台场景解决方案、支付开放平台场景解决方案、图表可视化场景解决方案。通过分析实际业务来学习这个解决方案技术集,完全可以达到中级甚至高级工程师水平。

    技术树

尚学堂java学院
2020-07-24 · 百度认证:北京尚学堂科技有限公司官方账号
尚学堂java学院
向TA提问
展开全部

自学java怎么算入门? 衡量标准是什么?

我从个人角度分为三个阶梯: 初学,入门,高手

第一: 初学   (理论知识阶段)

很多同学刚刚入门学习java,看书,或者看视频。这个阶段是积累理论知识的时候,相对比较容易,一个小知识点,信息量少,跟着老师的思路走就可以。

在这个阶段,很多同学学得很快,感觉编程好简单。

随着学习的深入,大多数同学会产生混乱。 为什么? 所有的技术背后都有原理,前面都有应用场景,不同应用场景有不同使用方法。 信息量逐级增加。

信息量逐级增大后,会有什么问题?

  • 学到后面忘记前面。

  • 新技术不断出现,感觉永远学不完。 丧失兴趣或信心。

理论知识阶段,更重要的是理解原理和规律, 知识点的细节记不住可后面查找。学习方法更重要的是 交流讨论,理解和总结。 多问为什么是关键!

第二: 入门  (熟练度)

一个项目从0到1的过程才是最宝贵的,也是初学者提升最大的部分。 但从书本或者视频中,很难学习这个过程。

技术的应用能力换句话说是 技术的分解排序能力, 当遇到一个需求,该如下实现?

基本的思路是 把需求分解成原子操作。 原子操作代表开发当中的基本操作,也就是在知识点当中学到的,比如数据库操作,sql,框架的基本使用等等。

如果能把需求分解为原子操作序列,开发完成只是时间快慢的问题。往往刚刚开始学习编程的同学,不善于或者懒得去思考。毕竟看视频是被动的,分析问题是主动思考。学习只是看看视频,本质上是思考的懒惰。

所以需要找大量的练习和项目案例进行实践!!!

第三:  高手(业务和性能)

程序员是把理论知识组合应用起来解决用户的问题。(或者提高用户的效率)

第三个等级的知识更加多元化,不同行业涉及不同的领域知识,信息量也是增大。

  • 业务解决用户的问题,可以赚钱。

  • 性能用最小的资源,解决用户的问题,可以省钱。

所以在企业开发中,需要考虑更多和成本,时间,用户等相关的问题。

总结:  掌握理论知识后,需要大量的代码去实践,才算入门。

分享下我们的学习路线,供你参考一下!


希望能帮到你,望采纳!

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心池古行技7514
2020-10-10
知道答主
回答量:16
采纳率:0%
帮助的人:3.2万
展开全部

先要有意识学习Java是一个循序渐进的过程,从易到难。所以在学习之前先明确一个系统的学习路线是什么,每一块要学什么知识很重要,我自己也总结了一个思维导图

学习路线

这个图里非常仔细地标出了Java学习路线的主要八块内容,学习过程中切记不要东学一点西学一点,就很容易造成该学的没学会,不该学的也不会的局面。

想要自学Java入门说容易也容易,前提是你有强大的自律性!

1、制定长期可行的学习计划,并严格按照计划学习

2、养成搜集整理学习资料的习惯,如今互联网发达,Java零基础学习免费的视频、资料等等在网上搜索有很多,完全可以合理利用以达到自学的目的,当然还要自己学会判断学习资料的质量。

3、寻求伙伴、老师的帮助!如果有大佬、老师可以辅导是最好的,没有的话也可以结识几个志同道合的伙伴一起学习讨论,相比于自己闷头学习,讨论学习的方法效率更高!

4、刚入门可以只看视频学习,因为这时候的你还不是很了解,看书也起不了多大作用,反倒是看视频,利用与在课堂上课一般的效果,能将知识点听进去。

5、在看视频的同时注意记笔记,你也可以多看几遍视频,在头脑中形成自己的框架,整理成一个思维导图,之后再复习就看思维导图就够了,打基础的时候一定不能求快,踏踏实实最重要。

6、学完一个小阶段就自己尝试实践做一个小项目,把自己学过的内容都用上,加深记忆总结经验,还能获得一定的成就感增加学习动力!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
米拔0g4
2020-05-20 · TA获得超过757个赞
知道小有建树答主
回答量:307
采纳率:83%
帮助的人:35.9万
展开全部

对于每一位才开始接触JAVA的新手来说,先不要管算法和数据结构,大多数简单的程序不需要用到算法和数据结构,所以当你真正需要时再去学习。编程一段时间以后,你就会知道在哪些地方用到他们。

这时知道算法的名字并了解它们的功能,然后动手去实践。当我们在去理解算法并动手编程实践过程中获得成长,如果现在还在迷茫的自学,找不到什么突破口的人来说,这可能是一个硬伤!所以找一个经验丰富的老师是很重要的哟,再加上同学一起学习怎会是难事?如果你有强烈的学习欲望。

第一:我们常常都说要先预习,所以这是肯定的,如果你接收能力非常强的话就可以不预习。如果只是一般最好提前预习一下,有什么不懂的做记号,在老师讲的时候就会更清楚一些。这是很关键的。可以帮你提高很多的。

第二:在自己学习或者跟着老师学习完以后。一定要理解知道是怎么回事,在自己完成一些习题,跟着老师或者自己看的例子。不懂一定要问,一定要问和与自己的伙伴交流沟通,一起讨论这是你学习成功的一大法宝。只有通过自己的思考写出来的代码才是自己的,你死记硬背下来的代码肯定不是你的。学程序一定要讨论。不管是未来你要从事产品经理还是做项目,讨论是程序员必须具备的东西。

第三:做练习时最好是独立完成。不会的才采用第二点。动手操作的过程中将自己不会的东西记录下来。然后针对性的找人指导。如果你还是一个人在奋战与程序界,如果你想真正的学好,精通JAVA,可以跟着经验丰富的师资团队、JAVA课程研发者一起学习和交流。每天也能够一起学习更多最新的java项目实战。

第四:多思考,多学习,多问,多做一些逻辑方面的题。因为学程序逻辑是最重要的,英语好不好和学好程序没有任何关系,所以不用太在意这个,努力去学习去做,选对方向,找对人帮助,你就能够学好。

第五:开始学习时就从最简单的程序入手,不要急,比先写一引起加减法,比较这些题。有助于你的理解。

建议大家如果还有多的时间就多看一下别的语言,看一下有什么相似点,总结一下,对你编程来说也有一定的帮助。

Java不是一门独立存在的一门编程语言,它与其他语言都有共同之处也有不同之处。技术的联系都是千丝万缕的。就好比现在Java应用最多之处恐怕就是WEB,那么你就需要了解前端,也就是我们常常说的html等等。所以Java所涉及的技术并不是单一的,你应该要学习Java所涉及的基础知识,对于“CLASSPATH要怎么设置啊”、“跪求JDK下载地址”等等问题,你不该问,因为网上太多答案了,甚至换个角度说,你是不是还不适合直接学习编程?

1)买本Java的书。

关于Java面的书其实有很多,但是并不是每一本适合你自己,其实书不在于多,在于是否适合自己,你自己是否看得懂,此外要求希望比较新版本书籍,因为技术每天都在更新。

2)准备Java学习环境

对于Java初学者,不建议用IDE工具,通过一行行的代码,您会遇上很多问题,只有这样才能培养你怎么去解决问题,并加深你对Java的理解,为日后编程生活积累丰富的知识。

3)Java基础学习之路

Java的体系分为Java SE、Java EE和Java ME,Java的敲门砖就是Java SE了,也就是你要入门学习的内容,不论你日后是选择哪个体系领域作为发展方向,你都得从Java SE起步。

4)JavaEE学习之路

学完Java SE,别以为掌握Java,那只是完成“万里长征”的第一步。接下来选择学习Java EE或是Java ME(或者你还想不断深入学习Java SE,只要你喜欢,你可以一直深入下去,就像前面所说的,我不会讲到Java ME的学习);估计选择Java EE方面的学习者会多一些,Java EE所涉及技术非常多,考虑到初学者的接受程度,我会尽量从最常用的角度来介绍。

学习Java EE,在开发环境上不建议再用文本编辑器,我感觉Eclipse比较适合初学者,个人也非常喜欢Eclipse,如果你现在也在学习Java,在入门学习Java的过程当中缺乏系统的学习教程,或者说缺乏一个交流技术的地方,你可以申请加入我的Java学习交流qun:前面输入是:三九零,最后输入是:七八一四。里面还有我这几年整理的Java学习手册,面试题,开发工具,PDF文档教程,你可以自行去下载。如果你喜欢用别的IDE如NetBeans,也没什么问题,关键看个人喜欢。

三、学习JSP/Servlet

在Java EE中,要学习JSP/Servlet(结合Tomcat、MySQL)技术,你还得掌握HTML基础知识,最好再掌握些Java、CSS的技术,而了解XML是必不可少的。在学习JSP/Servlet过程中,应该结合学习 JDBC、数据库开发技术,毕竟绝大多数Java Web项目都是和数据库紧密结合的。

四、 学习数据库开发技术

数据库技术是做业务系统必备技能,Java Web开发人员最低程度都应该掌握SQL语句的使用!你可以结合实际需要,选择一种数据库,并花大力气掌握其开发技术。

记住,学习数据库开发技术和学习Java EE,是相对独立的,你可以在学习JSP/Servlet的同时,学习数据库开发技术(如SQL语句等),或者先学数据库开发技术,之后再学习JSP/Servlet。

五、Java之外的学习

等你对Java EE有些感悟的时候,你自然就会想不断扩充你的知识层面,那么到这个时候你可以学习Spring、Hibernate,以及各种Web框架。随着技术以及经验不断积累,你会逐步分析、设计等更高层次的知识,这时候,你可进一步学习相关的UML、模式等知识。

最后,给大家一些建议:实践是学习任何一门技术必修课,技术是否学到家,完全要在实战上说明一切,Java学习没有捷径可走,每天只能多练,才能真正学透一门技术。。。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友15e1e69
2019-07-30
知道答主
回答量:4
采纳率:33%
帮助的人:1.4万
展开全部
作为过来人,我说说我的建议吧。首先,你先要把Core Java部分学了,包括什么集合,线程,IO流,网络编程等等,基础要打扎实。然后就是Web部分,包括Servlet,JSP,Tomcat等,这时你应该找些小项目练练手,增加成就感。后面就是框架部分,SSM,SpringBoot等,框架源码也顺便读读,这样你能知其然而知其所以然。最后,再做一两个中大型项目,为找工作铺垫。
自学的过程比较漫长和痛苦,能坚持下来的人估计不多,我一开始想着在学校宿舍自学,坚持了1个月,效果不好(主要是没有学习环境,周围的舍友都在玩游戏,看电影什么的),后来就报了线下培训班,选了很多家,最好决定去传智播客,原因是自学的时候也是看传智的视频,觉得老师讲得不错。大概就这些,我的最后建议是,有自制力的就自学,否则还是报个班吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(21)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式