先贴一张本人总结的Java技术栈脑图

看完这张图可能有些小伙伴会说,这么一大张思维导图,Java 的知识点这么多?

文末有书单,可以免费下载

一、计算机基础

基础很重要,计算机基础主要包含操作系统,计算机网络、数据结构、算法、设计模式,操作系统、编译原理,这些可以了解一下,不用太深入,本人是站在Java工程师的角度来说。

计算机网络在面试中经常被问到,比如:

  • TCP 为什么三次握手?四次挥手?

  • TCP 为什么要有 TIME_WAIT 状态?

  • TCP 为什么是可靠传输协议,而 UDP 不是?

  • 键入网址到网页显示,期间发生了什么?

  • HTTPS 握手过程是怎样的?

设计模式是一套被反复使用、多数人知晓、经过分类的、代码设计经验的总结。

使用设计模式能够增加系统的健壮性,易修改性和可扩展性,当你进行开发的软件规模比较大的时候,良好的设计模式会给编程带来便利,让系统更加稳定,这些在自己编写小程序的时候是体现不出来的。

推荐视频教程:

1、计算机网络微课堂(有字幕无背景音乐版)

计算机网络微课堂(有字幕无背景音乐版)_哔哩哔哩_bilibili

2、Java设计模式(图解+框架源码剖析)

尚硅谷Java设计模式(图解+框架源码剖析)_哔哩哔哩_bilibili

3、数据结构入门

【郝斌】-数据结构入门_哔哩哔哩_bilibili

4、韩顺平图解Java数据结构与算法:

尚硅谷Java数据结构与java算法(Java数据结构与算法)_哔哩哔哩_bilibili

5、数据结构与算法基础-java版

数据结构与算法基础-java版(罗召勇)_哔哩哔哩_bilibili

二、Java基础

主要包括以下内容:

  • 基本数据类型、包装数据类型

  • 控制流程,比如if 判断、循环等

  • 数组

  • 集合,包含list、map、set等

  • 类和对象,主要是学习面对对象编程的思想

  • 流:输入流和输出流,以及它们的子类

  • 注解和反射

  • 多线程基础,创建线程的方式以及线程的生命周期

  • 异常

  • 计算机网络:TCP、UDP、网络编程

  • 常用类:String、时间类

  • 函数式编程:Java 8 的流

推荐一些免费的视频教程

1、Java基础全套教程,JAVA零基础入门必备,适合初学者的完整视频 (宋红康主讲)

尚硅谷Java入门视频教程(在线答疑+Java面试真题)_哔哩哔哩_bilibili

2、Java300集零基础适合初学者视频教程

【尚学堂】Java300集零基础适合初学者视频教程_Java300集零基础教程_Java初学入门视频基础巩固教程_Java语言入门到精通_哔哩哔哩_bilibili

3、尚学堂,高琪,Java 300 集

www.bilibili.com/video/av30023103

4、尚硅谷Java8新特性+JUC+NIO,JUC 和NIO

www.bilibili.com/video/av71563078

5、【Java零基础入门】尚硅谷Java基础全套教程,Java入门小白自学神器

尚硅谷Java入门视频教程(在线答疑+Java面试真题)_哔哩哔哩_bilibili

6、【零基础 快速学Java】韩顺平 零基础30天学会Java

【零基础 快速学Java】韩顺平 零基础30天学会Java_哔哩哔哩_bilibili

7、Java零基础教程

www.bilibili.com/video/BV1bJ411i7R6

二、Java web

Java Web技术包括J2EE,以及web框架,乃至一系列常用的组件

  • servlet:servlet是

  • 过滤器

  • 监听器

  • 拦截器

  • session

  • cookie

  • http协议

  • tomcat

免费的视频教程

1、java基础 servlet详细教程

java基础 servlet详细教程_哔哩哔哩_bilibili

2、Web前端零基础入门HTML5+CSS3基础教程

【尚硅谷】Web前端零基础入门HTML5+CSS3基础教程丨初学者从入门到精通_哔哩哔哩_bilibili

3、最新版JavaWeb全套教程

尚硅谷最新版JavaWeb全套教程,java web零基础入门完整版_哔哩哔哩_bilibili

三、框架

框架目前主流就是spring 全家桶,包括spring、spring mvc、spring boot 、spring cloud,还有ORM框架,常用的是mybatis。

spring模块组成

