11张思维导图带你快速学习java

11张思维导图带你快速学习java

博主主页:【南鸢1.0】

本文专栏:JAVA

本文目录

简介

1.Java SE​编辑

2.Java Web

3.MySQL​编辑

4.前端技术

5.Linux

6.Spring SpringMvc mybatis

7.JVM

8.Springboot

9.Vue

10.SpringCloud

11.常用中间件

总结


简介

Java是一种跨平台的编程语言,广泛应用于开发各种类型的应用程序。从零开始学习Java可能会感到困惑,因为Java拥有广泛的功能和概念。为了更好地学习和理解Java,可以使用思维导图来整理和归纳Java的主要概念和特点。思维导图可以帮助学习者更好地理解Java,并将其各个方面组织起来,以便更容易地回顾和复习。

1.Java SE

常用工具介绍

1. IDE(集成开发环境)IntelliJ IDEA:功能强大的 Java 开发工具,支持多种插件,提供智能代码提示、调试等功能。Eclipse:开源的 IDE,使用广泛,拥有丰富的插件支持。

2.构建工具Maven:项目管理和构建工具,使用 pom.xml 文件管理项目依赖和构建过程。Gradle:现代构建工具,使用 Groovy 或 Kotlin DSL 编写构建脚本。

3.版本控制Git:流行的版本控制系统,使用 GitHub进行代码托管和协作开发。

4.调试和测试JUnit:常用的单元测试框架,支持编写和运行测试用例。Postman:用于测试 RESTful API 的工具,方便发送 HTTP 请求并查看响应。

2.Java Web

开发环境- IDE(集成开发环境)IntelliJ IDEA:功能强大、用户友好,支持多种插件和框架,提供智能代码提示和重构功能,适合 Java Web 开发。Eclipse:开源的 IDE,扩展能力强,适合 Java Web 开发,拥有丰富的插件生态。

3.MySQL

1. MySQL Workbench- 功能:MySQL Workbench 是一个官方的图形化数据库设计和管理工具,提供数据库建模、SQL 开发、管理和维护功能。特点:可视化数据库设计(E-R 图)。SQL 查询编写和执行。数据库管理和监控。数据迁移和备份恢复功能。

2. phpMyAdmin- 功能:phpMyAdmin 是一个基于 Web 的 MySQL 数据库管理工具,适用于管理 MySQL 数据库的用户界面。特点:浏览、查询和修改数据库。导入导出数据支持多种格式(如 CSV、SQL 等)。管理用户权限与账户。
-轻松创建和修改表结构。

3. MySQL Shell- 功能:MySQL Shell 是一种强大的命令行工具,支持 SQL、JavaScript 和 Python 三种编程语言进行交互操作。特点:支持高级功能,如 JSON 支持、并行查询等。
-适合自动化和脚本化操作。支持与 MySQL服务器的高效交互。

4. Navicat for MySQL- 功能:Navicat 是一款流行的数据库管理工具,支持多种数据库,包括 MySQL。特点:提供直观的用户界面,方便数据库设计与管理。支持多种数据建模和报表生成功能。
-备份与恢复、数据同步和转移功能。

5. DBeaver- 功能:DBeaver 是一个开源的通用数据库管理工具,支持 MySQL 和其他多种数据库。特点:提供数据浏览和编辑功能。支持 SQL 编辑器、数据库连接和数据导入导出。用户可扩展插件。

6. HeidiSQL- 功能:HeidiSQL 是一个轻量级的开源数据库管理工具,主要用于 MySQL 和 MariaDB。特点:用户友好的界面,适合快速浏览和操作。支持多种数据导入导出格式。提供会话管理,方便管理多个连接。

7. MySQL Utilities- 功能:MySQL Utilities 是一组命令行工具,用于执行各类数据库管理和维护任务,如备份、恢复和复制。特点:支持数据库备份与恢复、用户权限管理等。支持数据同步和复制管理。可以与 MySQL Server 脚本结合使用。

8. Percona Toolkit- 功能:Percona Toolkit 是一组高级的命令行工具,用于 MySQL 数据库性能监控和管理。特点:提供性能分析、数据验证和查询优化功能。支持复制和备份管理。
-适合大规模数据库的管理。

9. MySQL Enterprise Monitor- 功能:MySQL Enterprise Monitor 是一个商业产品,用于实时监控 MySQL 数据库性能。特点:提供性能监控、告警和报告功能。支持自动化的健康检查和问题诊断。集成 MySQL 支持服务。

10. SQLyog- 功能:SQLyog 是一个强大的 MySQL 管理工具,提供全面的数据库管理功能。特点:支持数据同步、备份和恢复。用户友好的界面,支持可视化查询生成。
-连接管理,方便管理多个 MySQL 实例。

