如何系统的学习JAVA?

用户2438251005281


很开心看见有其他小伙伴一起来学习Java。我认为在互联网高度发达的今天,学习Java可以考虑以下思种方式,而不是局限于某一本书。

第一种:视频教程的方式。

优点:通俗易懂,老师讲解过程中不一定全是书面语言;样例丰富,讲解老师可能会穿插介绍学习中的坑,和需要注意的点。

缺点:速度教慢。

总结:建议纯编程小白采用这种学习方式,老师语速太慢可以调高视频播放倍数。推荐中国大学慕课或者哔哩哔哩等平台,简单搜索即可找到优质的免费教学视频。

第二种:文字版学习网站。

优点:随时随地可以学习,你甚至可以利用好上厕所的无聊时间。打开手机即可。网站一般边讲解边有代码让你实际运行,你可以边看讲义,边跑代码。

缺点:不容易形成系统学习;学习过程中可能受到网站本身广告的影响。

总结:推荐 廖雪峰的官方网站、菜鸟教程等。

第三种:笔记、经验分享社区。

优点:当你边学习的时候肯定会一边写代码。学习者可能遇到视频中、讲义中没有提到的问题。甚至是某款软件的安装或者使用的问题。这个时候你利用搜索引擎进行简单搜索,就能借鉴前人的经验。

缺点:内容质量参差不齐。

总结:适合自学时遇到问题的时候使用。推荐CSDN,或者其他博客。

第四种:专业的书籍

优点:当你学习了一段时间之后,是时候准备一部类似于字典的工具书了。当你不会某个函数,某个对象的时候,你可以拿起你的这本工具书。主要用途是方便忘记的时候查阅。

缺点:某些书籍的文字描述晦涩难懂,阅读体验不是很好。

总结:推荐《java从精通到入门》。其实其他书也推荐,简单搜索,出来的书目质量都不会太差。

----------------------分割线--------------------------

总结:可以看见,本回答不完全符合题主的提问。但是我觉得这是我学习Java过程中十分常用,也十分受用的学习方法。另外,想学习好一门编程语言,离不开大量的练习。祝题主学习愉快♥。


十分科技


本人10年开发培训经验,期间经历了Java Web,Android,H5,大数据,PHP等多个不同的方向的开发,也做过软件培训公司的金牌讲师,很有兴趣回答你这个问题。

Java发展到现在,经历了25年的技术沉淀,在行业内已经积累了大量的技术资料,学习路线其实也很明确了。

Java基础学习路线:

从第一天Java介绍,环境搭建学起;

然后就是数据类型,条件分支,循环,方法,数组,集合,面向对象,字符串,线程,IO流,网络操作等;

数据库部分:

MySQL等SQL规范,JDBC操作等;

前端部分:

html,css,js,jquery,ajax,json等,后端程序员也得掌握前端内容哈;

web部分:

servlet,jsp,过滤器,监听器,拦截器,ssm,ssh,springboot框架等;

分布式部分:

dubbo,zookeekper,springcloud,各种mq,集群,分布式事务,锁等;

工具及架构部分:

maven,git,jenkins,docker,linux服务器,redis,mq,es,分库分表,调优技巧;

然后如果你要走安卓方向,那么还要学习Android的开发技术,Activity,Service,BroadCast,Layout,View等等.

下面是我给你列举的一些Java学习方向,仅做参考吧。

我从事互联网开发10年,主要的研究方向集中在Java web微服务架构领域,Android移动端研发,HTML5前端方向,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信你一定会有所收获。


一一哥Sun


学习Java.首先要学习J2SE,它是Java体系的基础,也是重中之重。能重视基础,把基础学扎实,才能在这条路走的更远。

J2SE分为几个方面去学

1.真正理解面向对象的优势,为什么Java不是面向过程

2.掌握Java语法基础,包括集合体系,多线程,IO,网络编程,异常处理等等。

以上最好的学习方法就是看书,多看多记

学好了SE,就要开始学习EE,web等。

这一部分要学习java的框架知识,最为重要的是spring。学习框架最基础的是会使用,然后到会看源码,最后到会改造,就比较厉害了...

这一部分主要是要多练,多写Demo,多测试,多看源码。要能熟练搭建JavaWeb的框架

最后给你推荐一些Java的书籍,书名比较多,拍张照片



J小劲


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

一、Java基础

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

全网最新的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学习路线图

就问你丰不丰富吧。


433足球俱乐部


其实无非就是自学和培训两种学习方式,自学的话时间比较长,你需要准备系统的学习课程,实战项目,要和企业相结合,最好有人指导,而且要有比较强的自制力和耐心,坚持学习,就业的时候有相关的人脉,那就完全没问题的。如果条件不足,那就可以走培训,选择一个口碑好的培训机构,尽量多对比,选择老牌机构,更靠谱,进去只要好好学就可以,其他不用太操心。