Spring Core:Spring核心模块,包含控制反转(IOC)和依赖注入(DI)。 spring-beans 模块:提供了BeanFactory工厂模式的一个经典实现(Spring将管理对象称为Bean) Spring Context:访问定义和配置对象的媒介。 Spring AOP:面向切面编程AOP实现,以动态代理技术为基础,允许定义各种拦截器,方便解耦。 Spring JDBC:提供了JDBC的抽象层,消除了JDBC编码的繁琐工作和不同数据库厂商的处理逻辑,简化JDBC。 Spring JMS:JAVA消息发送和接收服务。 Spring ORM:ORM框架支持,集成了hibernate、jpa和jdo用于资源管理、dao的实现和事务。 Spring Web:为创建Web应用程序提供支持。 Spring Test:提供了对 JUnit 和 TestNG 测试的支持、 Spring Aspects:该模块为与AspectJ的集成提供支持。 Spring Web:Spring框架支持与Struts集成,为基于web的应用程序提供了上下文。

Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。它可以装载 Bean(也就是 Java 中的类,包括 Service、Dao 里面的),有了控制反转这个机制,我们就不用在每次使用类的时候先初始化,用 new 关键字声明。另外,Spring 的 AOP、事务管理等等都是我们经常用到的。

spring的核心:控制反转(IOC)和面向切面编程(AOP)。

spring的优点

  • 解耦,简化开发。开发者可以将所有对象创建和依赖关系维护,交给spring管理。

  • AOP编程的支持。可以方便的实现对程序进行权限拦截、监控等功能。

  • 非常方便集成各种优秀框架。如mybatis、hibernate。

  • 降低javaee api的使用难度,进行了比较好的封装。

SpringMVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

Spring Boot 是由 Pivotal 团队提供的一个全新框架,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。说句人话就是,Spring Boot 不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。使用 Spring Boot有什么好处其实就是简单、快速、方便!

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,springcloud就是这些微服务的大管家。

目前spring cloud alibaba应用的也比较多。

Spring Boot 和 Spring Cloud 已成为 Spring 生态中不可或缺的一环。想成为一名合格的 Java 后端工程师,Spring Framework、Spring Boot、Spring Cloud 这三者必须牢牢掌握。

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。

MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。

MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

首先来学 SSM(Spring+SpringMVC+MyBatis,企业级应用的必须品)的整合教程,哪怕是已经有了 Spring Boot,SSM 仍然是必学的,能打下更坚实的基础。

推荐的视频资源:

1、SSM框架整合

【javaWeb(SSM)】+SSM框架视频整合+(传智播客)(一)_哔哩哔哩_bilibili

2、spring源码全集

【spring源码全集】B站唯一阿里P8级别的架构师教程_哔哩哔哩_bilibili

3、spring_spring注解驱动开发

spring_spring注解驱动开发_spring源码版-雷丰阳-尚硅谷_哔哩哔哩_bilibili

4、SpringMVC实战教程完整版

尚硅谷SpringMVC实战教程完整版(spring mvc框架源码解析)_哔哩哔哩_bilibili

5、SpringBoot整合教程(springboot框架实战)

尚硅谷SpringBoot整合教程(springboot框架实战)_哔哩哔哩_bilibili

6、SpringBoot项目实战:企业项目管理系统

SpringBoot项目实战:企业项目管理系统_哔哩哔哩_bilibili

7、阳哥带你学Spring Cloud

SpringCloud-阳哥带你学Spring Cloud-周阳尚硅谷 建议直接去学第二季_哔哩哔哩_bilibili

8、SpringCloud最新教程IDEA版

【狂神说Java】SpringCloud最新教程IDEA版_哔哩哔哩_bilibili

9、SpringCloud+Vue项目实战——社交项目

SpringCloud+Vue项目实战——社交项目_哔哩哔哩_bilibili

10、Mybatis教程IDEA版

Mybatis教程IDEA版-4天-2018黑马SSM-01_哔哩哔哩_bilibili

四、JVM

推荐视频教程

1、宋红康JVM全套教程

尚硅谷宋红康JVM全套教程(详解java虚拟机)_哔哩哔哩_bilibili

2、深入理解JVM 虚拟机

深入理解JVM 虚拟机 (108p版)_哔哩哔哩_bilibili

五、并发编程

现在的大型网站都高并发的,所以并发编程是必不可少的。

Java并发编程包括多线程、JUC包中并发工具、线程池、锁、阻塞队列等。

推荐的视频资源:

1、大厂必备技术之JUC并发编程2021新版

【尚硅谷】大厂必备技术之JUC并发编程2021新版_哔哩哔哩_bilibili

2、Java大厂面试题第2季

尚硅谷Java大厂面试题第2季,面试必刷,跳槽大厂神器_哔哩哔哩_bilibili

整理了一些书籍,感兴趣的同学可以下载学习。

Java基础

JVM

并发编程

设计模式

数据结构与算法

面试

网络编程

下载地址:下载书籍