4.前端技术

所用到:Visual Studio Code

5.Linux

所用工具:WindTerm、XShell 、WindTerm

6.Spring SpringMvc mybatis

常用配置与工具#### Spring Tool Suite (STS)IDE:基于 Eclipse 的 IDE,专为 Spring 应用开发提供支持,包括自动补全、项目监视和调试功能。

MyBatis Generator- 工具:自动生成 MyBatis 的 XML 配置和 Java 实体类,简化数据访问层的开发。

Spring Boot- 简化的 Spring 开发:提供快速启动项目的功能,将 Spring 和相关组件高度集成,简化配置。

Lombok- 工具:简化 Java 类的代码,通过注解自动生成常用代码(如 getter、setter、构造函数等),减少样板代码。

Logback/Log4j- 日志框架:用于实现应用程序的日志记录与管理,帮助开发者进行问题排查与性能分析。

监控与测试工具- Spring Actuator:提供运行时监控和管理功能,支持健康检查、指标收集等。JUnit:用于单元测试,与 Spring MVC 和 MyBatis 配合使用,进行自动化测试。Mockito:用于模拟对象,为测试提供依赖的虚拟对象。Postman:用于 REST API 测试,支持发送请求并查看响应数据。

7.JVM

8.Springboot

1. 开发环境- IDE(集成开发环境)IntelliJ IDEA:功能强大、用户友好,支持多种插件和框架,提供智能代码提示和重构功能,适合 Java Web 开发。Eclipse:开源的 IDE,扩展能力强,适合 Java Web 开发,拥有丰富的插件生态。NetBeans:另一个开源 IDE,简单易用,适合 Java EE 开发,有很好的支持。

2. Web 框架- Spring Framework:一个全面的企业级应用程序开发框架,提供了IOC(控制反转)和AOP(面向切面编程),使得开发更加模块化和可维护。Spring Boot:基于 Spring 的快速开发框架,提供开箱即用的配置和自动化特性,极大地简化了 Java Web 应用的开发和部署。JavaServer Faces (JSF):Oracle 提供的一个用于构建基于组件的用户界面的框架,适合大规模、复杂的企业应用。

3. 持久层框架- Hibernate:专业的 ORM(对象关系映射)框架,帮助开发者将 Java 对象与数据库表映射,简化数据库操作。MyBatis:一个灵活的持久层框架,允许开发者使用原生 SQL语句,并提供 SQL 映射功能。

4. Web服务器- Apache Tomcat:最常用的开源 Servlet 容器,支持 JSP 和 Servlet规范,用于运行 Java Web 应用。Jetty:轻量级的 HTTP服务器和 Servlet 容器,适合嵌入式应用和微服务架构。

5. 构建和依赖管理工具- Maven:功能强大的项目管理与构建工具,通过 pom.xml 文件管理依赖和构建过程,适合标准化 Java 项目。Gradle:现代构建工具,支持 Groovy 和 Kotlin DSL,提供灵活的构建脚本和高效的增量构建。

6. 测试工具- JUnit:广泛使用的单元测试框架,帮助开发者编写和管理测试用例。Mockito:流行的模拟对象框架,用于创建和管理测试中的依赖模拟。Selenium:用于自动化测试 Web 应用的框架,可以模拟用户操作进行功能测试。

7. API 测试工具- Postman:用于测试和调试 RESTful API 的工具,提供图形化界面发送 HTTP 请求,查看响应。Swagger:用于生成 API 文档的工具,同时支持交互式 API 测试,便于开发和调试。

###8.版本控制- Git:流行的分布式版本控制系统,支持团队协作,利用 GitHub、GitLab 等平台进行代码托管。
9.其他工具- Lombok:Java 库,通过注解减少样板代码,自动生成 getter、setter、构造器等,提升代码简洁性。Apache Commons:一系列常用的库和工具类,提供许多开发过程中用到的常见方法和功能。

###10. 日志工具- Log4j:用于 Java 应用程序的日志框架,允许开发者以不同的方式和格式记录日志。SLF4J:简单日志门面,为 Java 提供统一的日志 API,能够与多种日志框架兼容。

9.Vue

1. 开发工具- Vue CLI:官方提供的脚手架工具,可以快速生成 Vue.js 项目,支持插件、脚手架和集成开发环境,简化项目初始化和配置。Vue Devtools:浏览器扩展(支持 Chrome 和 Firefox),用于调试 Vue.js 应用,提供观察组件状态、事件、路由和状态管理等功能。

2. 路由管理- Vue Router:官方提供的路由管理库,允许开发者在 Vue 应用中进行单页应用(SPA)路由设置,支持动态路由、嵌套路由和路由守卫等功能。

