话不多说,来进入我们今天的正题:
新手该如何一步步的学习 Java?
> 如果真的想学Java,最好要循序渐进,有章有法的学习它!
今天小慕就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容。
首先,给大家分享一张最新的以企业岗位需求为导向 Java工程师技能点图
根据 Java工程师技能点图,我们分为四个阶段:
第一阶段 :Java零基础入门
阶段一配套视频教程
- 2024版 Java工程师
第1周 Java基础夯实-环境搭建与语法入门
万丈高楼平地起,地基打的结实,未来才走的更远,本周的学习目标就是帮大家打好语法关
课程安排:
1、Java基本概念介绍
2、Windows和Mac下开发环境搭建
3、数据类型、变量和常量的使用
4、Java中多种运算符的应用
5、选择结构的执行流程与应用
第2周 Java基础夯实-循环、数组与方法
地基打的牢,大楼盖的高,本周的学习目标是掌握本周内容可以进行简单的程序逻辑开发。
课程安排:
1、基础语法综合案例——数组移位与统计
2、while、do-while和for三种循环结构的使用
3、嵌套循环的应用
4、break和continue语句的特点及应用
5、如何进行程序的调试,debug的使用
6、一维数组和二维数组的应用
7、Java自定义方法和方法调用
8、大作业——学生成绩管理
第3周 Java基础进阶-面向对象之封装与继承
在Java的世界里,万物皆对象,那什么是对象,如何面向对象编程?没有对象是否可以编程?本周将带你走入Java对象的世界,领略面向对象的编程思想,并学会用面向对象的思想进行程序开发。
课程安排:
1、封装综合案例——学生信息管理
2、类的定义和对象的创建
3、理解构造方法的概念,并进行应用
4、封装的特点,应用代码实现程序的封装
5、包的创建和导入
6、静态变量和静态方法的应用
7、大作业——部门员工管理
8、继承的概念和特点,父类和子类的概念及应用
9、方法重写的特点及使用
10、通过super关键字对父类方法进行调用
第4周 Java基础进阶-面向对象之单例模式与多态
上周大家已经简单了解对象,并会使用面向对象思想进行简单的程序开发,但面向对象就只有这些知识吗?本周将带大家掌握更深入的面向对象知识,并学会用面向对象思想开发更复杂的应用。
课程安排:
1、所有类的父类Object类的使用
2、使用final关键字定义最终类
3、现阶段开发中涉及到的常用注解的使用
4、单例模式的定义和使用
5、懒汉模式和饿汉模式的特点及代码实现
6、向上转型和向下转型的概念和应用
7、接口和抽象类的定义和使用
8、成员内部类、静态内部类、方法内部类和匿名内部类的应用
第5周 Java基础进阶-异常、包装类与字符串
工具类是Java为我们提供的拿来就用的可复用的“轮子”,工具类的使用是实际开发中非常重要的技能。本周将带你系统掌握异常、包装类与字符串等常用工具类的使用方法。
课程安排:
1、使用try-catch-finally处理异常
2、理解throw和throws的区别,会使用自定义异常和异常链
3、包装类的基本使用,理解装箱和拆箱的概念
4、字符串处理类String和StringBuffer的基本使用和应用场景
第6~7周 Java基础进阶-集合、泛型、多线程、I/O与综合案例
手里的工具越多,解决问题时的办法才越多。本周将结合案例,让大家学会更多的常用工具类–集合、泛型、多线程、I/O流等,为后续的项目实战打下坚实的基础。
课程安排:
1、阶段综合案例——多线程下载器
2、JDK不同版本的新特性—基础篇
3、泛型的使用,包括自定义泛型类和泛型方法
4、线程的创建,理解线程的生命周期
5、线程同步的使用和如何进行线程间通信
6、使用字节流和字符流进行数据传输
第二阶段 :Java数据库开发与实战
第二阶段配套视频教程
- 2024版 Java工程师
第8~9周 数据管理必备利器-MySQL
互联网项目什么最重要?数据,数据如何管理,如何更安全?这就不得不用到数据库,本周将带大家一起玩转主流数据库-MySQL。
课程安排:
1、根据数据库规范设计数据库
2、数据库的创建、表的创建和修改等操作
3、数据表的增删改查等基本操作
4、数据库的数字、日期时间、字符等常用函数使用
5、事务的ACID属性和隔离级别
6、SQL文件的导入和导出
第10周 Java与数据库连接的桥梁
上周我们学习了数据库的知识,那如何用Java代码操作数据库呢?以及有没有更高效的方式操作数据库?这将是本周学习的重点。
课程安排:
1、xml基础语法以及约束文件
2、使用JDBC实现数据的增删改查
3、使用PreparedStatment对数据进行预处理,防止SQL注入漏洞
4、数据库连接池Druid和C3P0的使用
5、使用Apache的数据库工具类DBUtils简化代码开发
第11周 Java高级编程
本周将带大家快速学会如何使用Maven进行项目管理,并一起解锁一些高级的编程知识-工厂模式,反射,Java8新特性-Lambda表达式,Stream API等。为后续基于框架的开发打好基础。
课程安排:
1、Maven的常用命令
2、在IntelliJ IDEA和Eclipse两种开发环境下创建Maven项目
3、工厂模式中简单工厂和工厂方法的特点及应用
4、反射的基本概念和四个反射类Class、Field、Method、Constructor的使用
5、Lambda表达式的基本语法
6、Lambda表达式的静态方法、实例方法、对象方法和构造方法的的引用
7、Stream API的创建、中间操作和终止操作
第12周 Java必知必会框架入门-MyBatis
实际项目大部分都是基于框架开发,这将极大的提升项目的开发效率。因此非常有必要尽早的学会各种主流框架,首先我们学习的第一个框架是Mybatis。通过MyBatis的学习,将极大的提升Java与数据库交互的效率。
课程安排:
1、MyBatis开发的基本流程
2、MyBatis参数传递
3、MyBatis多表关联查询
4、使用logback进行日志管理
5、使用动态SQL语句进行稍复杂的逻辑开发
6、MyBatis一级缓存与二级缓存的概念和应用
7、MyBatis对象关联查询
8、使用PageHelper插件进行数据分页
9、使用MyBatis进行数据的批量插入和删除
10、MyBatis常用注解
第三阶段 :从网页搭建入门Java Web
第三阶段配套视频教程
- 2024版 Java工程师
第13~14周 前端编程必备三剑客——HTML、CSS与JS
Web项目大多都有精美的网页,这些网页都是用前端技术实现的,本周将带大家学会前端编程必备基础-HTML,CSS,JS,并最终带大家开发一个好看的网页!
课程安排:
1、HTML的基本结构和字体、标题、列表、图片等常用标签的使用
2、表格和表单标签的使用以及常用属性
3、CSS的基本使用和常用样式
4、CSS的各种选择器及其应用
5、浮动和定位的使用
6、使用盒子模型进行页面布局管理
7、JavaScript变量、运算符、程序控制语句等基本语法
8、JavaScript常用函数和自定义函数
9、JavaScript数组的基本使用
第15~16周 前端综合案例实战与前端火热框架VUE3入门
上周我们学习了如何搭建一个网页,那如何让网页可以动起来,可以有特效呢?本周将带大家为网页增加特效,动起来!并结合所学知识,实战一个大的案例,还会学习一个前端非常火热的框架!是不是很期待?Let’s GO!
课程安排:
1、学习使用DOM获取页面元素
2、学习使用DOM修改元素属性
3、学习BOM中的window事件
4、学习ES6中的常量与变量
5、学习ES6中的解构赋值与箭头函数等
6、前端综合案例——仿慕课首页开发
7、入门前端流行框架VUE3.0
第17周 Java Web编程急速入门
Java Web是Java开发的主要方向,也是Java程序员的必备技能,接下来跟随老师一起进入Java Web开发的大门吧!
课程安排:
1、Tomcat的安装与运行
2、学习Servlet的创建、运行和生命周期。
3、Java Web的标准结构
4、GET与POST请求方式
5、WEB请求与响应解析
6、Session与ServletContext原理
7、Java Web打包与发布等
第18周 Java Web编程进阶-常用功能与过滤器
在Web开发中,经常有一些通用的功能需要开发,比如局部刷新数据、表单数据校验等,一旦掌握,后续即可重复使用,从而极大的提升开发效率,本周将带大家熟练掌握这些常用功能的开发和使用,为开发出具有良好体验的项目做好准备。
课程安排:
1、Ajax及JSON的基础语法
2、Ajax实现动态数据刷新
3、正则表达式基本语法,完成常见数据验证
4、过滤器的生命周期和开发流程
5、使用过滤器解决中文乱码问题
6、过滤器链的概念和使用
7、使用过滤器完成多端设备自动适配的功能开发
第19~20周 Java Web编程实战-MyBatis实现OA系统项目实战
想学好编程,不能只是纸上谈兵,更需要大量的项目实战。本周将手把手带大家开发一个员工请假管理系统-OA。 综合提升编程能力的同时掌握一个项目开发的完整过程。
课程安排:
1、需求分析到数据库的设计至建表的过程
2、手把手搭建底层开发框架
3、基于工作流程开发一个完整的员工请假与审批应用
4、使用RBAC权限模型完成基于角色的权限控制
5、使用动态SQL确定不同角色访问的数据范围
6、基于Vue3开发登录页
7、使用MD5加密算法保证数据的安全性
8、参照案例完成项目作业
9、CentOS 7系统、以及客户端工具Xshell和XFtp的下载和安装
10、Linux系统目录结构和常用命令
11、文本编辑工具vim
12、使用tar命令进行文件压缩和解压缩
13、使用Bash shell开发自动运维程序
14、使用yum进行软件安装卸载
15、Linux的网络设置
16、Linux下安装、部署并运行Web应用
17、Redis下载安装、基本配置和常用命令
18、使用Jedis对Redis进行操作
第四阶段 :从SSM到SpringBoot 项目实战
第四阶段配套视频教程
- 2024版 Java工程师
第21~22周 Java主流框架入门-Spring
Spring框架几乎占据JavaWeb编程的整个世界。掌握Spring是JavaWeb编程的必经之路。本周将重点学习Spring框架中的控制反转IoC、依赖注入DI和面向切面编程AOP等内容。
课程安排:
1、Spring IoC、DI和AOP等核心概念
2、Spring实例化和管理Bean的方式
3、Spring注解分类和常用注解应用
4、Spring AOP开发与配置流程
5、Spring五种通知类型与应用场景
6、PointCut切人点表达式的语法规则及应用
7、JDK动态代理和CGLib代理的执行过程及区别
8、JdbcTemplate的使用步骤与增删改查实现
9、声明式事务与编程式事务的区别及开发流程
10、理解声明式事务七种事务传播行为
11、导入交易流水账单案例
第23周 Java主流框架入门-Spring MVC
SpringMVC框架可以极大的简化对数据的封装和传递的等问题,本周我们将带大家熟练掌握SpringMVC框架基本使用。
课程安排:
1、SpringMVC开发流程与环境配置
2、SpringMVC数据绑定的实现
3、使用RESTful开发规范开发API
4、使用SpringMVC解决跨域问题
5、SpringMVC拦截器的基本使用
6、使用SpringMVC拦截器开发用户流量统计功能
第24周 Java主流框架实战-SSM开发社交网站
本周我们将结合Spring和SpringMVC以及Mybatis三大框架 一起实现第一个企业级项目-“仿豆瓣”社交项目。在项目实战中快速增加大家对复杂业务的理解与主流框架综合实战的能力。
课程安排:
1、项目的需求分析,用例设计,流程图绘制和数据库设计
2、使用MyBatis-plus敏捷开发插件实现数据的增删改查操作
3、使用Ajax+腾讯ArtTemplate模板进行热门图书查询
4、基于MyBatis实现分页查询,并实现上拉"加载更多"功能
5、采用Redis对访问的图书内容进行缓存
6、用户评价、回复和点赞功能实现
7、应用阿里云短信验证实现注册登录
8、使用Web富文本编辑器kindeditor进行在线编辑
9、使用动态表单对图书信息进行处理
10、实现评价/回复的后台审核功能
11、使用VUE3.0开发前端展示页
第25~26周 Java主流框架入门-Spring Boot3及JDK新特性
讲解JDK其他版本及21版新特性,在Springboot3下进行数据库开发,整合Mybatis,掌握Starter机制及整合过程中的作用原理,通过实战进一步集成Mybatis Plus框架,增删改查,涵盖高级特性应用。
课程安排:
1、JDK其他版本特性及JDK21六大关键新特性精讲
2、新特性1-文本模板
3、新特性2-顺序集合
4、新特性3-Record 模式
5、新特性4-正则匹配Switch
6、新特性5-虚拟线程的原理与应用
7、Spring Boot 3急速入门
8、快速上手创建测试第一个Spring Boot Web应用
9、Spring Boot 3整合Mybatis/Mybatis plus实现数据库开发
第27~28周 Java主流框架进阶实战&社交网站项目重构升级
讲解Redis7新版入门及实践,Web 和Nginx,项目部署Docker容器化,团队协作开发主流版本控制Git与Gitlab,使用Springboot实现社交网站iReader项目重构&业务功能扩展及测试
课程安排:
1、快速入门Redis
2、理解Redis常用五大类型及典型应用场景
3、Redis原理、核心配置与应用交互
4、Redis在项目中应用的三大典型案例
5、Nginx五大典型企业场景应用实战
6、初识Docker,并进行环境安装搭建
7、Docker基础及常用命令讲解&应用部署案例实战
8、版本控制初识及Git快速入门
9、企业工作中Git四大常用操作实战
10、局域网下自建代码托管平台GitLab基础及应用实战
11、项目基础环境搭建及三大模块更新重构实战
12、完善后台认证与授权基础架构
13、开发后台管理功能
14、Redis+Nginx实现项目架构优化实战
15、项目发布与部署
第五阶段 :Java分布式与微服务实战
第五阶段配套视频教程
- 2024版 Java工程师
第29~30周 Java分布式入门
本周学习分布式基础知识,快速提高面试竞争力,强化分布式架构体系的技术栈,包括RabbitMQ、Seata技术,在分布式或者微服务架构中实现认证与授权的SaToken框架。
课程安排:
1、Java项目演进之分布式架构
2、SpringBoot多线程技术
3、分布式协调服务Zookeeper
4、分布式调用Dubbo3.0
5、消息队列RabbitMQ
6、分布式事务Seata
7、SaToken认证与授权框架
第31周 Java微服务入门
本周我们学习微服务架构技术栈的初级部分,其中的重点是数据库部分。因为任何微服务项目都是先从持久层开始设计的,所以我们要精通数据库集群技术才有资格驾驭大型的微服务项目。
课程安排:
1、Java项目演进之微服务架构
2、 数据库集群与管理
3、 MyCat中间件实战
4、Elastic-Job分布式任务调度
5、Minio分布式文件存储系统及实战
6、NoSQL数据库之MongoDB
7、MongoDB数据库实战
第32周 Java微服务进阶
这一周我们学习微服务架构技术栈的中高级部分,融合了常用组件/中间件,进行微服务架构设计和开发,获取真正的企业级微服务解决方案。
课程安排:
1、微服务注册中心Nacos
2、微服务注册中心Nacos实战
3、微服务远程调用Feign
4、微服务远程调用Feign实战
5、微服务远程调用Gateway
6、微服务远程调用Feign实战
7、微服务流量控制Sentinel
8、微服务流量控制Sentinel实战
第33~34周 神州大健康双系统项目实战
医疗行业是互联网发展前景极好的领域之一,对于初入职者、转行者来说都是很好的选择。课程以业务驱动技术栈,打造完整、全面的双系统项目(健康体检与健康管理两大业务)、界面美观的企业级实战项目,高效积累大型微服务项目经验。
课程安排:
1、大健康体检项目全栈环境搭建
2、基于SpringCloud从零构建后端项目
3、Vue3.0+SpringCloud实现人员管理模块
4、Vue3.0+SpringCloud实现体检套餐模块
5、利用微信支付3.0购买体检套餐
6、Vue3.0+SpringCloud实现订单管理模块
7、 Vue3.0+SpringCloud实现体检登记模块
8、Vue3.0+SpringCloud实现录入体检数据
9、Vue3.0+SpringCloud实现人员调流模块
10、Vue3.0+SpringCloud实现体检报告查询与管理
11、项目发布与部署
12、微服务实战项目总结
第35周 Java分布式架构设计与开发实战
分布式架构是大型项目必用的方式,也是云原生、Serverless等新兴技术的底层基石。后端进阶,必然绕不开分布式。本课程将目前的分布式技术整合为6大知识模块,并深度结合案例,将每个细节讲深、讲透,打通进阶路上的关键脉络。
课程安排:
1、详细介绍了大型互联网系统架构演进的过程,了解在不同阶段所采用的系统架构是怎么样的,遇到的问题以及技术解决方案。
2、重点讲解redis,在实战中熟练使用用分布式缓存提升系统性能。
3、手写一个自定义缓存注解,更加灵活地处理缓存问题。
4、使用分布式ID高效生成业务ID。
5、详析分布式事务的二阶段提交协议和三阶段提交协议,从而更好地理解分布式事务的本质。
6、介绍开源的分布式事务解决方案-阿里的Seata框架,以及可以替换Saga模式的更加常见的事务模式,基于消息机制解决分布式事务。
7、 对ZooKeeper技术原理进行剖析。
8、对比Redis版分布式版详解如何使用ZooKeeper来实现分布式锁。并介绍Zookeeper它在集群模式下,是如何去保证可用性和一致性的
9、 剖析了ZAB协议和Paxos算法
10、四种场常见的限流算法,分别是计数器限流、滑动窗口限流、漏桶算法,还有令牌桶算法。
11、 讲解基于Session的传统认证机制、Token模式实现登录会话流程、JWT方式的认证机制、OAuth流程,了解JWT和OAuth的区别
12、分布式链路追踪产生的原因,链路追踪的原理,目前市面选型,重点讲解skywalking原理以及使用以及zipkin。
第六阶段 :面试与就业指导
第六阶段配套视频教程
第36周 面试指导-高频面试题详解
很多同学技术学的差不多了,项目经验也积累了几个,但要想顺利通过面试,还需要学会如何回答好面试官提出的高频面试问题。本周将为大家传授高通过率的回答经验与技巧。最后奉上面试指导课,助力你早日拿到心仪的offer。
课程安排:
1、HashMap的底层原理、Spring字符串的存储原理
2、Java中浅复制与深复制、JDK8~JDK15的新特性
3、equals、==与HashCode之间的区别
4、垃圾回收与JVM内存
5、Spring IOC与DI的区别、SpringBoot 2.x的启动过程
6、Spring 用到了哪些设计模式、 Controller如何解决跨域访问
7、MyBatis的缓存机制、MyBatis的缓存淘汰策略
8、常用设计模式考点
9、INNODB索引的底层实现原理、INNODB与MyiSAM引擎的区别
10、HTTPS的加密传输过程、TCP三次握手等
11、高频面试题
12、面试就业指导
第七阶段 :Java源码及性能调优,提升核心竞争力
第七阶段配套视频教程
- 2024版 Java工程师
第37周 系统解析JDK源码
JDK是Java开发工具包,其核心是Java API的预定义的类库,这些对开发人员说是必备技能。本周内容覆盖面超全,并结合实际案例手把手式教学,助你系统性掌握JDK底层源码、大牛设计思想,在工作中游刃有余。
课程安排:
1、JDK源码解读前置和核心函数,助力充分具备Jdk基础核心模块的分析应用能力。
2、对JDK集合框架源码及相关数据结构进行深入解析,掌握JDK集合框架源码及底层数据结构原理
3、对Stream流式运算原理及使用进行了系统分析,深入理解了Stream流的运行机制,具备熟练运用Stream流的能力。
4、 对收集器和比较器的用法和原理进行深入解析,掌握收集器以及并行流等Jdk底层核心内容
5、对Jdk8疑难部分的源码进阶解析,涉及groupingBy、IteratorSpliterator、partioningBy、groupingByConcurrent等模块。深入浅出地让小伙伴理解掌握该部分的源码原理及用法。
6、Stream常见应用场景与常用方法实战解析案例 ,让你充分具备Jdk基础核心模块的分析应用能力。
7、深度解析JDK8中日期类型使用方法和案例 ,具备熟练运用全新日期和时间APl的能力。
8、对JDK19的新特性速览进行全面讲解解析,并且充分阐述JDK19新增功能,让小伙伴对JDK19新增功能有了较为全面的的了解。
第38周 Java性能调优
系统学习Java项目性能调优,步步为营,斩获N种企业级性能调优解决方案。 从易到难掌握各类调优技巧,代码实战+源码剖析+企业灾难案例重现,有节奏地提升与进阶,助力你在职场走得更远飞得更高 。
课程安排:
1、从数据库优化的多个层面来阐述数据库优化的必要性
2、学会解读慢查询日志,从慢查询日志中获取相关问题sql信息,从而精准调优。
3、掌握两大慢查询分析工具:mysqldumpslow,pt-query-digest,重点讲解和演示用法和示例,通过pt-query-digest利器解读慢查询日志,查找三类问题SQL。
4、使用explain查看SQL执行计划,着重讲解如何解读执行计划,并针对执行计划中重要指标字段进行详细讲解。
5、全方位MySQL调优-灾难案例重演
6、数据库调优-企业级调优思维
7、讲解jvm调优过程中的常用命令及相关工具,包括jmap,jhat,jstack,jvisualvm等常见调优工具以及MAT等专业故障排查工具,并通过几个实际案例讲解死锁,内存泄漏等故障排查方法及过程。让大家对jvm调优和故障排查过程有一个清晰的认识。
8、讲解jvm调优过程中常见的GC算法
最后
以上七个阶段,只要每天学习2小时,轻松让你从Java入门到入职,
实现你的就业梦,还有15万~30万年薪等你拿!
想要学习全套Java视频学习的小伙伴,移步到 2024版 Java工程师
当你顺利完成了Java就业路线,欢迎勇闯慕课网Java项目实战,突破你的技术瓶颈,成为一枚更更更优秀的Java人才。
毕竟开发这条路途,无论你工作多久,都会遇到各种奇奇怪怪的问题,以及形形色色的bug等着你去解决!
最后,如果觉得此文对你有所帮助,请收藏+点赞吧!
更多java技术干货请移步:
热门评论
要钱的打的我措不及防
学完没有20的 现在20都是考分布式 多线程 并发高场景
跟随慕课网一步一步成长,很感谢慕课网这个平台!