Java学习路线(一)相关推荐

  1. ajax不执行_好程序员Java学习路线分享原生Ajax的使用

    好程序员Java学习路线分享原生Ajax的使用,首先我们先来看一下什么是 AJAX AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. AJAX 就是 异步.JavaScript ...

  2. 初学者适用的最新Java学习路线

    目前,Java语言开发的就业前景相当明朗"钱"途一片大好,毕竟互联网企业对Java开发人才需求很旺盛.Java开发人才的薪资要比其他编程人才高出一大截,所以有很多朋友就都想来从事J ...

  3. Java学习路线详解

    如今互联网行业发展火爆,各大企业对于[Java开发请添加链接描述](http://www.suzxms.com.cn/java/)人才的需求也在不断增加,很多刚毕业的同学找不到合适的工作,想学习一门赖 ...

  4. [转]从入门到精通,Java学习路线导航

    引言 最近也有很多人来向我"请教",他们大都是一些刚入门的新手,还不了解这个行业,也不知道从何学起,开始的时候非常迷茫,实在是每天回复很多人也很麻烦,所以在这里统一作个回复吧. J ...

  5. java获取mysql执行计划_好程序员Java学习路线之MySQL的执行计划

    好程序员 Java 学习路线之 MySQL 的执行计划.什么是执行计划? 执行计划通常是开发者优化 SQL 语句的第一步. MySQL 在解析 SQL 语句时,会生成多套执行方案,然后内部会进行一个成 ...

  6. Java学习路线,你值得了解

    Java学习路线,了解一下! 需要资料的欢迎加入学习交流群:9285,05736

  7. app嵌入jsp页面的项目工作量_好程序员Java学习路线分享jsp为什么用的不多了

    好程序员Java学习路线分享jsp为什么用的不多了,曾经JavaEE开发前端多数用的是JSP技术,因为在JSP出现之前,程序员基本都是在Servlet端直接通过out.print的方式拼接出一个页面返 ...

  8. bytes数组转string指定编码_好程序员Java学习路线分享Java基础之string

    好程序员Java学习路线分享Java基础之string 好程序员Java培训 先来讲一下字符串 字串符分类: 不可变字符串:----String.字符串本身不能发生改变,与指向字符串的引用无关. St ...

  9. Java学习路线(完整详细版)

    科技在进步,时代也在发展,很多人的理想再也不是骑马喝酒走四方,而是学习掌握java技术,真正的实现高薪就业,说到学习Java,我们今天就来说说Java开发需要学习的内容,说说java学习路线,说说Ja ...

  10. java 中文乱码_好程序员Java学习路线分享如何处理中文参数

    好程序员Java学习路线分享如何处理中文参数,为什么表单中会产生中文乱码. 好程序员Java培训 产生乱码,就是因为服务器和客户端沟通的编码不一致造成的,因此解决的办法是:在客户端和服务器之间设置一个 ...

最新文章

  1. 计算机金融交叉学科考研,22考研:交叉学科可能成为新选择!它有哪些优势?
  2. oracle安装结束后怎么登录,浅谈Oracle 11g 发行版2 新安装后关于登录的一些基本操作...
  3. 处理业务代码中循环遍历出现的性能问题
  4. 【PAT】A1060 Are They Equal *
  5. php5.3连接sqlserver2005
  6. imread函数_MATLAB图像处理:27:使用imtranslate函数平移图像
  7. matlab时域转复频域,信号与系统实验(MATLAB版)实验15连续系统的复频域分析.ppt...
  8. 大数据时代最值得关注的15大技术趋势
  9. Nginx 404 500
  10. java nio 下载网页_JavaNIO 下载网络文件保存本地报java.nio.file.AccessDeniedException:无权限操作...
  11. Qt5开发的验厂考勤工资系统-计时计件综合版
  12. 西湖大学校长---施一公讲座
  13. ImageView显示图片控件介绍
  14. 旧梦一场用计算机怎么表示,歌曲旧梦一场表达什么意思?
  15. 学习编程需要什么英语基础?
  16. Ubuntu突然无法解析域名解决
  17. 解决TortoiseSVN文件夹没有绿色对号
  18. Mysql中的索引原理
  19. Kali Linux使用arpspoof命令进行断网攻击(ARP欺骗)
  20. 如何在Mac上刻录DVD以获取可播放的视频?解答来了

热门文章

  1. 关于保险理赔业务中的退赔
  2. 东南亚的招聘骗局,程序员请注意!
  3. mpacc在职研究生报考条件-报考在职研究生一般都需要什么条件?
  4. 快速接入百度大脑出租车票识别
  5. 360度反馈的优缺点
  6. 20220926-(第七周)-数据的处理和wordcloud库
  7. Flask视频流传输
  8. 在 vue3 中使用 markdown 编辑器 md-editor-v3
  9. portlet session共享
  10. Flask request 属性详解