不少JAVA自学者都会问:我应该怎么学习JAVA,正确的学习方法是什么?今天小编为你们盘点一下:html
一、学习的基本路径 前端
首先创建好开发环境很是重要,工欲善其事,必先利其器。作任何开发,首先就是要把这个环境准备好,以后就能够去作各类尝试,尝试过程当中就能逐渐创建信心。初学者每每在环境配置中被各类预想不到的问题弄得很沮丧。web
创建起来环境了,改变世界就靠你的代码了。学习一门编程语言没有太多的诀窍,你可能能够去找一本比较好的经典的入门书籍,如今网络上也有很是多的资料,图文或者视频均可以,根据我的喜爱选择。最重要的练习,熟能生巧,在不断的练习中去加深本身对程序语言的理解。数据库
接下来你须要了解这三个术语,叫SDK、API跟Lib,分别表示软件开发套件,应用编程接口和库。这三者之间其实有必定的联系,或者是交叉。整体来讲,它们都是给咱们提供的一些封装了底层功能的基础设施。作Java开发的话,这些东西一般体现为咱们所常常说的“框架”。事实上要成为一个资深的Java开发者,对各类API和框架的学习,多是花时间最多的一个地方。编程
固然你也不可能把全部API或者SDK种的全部内容彻底弄懂。在软件开发中也有二八原则,少数的API可以胜任开发中的大部分场景。因此你只须要掌握这些关键部分,当在新场景下遇到不能解决的新问题时,再去查看帮助文档。因此帮助文档的阅读也是技术学习的一个关键因素。了解了基础原理以后通常就能上手开发了,帮助文档能够帮助你在实践中学习。设计模式
二、三个神器浏览器
三个神器,对于软件开发者来讲很是重要。缓存
第一个Google,虽然由于各类缘由的话有时候咱们访问不了,可是这基本上是能够去寻找技术资料最好的方式。网络
第二个是Github,以前提到过库的概念,Github就是一个能够找到大量第三方库的地方,那是别人给咱们封装好的能够复用的代码。比方说造一辆汽车的话,咱们常常不要本身造轮子,而Github上能够找到不少优质的轮子,这些轮子仍是免费(代码都是开源的),咱们应该尽可能利用它们来拼装本身的汽车。架构
第三个是StackOverflow网站,在这个问答网站上你遇到的几乎任何开发问题都能快速找到答案。
三、Java Web全栈开发的推荐学习内容
简单总结一下,大概包括下面这些内容。每一部分均可以细化成不少知识点,这只是一个粗略的罗列。把它当作技术地图就行了。
开发环境的创建与项目管理:Eclipse、Maven和Git;
Java编程基础:基本语法、面向对象特性、Java8新特性、更高级库(好比Guava)的使用等;
前端开发技术:HTML、CSS、Bootstrap和JavaScript基础;
Spring基础:依赖注入IoC、面向切面编程AOP、SpringBoot;
MVC框架:Spring MVC、Struts等,包括URL路由、模板、表单、Session、拦截器等知识;
数据访问:关系型数据库、JDBC、Spring JDBC、事务、ORM框架(MyBatis,Hibernate、JPA);
成熟应用的关键功能实现:邮件发送、异步任务、缓存、日志等;
应用的测试和部署。
四、JSP/Servlet的相关内容
最后专门提一下JSP和Servlet,虽然如今各类成熟的MVC框架已经让Java Web开发基本不多使用JSP和Servlet的原生功能了,基本都作了一层封装。可是这部分基础知识建议初学者仍是要认真学习。
1、Web基础,HTTP协议:
C/S模型,浏览器访问网站过程
URL基础知识
HTTP消息——请求和响应
处理HTTP请求的应用程序
Servlet/JSP简介
2、Servlet
Servlet容器,Servlet处理机制,Servlet生命周期
部署Servlet
ServletContext, ServletConfig
Filter, Event Listener
3、JSP
表达式,scriptlet, declaration
在JSP中访问Java类
JSP内置对象
4、处理用户输入
HTTP方法——GET v.s. POST
读取表单数据
5、构建MVC应用
Servlets/JSP存在的问题
MVC设计模式
使用RequestDispatcher
在Servlets和JSP中传递数据,EL表达式
6、使用JSTL做为模板
JSP Tag Lib
Core Tag(if, loop)
Function Tag(string, fmt, utils)
7、Session
Session&&Cookie基本概念
经过Cookie记录用户状态
使用Session跟踪用户
五、更进一步
分布式、深刻Java虚拟机、针对不一样场景的Java技术框架,到这个阶段已经不只仅是Java的学习了,而是大型应用场景的技术积累、架构设计的精进了,感谢网友的思路分享,看到这里是否是思路更清晰了呢?