入职银行软开已有半年有余,工作中用到的编程语言以Java为主,由于研究生期间主要做算法研究,只接触过Python和C++,于是入职后开启了Java小白的成长之路,在这里记录下自己的学习心路和过程,督促鞭策自己的同时,也给初学Java的朋友们一点参考。
前言
本篇笔记梳理了Java学习的完整路线,我的主要学习方式是看b站的视频教程为主,讲得好的博主有很多,比如黑马程序员、遇见狂神说、尚硅谷等,学习过程中遇到不懂的问题我会再参考CSDN博客、知乎、StackOverflow或其他技术网站上的解答。
阶段一:Java基础
这一阶段主要学习Java这门编程语言的用法,以前接触过其他编程语言的话,那么这一阶段的学习将会比较轻松。
需要学习掌握的内容有:
- 计算机基础
- Java语法
- Java的面向对象编程
- 异常
- 常用类
- 集合框架
- IO技术
- 多线程
- 网络编程
- 注解和反射
- JVM探究
- 23种设计模式
- JDK的其他新特性
- IDEA使用
推荐视频(选一个看就行):
【零基础 快速学Java】韩顺平 零基础30天学会Java
【尚硅谷Java零基础全套视频教程(宋红康主讲,Java入门自学必备)
【狂神说Java】Java零基础学习视频通俗易懂
阶段二:JavaWeb
这一阶段主要学习JavaWeb开发基础知识,掌握服务器的基本概念,掌握数据库的基本使用,学完本阶段之后应该可以满足Java软件开发行业的初级需求,达到制作中小型网站或企业管理系统这样的水平。
需要学习的内容包括但不限于:
- 关系型数据库:MySQL
- 前端三剑客:HTML、JavaScript、CSS
- 用Java操作数据库的标准接口:JDBC
- Web应用服务器:Tomcat
- 动态Web开发技术:Servlet、JSP
- 项目构建技术:Maven、Gradle
- 会话跟踪技术:Cookie、Session
推荐视频(最好都看):
【MySQL数据库入门到大牛,mysql安装到优化,百科全书级,全网天花板】
【黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖Spring+MyBatis+SpringMVC+SpringBoot等)】
阶段三:SSM框架
这一阶段的学习是走向企业开发的第一步,学完之后就可以独立使用框架去开发一个网站了。
需要学习的内容有:
- 持久层框架:Mybatis
- 轻量级开源框架:Spring、SpringMVC
- MySQL高级特性
- 分布式版本控制系:Git
- 一个快速开发的Web框架:SpringBoot
- Mybatis增强工具:MybatisPlus
推荐视频:
【黑马程序员SSM框架教程_Spring+SpringMVC+Maven高级+SpringBoot+MyBatisPlus企业实用开发技术】
阶段四:单体项目开发
学完前面几个阶段后,推荐用黑马的一个单体项目进行练手,把前面的所学全部综合应用,提升真实的项目需求分析能力、接口设计能力、编码能力、代码调试能力、文档阅读能力等等。
推荐视频:
【黑马程序员Java项目实战《苍穹外卖》,最适合新手的SpringBoot+SSM的企业级Java项目实战】
这个项目包含三大模块:
- 基础数据模块:包括项目概述、环境搭建、员工管理、分类管理、菜品管理、套餐管理。
- 点餐业务模块:包括店铺营业状态设置、微信登录、缓存商品、购物车、用户下单、订单支付和管理、历史订单、订单状态定时处理、来单提醒和客户催单。
- 统计报表模块:包括图形报表统计、Excel报表统计。
阶段五:微服务和分布式
这一阶段的学习会存在一些难度,微服务是很多行业大厂的必备技术栈,也是目前比较流行的技术框架,随着公司规模的慢慢变大,分布式的开发也变得异常重要。
需要学习的内容有:
- 认识微服务 SpringCloud
- 微服务注册中心 Eureka
- 微服务调用 OpenFeign
- 客户端负载均衡 Ribbon
- 微服务网关 Gateway
- 微服务统一配置中心 Nacos
- 微服务保护 Sentinel
- 消息中间件 RabbitMQ
- 分布式缓存 Redis
- 分布式搜索 ElasticSearch
- 分布式事务 Seata
- 微服务部署 Docker
推荐视频:
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
总结
学习到这里,一个基本Java开发人员的技能应该就掌握的差不多了,应该能够应付日常工作中出现的常规问题,但想要往技术专家的路线发展,当然还有更多的东西需要学习,本篇笔记中就暂时不梳理这部分知识了。