###3. 状态管理- Vuex:官方提供的状态管理库,专注于集中式管理 Vue.js 应用中的状态,适合中大型应用,通过 store 管理组件间的共享状态。

###4. UI 库- Vuetify:基于 Material Design 的 Vue.js组件库,提供多种现成的组件,帮助快速构建美观的用户界面。Element UI:一款为开发者、设计师和产品经理设计的桌面端组件库,提供丰富的组件和设计规范,适合后台管理系统。BootstrapVue:将 Bootstrap4 的组件和样式带到 Vue.js 中,使开发者能够使用 Bootstrap 样式和布局。

5. 表单处理- VeeValidate:表单验证库,支持简单和复杂的验证场景,提供用户友好的错误提示和反馈。Vue Formulate:一个强大的表单库,提供简单易用的 API 和多种自定义组件,以及验证和布局支持。

6. 动画和过渡效果- Vue Transition:Vue.js 内置的过渡效果组件,帮助开发者轻松地在添加、删除和状态变化时实现过渡效果。GSAP:强大的动画库,支持复杂动画,适合需要高级动画效果的 Vue.js 应用。

7. 测试工具- Vue Test Utils:官方的 Vue.js 单元测试实用工具,配合 Jest 或 Mocha 可以编写和运行组件测试。Cypress:流行的端到端测试框架,支持现代 Web 应用的自动化测试,可以与 Vue 应用无缝集成。

8. 集成与构建工具- Webpack:模块打包工具,常与 Vue.js 项目一起使用,支持现代 JavaScript 特性、热重载、代码分割等。Vite:一种新型的前端构建工具,提供快速的开发体验,支持 Vue3 的单文件组件热重载。

9. HTTP 请求库- Axios:基于 Promise 的 HTTP 客户端,常用于与后端 API进行交互,支持请求和响应拦截、请求取消等功能。

10. 国际化支持- vue-i18n:国际化插件,支持多语言翻译,适合需要多语言支持的 Vue 应用。

11. 部署和监控工具- NetlifyVercel:现代的前端应用托管平台,支持快速部署 Vue 应用,自动进行 CI/CD 流程。Sentry:错误监控工具,可以集成到 Vue 应用中,用于捕捉和报告运行时错误,使开发者能够及时修复问题。

10.SpringCloud

1. Spring Cloud Config- 作用:提供集中化的配置管理解决方案,支持从 Git 仓库、文件系统或其他地方加载配置。功能:动态刷新配置、配置版本管理、保护敏感信息(如密码)等。

2. Spring Cloud Netflix- 作用:一系列的 Netflix OSS组件集成,支持服务发现、负载均衡、断路器等功能。关键组件Eureka:提供服务注册与发现的功能,服务实例通过 Eureka 注册,并可以调用其他服务。Ribbon:客户端负载均衡器,自动选择可用的服务实例。Hystrix:实现断路器模式,保护服务不受故障传播,提供容错处理。Zuul:API 网关,负责路由请求到相应的微服务,并提供动态路由、负载均衡和安全功能。

3. Spring Cloud OpenFeign- 作用:声明式的 HTTP 客户端,基于 Feign,简化服务间的 HTTP 调用。功能:通过注解定义接口,自动实现 HTTP 请求,支持负载均衡和熔断。

4. Spring Cloud Gateway- 作用:用于构建 API 网关,是 Zuul 的替代品,提供功能更强大和现代化的路由。功能:支持动态路由、过滤器、限流、熔断等功能。

5. Spring Cloud Sleuth- 作用:用于分布式跟踪,集成 Zipkin 或其他跟踪系统,帮助追踪请求在微服务间的流转。功能:自动为请求生成唯一 ID,便于日志追踪和性能分析。

6. Spring Cloud Stream- 作用:用于构建消息驱动的微服务架构,支持多种消息中间件(如 Kafka、RabbitMQ 等)。功能:通过简化的编程模型,支持事件驱动、发布/订阅和消息处理。

7. Spring Cloud Bus- 作用:在分布式系统内传播状态变化,支持广播消息和集成事件。功能:在多个服务间传播配置或状态变更,结合 Spring Cloud Config 使用。

8. Spring Cloud Contract- 作用:支持消费者驱动的合约测试,确保微服务之间的契约的一致性。功能:通过定义合约,生成测试代码,实现服务间 API 的可靠性验证。

9. Spring Cloud Data Flow- 作用:用于构建和管理数据流和任务处理应用。功能:提供可视化的界面来管理数据流、任务调度和执行。

10. Spring Cloud Kubernetes- 作用:为 Kubernetes 环境提供支持,实现服务发现、配置管理、负载均衡等功能。功能:结合 Kubernetes 的特性,简化微服务在 Kubernetes 环境的部署和管理。