不知道你现在基础怎么样,我也是学习这方面的,目前在百战程序员系统的提升。之前是老师给我们推荐的高淇老师的免费java300集,讲的确实不错,然后一直学习他家的资料,做了十几年了,java一直是王牌,而且课程是结合项目学习的,企业合作也是实实在在上门招聘的,你也可以关注一下,可以先通过免费资料了解下教学风格,多加对比。



我是双鱼座2020


Java学习一般有一下内容

1、Java开发:打好Java语言基础,深入理解Java面向对象核心思想,掌握Java集合框架、多线程、IO、网络编程以及J2SE8.0新特征

2、Web及移动前端页面、Java Web开发技术、jQuery+AJAX、MySQL数据库、web应用开发实战

3、SpringMVC框架、MyBatis框架、Spring框架整合、Hibernate框架、Struts2.0框架、企业开发框架实战

4、Java常用组件、Maven项目构建、SVN\\GI、T源码管理、Linux入门、Oracle数据库、NOSQL、高发并架构体系

5、企业开发实战,真实企业项目案例逐项实战,掌握需求分析、数据库设计、详细设计、团队合作。


小墨墨爱音乐


分享一个学习路线,或者可以看看优就业的网课

第一:先学习Java的核心库(JavaSE)

JavaSE的内容包括:环境搭建、基础语法、面向对象、数组、集合、常用类、IO流、反射机制、网络编程……..

第二:MySQL数据库

搞定一门数据库相关的课程,例如:MySQL、Oracle,搞定一个就可以了,目前互联网公司,例如:京东、阿里等,他们都在使用MySQL,所以建议大家学习MySQL数据库,小巧轻盈,免费,由于互联网公司的项目访问量比较大,所以一般会搭建数据库的集群,可以一个数据库不够,所以需要搭建数据库集群,为了应付高并发。

第三:WEB前端

以后从事Java开发,从事JavaEE开发,主要开发的系统结构是B/S结构的,B指的是Browser,S指的是Server。要开发这种系统,B端要会,S端也要精通。WEB前端的学习就是学习B端技术。包括:HTML 、CSS、JavaScript(JS)、jQuery框架(底层对JS进行了封装)…

第四:WEB后端(JavaWEB)

WEB后端其实可以是很多种不同的编程语言,例如:PHP、C、C++、Java,他们都可以进行WEB后端的开发,我们既然选择了比较火爆的Java,那么我们学习的后端一定是基于Java语言实现的,包括:Servlet、Filter、Jsp、EL、JSTL、MVC架构模式、数据库连接池(阿里巴巴的Druid连接池)、代理模式(动态代理)。另外后端学习了之后,还要学习一个异步编程技术AJAX。(完成网页的局部刷新,AJAX其实不属于后端,是前端浏览器上的程序。)

学习到这里为止,表示Java基本/基础的技术已经学完了。但是这些最基层的技术在实际的开发中不会使用的,一般为了开发效率,都会使用大量的提前封装好的框架。

第五:最好能够停留下来,做一个项目。

这个项目最好能将之前所学全部串起来。(对以前的知识点进行巩固。)

这个项目最好是基于:Servlet + Jsp+AJAX+jQuery+MySQL….

在这个项目的开发过程中:大家一定要记住,目前比较好的项目自动构建工具:Maven是一定要精通的。还有一个就是团队协作开发:Git/SVN是一定要会用的。(目前使用Git比较多一些。)

第六:学习高级框架

Spring、SpringMVC、MyBatis(持久层框架,这个框架互联网公司使用比较多,因为互联网项目需要进行SQL优化,MyBatis的SQL优化很方便,所以大部分都是使用MyBatis)

Struts2(很少使用了,使用这个的肯定是很老的项目)、Hibernate(传统企业,还有政府等可能会使用Hibernate。)

SpringBoot(新项目大部分使用的都是boot了。所以在项目中遇到还在使用SSM的一般都是遗留项目。)

当你走到这里之后,基本上你可以出山了。

第七:最好能有一个大型项目是使用框架来完成的。

SpringBoot做一个项目。

Spring SpringMVC MyBatis做一个项目。

这个项目最好是找几个人搭伙做一下。体验一下团队协作。(尤其是使用一些协作的工具。怎么沟通,怎么写日报,怎么开会,怎么使用Git,等等….)

第八:学习一些分布式相关的一些技术, 能够应付高并发的一些技术,例如:分布式框架Dubbo、SpringCloud、MQ、Nginx、Redis…..


汉武帝在武汉加油


学习java除了要有一定的自学能力外还需要有好的学习资料。我们老师之前给我们分享了百战程序员高淇老师的java300集资料,是最全的java入门资料。资料是分小节进行学习,每个视频在10-20分钟不等,学习的时候不会出现技术点的堆砌,也可以灵活安排时间学习。

这个课程从最基础的语言发展史到基础语法,再到小游戏项目实战,可以将自己学到的东西现学现用,更能牢固的掌握。看这个资料学习,你一定会快速的入门。


分享到:


相關文章: