开发者学堂课程【Java 面试疑难点串讲1:面试技巧及语言基础:如何学习 Java】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/24/detail/522
如何学习 Java
内容介绍
一、课程学习顺序
一、 课程学习顺序
到底 Java 该怎么学习?
实际上随着时间的推移会发现,所需要的技术点是越来越多了。
Java 有着非常庞大的内容,因为现在的 Java 的应用越来越广泛,在实际的所有的项目开发之中,放眼你能见到的大型项目,基本上都有 Java。
Java 的发展如果要从实际的开发来讲,可以胜任所有,但是看该如何进行选择。
·Java 的核心本质在于 MVC 设计模式上;但是在现实的开发之中,如果以理想状态为例:
-JSP、Servlet 是技术的实现本质,但是这种开发模式过于琐碎;
-那么在实际的工作里面就需要将这些琐碎的内容进行重新组合,提供一个个具体的工具,而这些就是开发框架的作用;
·本质技术:
-JSP、HTML、CSS、javaScript:这些内容是进行前端开发的;标准的前端开发需要三位人:
-前段UI设计:一定要会使用 AI,设计美工,美工设计完成的图,需要转换为 HTML、CSS
-前端工程师:javaScript 编程、所有的页面的动态效果,例如:动态加载、一些 DOM 处理操作;
-WEB(JSP、PHP、Node.JS)工程师:是负责服务器端生成代码的部分。
-控制层:实际上也属于前端 WEB 开发人员的职责;
-业务层:是完全见不到前端代码的,它在进行设计的时候往往只会考虑操作的本质;
如果以实际的开发为例,你们所应该考虑的是业务层的实现,但是这样的工作往往会出现在极大的开发公司中。
但是我们肯定要掌握全能技术。
第一阶段:基础阶段,在实际的面试之中,70%的题目都从这里出;
·SQL 语句:查询、更新、建表、约束、存储过程;。
·Java 基础:基础语法大家都知道(数据类型、if..else、while、for,别搞复杂的)、面向对象(接口、抽象类)、常用类库、Java 类集、Java io、JDBC、DAO 设计模式。
·JSP 开发:JSP+DAO、MVC 开发(EL、JSTL)。.
·自我总结:验证自己基础阶段过关:单表 CRUD 前端使用JS验证)+分页(如果有本事,分页自己写)+上传,做到不用思考,直接写代码,你需要不断来发现开发中出现的问题。
-对于软件的开发而言,最为重要的部分就是进行偷懒,重复代码的设计解决。
-观察问题的两个点:时间复杂度、空间复杂度。
第二阶段:中级开发阶段,主要是针对于代码的设计进行完善;
性能: Ajax 这种异步的处理操作,可以提升页面执行效果,由于 Ajax 技术出现,真正出现了WEB2.0的时代,也就出现大数据的时代;
·XML 与 DOM 解析,掌握了 DOM 解析,才掌握了 JS;
·jQuery 开发框架:简化所有的代码开发,隐藏了所有的复杂的 DOM 处理过程、JSONP;
JSON 数据操作:清楚 JSON 与 XML 的区别,以及 JSON 的使用;
·选学:HTML、GIT、SVN、Maven;
·自我检测:单表 CRUD,想办法使用 jQuery +JSON 简化 Ajax 异步操作,如果可能自己实现无刷新 CRUD,继续观察代码有哪些问题。
第三阶段:框架开发,完全是针对于控制层、业务层、数据层的改善;
做代码时要清楚以下几点:
·Struts 2.x ( Struts 1.x选学):
控制器、拦截器、实现原理,如果有时间可以与 Struts 1.x进行一个合理的比较;本质上所代替的只能够是一个控制器,也就是说此时业务层和数据层的问题都没有正常解决;
·Hibernate:解决数据层开发设计、单表 CRUD、一对多、多对多、缓存、一定要可以理解 Hibernate 原理分析,可是也一定要清楚 Hibernate 可能存在的性能问题是如何产生的,以及 Hibernate 本身的缺陷;
·Spring:IOC 与 AOP(资源、表达式)、SSH 整合,并且可以使用 SSH 整合进行项目开发;
·MyBatis:要清楚 MyBatis 开发的好处,以及与 Hibernate 的区别;
·Spring MVC:清楚的认识到与 Struts 2.x 的实现区别。
·Spring MVC + MyBatis 的开发与 SSH 整合的开发都必须掌握。