11.常用中间件

总结

学习Java需要掌握的内容较多,但是通过思维导图可以将这些内容进行组织和归纳,帮助学习者更好地理解和掌握Java的知识。思维导图可以帮助学习者更清晰地了解Java的各个方面,并将其融会贯通,形成一个整体的认知。同时,思维导图也可以帮助学习者更好地进行复习和回顾,将学习的知识和概念整理出来,以便更好地记忆和应用。总之,使用思维导图可以提高学习效率,帮助学习者更好地学习和理解Java。

Read more

Flutter 三方库 jwt_io 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、严谨、全能的 JSON Web Token (JWT) 加解密与身份安全验证引擎

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 jwt_io 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、严谨、全能的 JSON Web Token (JWT) 加解密与身份安全验证引擎 在鸿蒙(OpenHarmony)系统的端云一体化登录、政企应用的安全审计或复杂的跨端权限校验场景中,如何确保来自云端授信中心的 JWT Token 既能被正确解析(Decode),又能被严密地校验其合法性与过期时间?jwt_io 为开发者提供了一套工业级的、基于 RFC 7519 标准的 JSON Web Token 深度处理方案。本文将深入实战其在鸿蒙应用安全底座中的应用。 前言 什么是 JWT IO?它不仅是一个简单的 Base64 解码器,而是一个具备深厚 RFC

By Ne0inhk

Ubuntu 22.04 中禁用 `unattended-upgrades` 完全指南

Ubuntu 22.04 中禁用 unattended-upgrades 完全指南 📌 什么是 unattended-upgrades? unattended-upgrades 是 Ubuntu 系统默认预装的自动更新工具,主要用于自动下载并安装安全更新(如系统漏洞修复、关键组件补丁),无需用户手动干预。其设计目的是提升系统安全性,但在部分场景下(如服务器稳定运行、测试环境控制、带宽受限等),用户可能需要禁用该功能。 ⚠️ 禁用前的重要提醒 * 禁用自动更新后,系统将不再自动获取安全补丁,需手动定期执行更新(推荐 sudo apt update && sudo apt upgrade -y),否则可能面临安全风险。 * 以下方法适用于 Ubuntu 22.04(基于 Debian 11 架构),其他版本可能略有差异。 * 操作前建议备份关键配置文件(如 /etc/apt/

By Ne0inhk
【Linux 网络】理解并应用应用层协议:HTTP(附简单HTTP服务器C++代码)

【Linux 网络】理解并应用应用层协议:HTTP(附简单HTTP服务器C++代码)

前言:         上文我们学习到了什么是守护进程以及其原理【Linux网络】深入理解守护进程(Daemon)及其实现原理-ZEEKLOG博客         本文我们来认识应用层的协议:HTTP! HTTP协议         虽然应用层协议通常可由程序员自定义,但在实际开发中,我们通常直接使用业界专家已经定义好且非常成熟的现成协议。HTTP(超文本传输协议)就是其中最重要、最好用的应用层协议之一。         HTTP是互联网世界的基石,它定义了客户端(如浏览器)与服务器之间进行通信的标准方式,主要用于交换或传输超文本数据(例如 HTML 文档)。         HTTP协议遵循标准的请求-响应(Request-Response)模型:         请求:客户端通过HTTP协议主动向服务器发送请求。         响应:服务器收到客户端发来的请求后进行处理,并将结果作为响应返回给客户端。         HTTP协议具有两个显著特点:         无连接:每一次请求都想要建立一个新的连接,处理完既断开         无状态:服务器不会保存客

By Ne0inhk
Flutter 三方库 http_core_client 的鸿蒙化适配指南 - 打造极简、健壮的 OpenHarmony 网络请求核心组件

Flutter 三方库 http_core_client 的鸿蒙化适配指南 - 打造极简、健壮的 OpenHarmony 网络请求核心组件

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 http_core_client 的鸿蒙化适配指南 - 打造极简、健壮的 OpenHarmony 网络请求核心组件 在 Flutter 应用开发中,网络请求层(Networking Layer)是应用的生命线。虽然 dio 功能强大,但对于追求轻量化、高性能的鸿蒙应用来说,一个精简且核心功能完备的客户端库往往更具优势。http_core_client 为开发者提供了一套基于 BaseClient 封装的极简模型。在 OpenHarmony(鸿蒙)环境下,如何结合其底层网络栈、处理系统的代理配置以及优化连接复用,是构建高标准鸿蒙应用的必修课。本文将带大家深入探讨其适配要点。 前言 随着鸿蒙系统(HarmonyOS)进入原生应用开发的新阶段,网络栈的稳定性与安全性(如 TLS

By Ne0inhk