当前位置:首页 » 硬盘大全 » 缓存aop
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

缓存aop

发布时间: 2023-06-06 00:28:37

‘壹’ spring aop静态和动态的区别

原理
AOP(Aspect Oriented Programming),也就是面向方面编程的技术。AOP基于IoC基础,是对OOP的有益补充。
AOP将应用系统分为两部分,核心业务逻辑(Core business concerns)及横向的通用逻辑,也就是所谓的方面Crosscutting enterprise concerns,例如,所有大中型应用都要涉及到的持久化管理(Persistent)、事务管理(Transaction Management)、安全管理(Security)、日志管理(Logging)和调试管理(Debugging)等。
AOP正在成为软件开发的下一个光环。使用AOP,你可以将处理aspect的代码注入主程序,通常主程序的主要目的并不在于处理这些aspect。AOP可以防止代码混乱。
Spring framework是很有前途的AOP技术。作为一种非侵略性的、轻型的AOP framework,你无需使用预编译器或其他的元标签,便可以在Java程序中使用它。这意味着开发团队里只需一人要对付AOP framework,其他人还是像往常一样编程。

AOP概念
让我们从定义一些重要的AOP概念开始。
— 方面(Aspect):一个关注点的模块化,这个关注点实现可能另外横切多个对象。事务管理是J2EE应用中一个很好的横切关注点例子。方面用Spring的Advisor或拦截器实现。
— 连接点(Joinpoint):程序执行过程中明确的点,如方法的调用或特定的异常被抛出。
— 通知(Advice):在特定的连接点,AOP框架执行的动作。各种类型的通知包括“around”、“before”和“throws”通知。通知类型将在下面讨论。许多AOP框架包括Spring都是以拦截器做通知模型,维护一个“围绕”连接点的拦截器链。
— 切入点(Pointcut):指定一个通知将被引发的一系列连接点的集合。AOP框架必须允许开发者指定切入点,例如,使用正则表达式。
— 引入(Introction):添加方法或字段到被通知的类。Spring允许引入新的接口到任何被通知的对象。例如,你可以使用一个引入使任何对象实现IsModified接口,来简化缓存
— 目标对象(Target Object):包含连接点的对象,也被称作被通知或被代理对象。
— AOP代理(AOP Proxy):AOP框架创建的对象,包含通知。在Spring中,AOP代理可以是JDK动态代理或CGLIB代理。
— 编织(Weaving):组装方面来创建一个被通知对象。这可以在编译时完成(例如使用AspectJ编译器),也可以在运行时完成。Spring和其他纯Java AOP框架一样,在运行时完成织入。

‘贰’ 求java学习路线图

/*回答内容很长,能看完的少走一个月弯路,绝不抖机灵*/

提前预警:本文适合Java新手阅读(老手可在评论区给下建议),希望大家看完能有所收获。

废话不多少了,先了解一下Java零基础入门学习路线:

第一阶段:JavaSE阶段

变量、数据类型、运算符

  • 二进制和十进制的转化

  • 注释、单行注释、多行注释、文本注释、注释内容和字节码的关系

  • 标识符、关键字、驼峰原则

  • 变量的本质、内存画图、变量声明和初始化

  • 变量的分类和作用域(局部变量、成员变量、静态变量)

  • 常量和Final

  • 基本数据类型介绍

  • 整型变量和整型常量

  • 浮点类型、float、double

  • char字符型、转义字符

  • boolean布尔型、if语句使用要点、布尔类型占用空间问题

  • 运算符介绍

  • 算数运算符(二元、自增、自减)

  • 赋值和赋值运算符

  • 关系运算符详解

  • 逻辑运算符、短路运算符详解

  • 位运算符详解

  • 字符串连接符

  • 条件运算符(三元运算符)

  • 运算符优先级问题

  • 自动类型转换详解

  • 强制类型装换详解

  • 基本数据类型装换常见错误、溢出、L问题

  • 使用Scanner获取键盘输入

控制语句

  • 控制语句和实现逻辑对应

  • if单选结构

  • if_elseif_else多选结构

  • switch语句_IDEA更换主题

  • 循环_while

  • 循环_for循环_dowhile

  • 嵌套循环

  • break和continue语句_标签_控制语句底层原理

  • 写一个年薪计算机_网络查问题的秘诀(重要)

  • 个人所得税计算器软件

  • 方法核心详解_天才思维模型教你高手学习思维模式

  • 方法的重载

  • 递归结构讲解_递归头_递归体

面向对象编程-基础

  • 面向过程和面向对象的区别

  • 类和对象的概述

  • 类的属性和方法

  • 创建对象内存分析

  • 构造方法(Construtor)及重载

  • 对象类型的参数传递

  • this关键字

  • static关键字详解

  • 局部代码块、构造代码块和静态代码块

  • package和import详解

  • JavaDoc生成API文档

面向对象编程-进阶

  • 面向对象的三大特性

  • 面向对象之【封装(Encapsulation)】

  • 访问权限修饰符

  • 面向对象之【继承(Inheritance)】

  • Object类

  • 方法重写Override

  • super关键字详解

  • 重写equals()和toString()

  • 继承中对象创建的内存分析

  • 面向对象之【多态(Polymorphism)】

  • 向上转型

  • 向下转型

  • instanceof运算符

  • 编译时和运行时详解

  • final修饰符

  • 抽象类和抽象方法(abstrct)

  • 接口的定义和实现

  • JDK8的接口新特性

  • 接口应用:内部类比较器Comparable

  • 内部类详解

  • Java的内存管理与垃圾回收

异常机制

  • 异常的概述

  • 异常的执行过程与分析

  • try-catch-finally捕捉异常

  • throw抛出异常

  • throws声明异常

  • 异常继承体系

  • 运行时异常和编译异常

  • 自定义异常

Java常用类

Wrapper包装类

  • 自动装箱和自动拆箱

  • 包装类的源码分析

  • String类的使用与内存原理

  • String类的源码分析

  • StringBuffer

  • StringBuilder

  • 字符串处理类性能分析

  • Date类

  • System类

  • DateFormat类

  • Calendat类

  • Math类

  • BigInteger类和BigDecimal类

  • Random类

  • 枚举类

  • File类

  • 常见的面试题讲述与分析

  • 数据结构算法

  • 数据结构的概述

  • 线性表

  • 顺序表

  • 链表

  • 栈和队列

  • 二叉树

  • 二叉查找树

  • 二叉平衡树

  • 黑红树

  • 冒泡排序

  • 选择排序

  • 递归

  • 折半查找

  • 集合(容器)

  • 集合和数组的联系和区别

  • 集合框架体系

  • ArrayList的使用和源码分析

  • 集合中使用泛型

  • LinkedList的使用和源码分析

  • HashSet的使用和源码分析

  • 哈希表及原理

  • TreeSet的使用和源码分析

  • 比较器Comparable和Comparator

  • HashMap的使用和源码分析

  • TreeMap的使用和源码分析

  • Iterator于ListIterator

  • Collections工具类

  • 旧集合类Vector、Hashtable

  • 集合总结和选择依据

  • 泛型接口

  • 泛型类

  • 泛型方法

  • IO流

  • IO流的概念

  • IO流的分类及其原理分析

  • 文件流FlieInputStream、FileOutputStream

  • 缓冲流BufferedInputStream、BufferedOutputStream

  • 数据流ObjectInputStream、ObjectOutputStream

  • 序列化和反序列化

  • 转换流InputStreamReader、OutputStreamWriter

  • 打印流PrintWrite和PrintStream

  • 数组流ByteArrayOutputStream、ByteArrayInputStream

  • 使用IO复制文件夹

  • 多线程

  • 进程和线程

  • 线程的创建与启动

  • 创建线程的三种方式对比

  • 线程的生命周期

  • 线程控制

  • 多线程的安全问题与解决办法

  • 线程的同步:同步代码块

  • 线程的同步:同步方法

  • 线程的同步:Lock锁

  • 线程的死锁问题

  • 线程通信

  • Condition

  • 线程的完整生命周期

  • 线程池ThreadPoolExecutor

  • ForkJoin框架

  • ThreadLocal类

  • 网络编程

  • 计算机网络基础知识

  • 网络通信协议

  • OSI参考模型

  • TCP/IP参考模型

  • 数据的封装与拆封原理解析

  • TCP协议

  • UDP协议

  • IP地址和端口号

  • URL和Socket

  • 使用TCP编程实现登录功能

  • 使用UDP编程实现客服系统

  • 使用TCP编程实现文件上传

  • 集合提升寻训练

  • 手写ArrayList

  • 手写单链表

  • 手写Linkedlist

  • 手写HashMap

  • 手写HashSet

  • 最新并发集合类

  • 多线程提升训练

  • 生产者消费者模式扩展

  • Lock锁和Condition

  • ReadWriteLock

  • BlockingQueue

  • volatile关键字

  • 多线程题目练习

  • JDK新特征

  • 面试题详解

  • 设计模式

  • 设计模式入门

  • 面向对象设计七大原则

  • 简单工厂模式

  • 工厂方法模式

  • 单例模式

  • 原型模式

  • 装饰模式

  • 适配器模式

  • 外观模式

第二阶段:数据库

    Mysql基础

  • 数据库基础知识

  • MySQL基础知识

  • MySQL8新特征

  • 安装和卸载MySQL8

  • 使用navicat访问数据库

  • SQL语言入门

  • 创建数据库表

  • DML

  • 修改删除数据库表

  • 表的完整性约束

  • 表的外键约束

  • DML扩展

  • MySQL 查询语句

  • 基本select查询

  • where子句

  • 函数

  • group by

  • having

  • SQL99-内连接查询

  • SQL99-外连接查询

  • SQL99-自连接查询

  • SQL92-连接查询

  • 不相关子查询

  • 相关子查询

  • 分页查询

  • 数据库对象

  • 索引

  • 事务及其特征

  • 事务的并发问题

  • 事务的隔离级别

  • 存储过程

  • 导入导出数据

  • JDBC

  • JDBC概述

  • 使用JDBC完成添加/更新/删除操作

  • 使用JDBC完成查询操作

  • JDBC常用接口

  • 使用PreparedStatement

  • 使用事务完成银行转账

  • 提取DBUtil工具类

  • 使用Properties读写属性文件

  • 日志框架log4j

  • 开发员工管理系统

第三阶段:JavaEE阶段

      Servlet

    • web开发概述

    • B/S和C/S架构简介

    • HTTP协议

    • HTTP请求头和响应头

    • Tomcat安装使用

    • Tomcat目录结构

    • Servlet概述

    • Servlet快速入门

    • Servlet生命周期

    • 读取配置文件信息

    • HttpServletRequest

    • HttpServletResponse

    • GET和POST区别

    • 解决中文乱码

    • 请求转发与重定向

    • 绝对路径和相对路径

    • Cookie

    • Session

    • ServletContext

    • ServletConfig

    • JSP

    • JSP技术介绍

    • JSP的执行过程

    • scriptlet

    • 表达式

    • 声明

    • JSP指令元素

    • JSP动作元素

    • JSP隐式对象

    • JSP底层原理

    • 九大内置对象

    • 四个作用域

    • Servlet和JSP的关系和区别

    • MVC模式

    • 合并Servlet

    • JavaScript

    • JavaScript概述与特点

    • JS基础语法

    • 函数

    • 数组

    • Math对象

    • String对象

    • Date对象

    • 事件event

    • 浏览器开发者工具

    • console

    • DOM和BOM

    • window

    • location

    • navigator

    • history

    • 认识DOM

    • DOM获取元素

    • jQuery

    • jQuery简介及快速入门

    • jQuery入口函数

    • jQuery对象与DOM对象互相转换

    • 基本选择器

    • 属性选择器

    • 位置选择器

    • 表单选择器

    • 内容选择器

    • jQuery事件

    • jQuery动画效果

    • DOM操作-操作文本

    • DOM操作-操作属性

    • DOM操作-操作元素

    • 直接操作CSS样式

    • 操作CSS类样式

    • 购物车案例

    • 表单验证

    • 正则表达式

    • EL+JSTL+过滤器+监听器

    • EL介绍及使用

    • EL取值原理

    • EL隐含对象

    • EL逻辑运算

    • JSTL介绍-核心标签库

    • JSTL核心标签库

    • JSTL-格式标签库

    • Filter原理

    • Filter生命周期

    • Filter链

    • Filter登录验证

    • Filter权限控制

    • Listener概述及分类

    • Listener监听在线用户

    • Ajax和JSON

    • Ajax异步请求和局部刷新的原理

    • 使用原生Ajax验证用户唯一性

    • jQuery Ajax

    • JSON的格式和使用

    • 主要JSON解析器

    • Jackson的使用

    • Jackson的实现原理

    • 使用jQuery Ajax实现三级联动

    • 使用jQuery Ajax实现自动补全

    • 分页和文件上传/下载

    • 分页的意义

    • 理解分页工具类

    • 实现基本分页

    • 实现带查询的分页

    • 文件上传原理

    • 文件上传API

    • 实现文件上传

    • 文件下载原理

    • 文件下载响应头

    • 实现文件下载

    第四阶段:框架阶段

      MyBatis

    • MyBatis概述

    • MyBatis入门配置

    • 基本的CRUD操作

    • 核心配置文件详解

    • Mapper.xml基础详解

    • 模糊查询

    • 分页的实现及插件PageHelper的使用

    • 动态sql+sql片段的使用

    • 一对多、多对一的关系处理

    • 注解的使用

    • 一级缓存和二级缓存说明及使用

    • generator逆向工程使用

    • Spring

    • Spring框架简介

    • Spring官方压缩包目录介绍

    • Spring环境搭建

    • IoC/DI容器详解

    • Spring创建Bean的三种方式

    • scope属性讲解

    • Spring中几种注入方式

    • 静态代理设计模式

    • 动态代理设计模式

    • AOP详解

    • AOP中几种通知类型

    • AOP两种实现方式

    • 自动注入

    • 声明式事务

    • 事务传播行为

    • 事务隔离级别

    • 只读事务

    • 事务回滚

    • 基于注解式配置

    • 常用注解

    • Spring 整合MyBatis

    • i18n

    • Spring整合Junit

    • SpringMVC

    • MVC架构模式

    • 手写MVC框架

    • SpringMVC简介

    • SpringMVC运行原理

    • 基于配置文件方式搭建环境

    • 基于注解方式搭建环境

    • SpringMVC的跳转及视图解析器的配置

    • SpringMVC和Ajax的交互

    • Spring 参数注入

    • SpringMVC作用域传值

    • 视图解析器

    • 文件下载

    • 文件上传

    • Spring拦截器/拦截器栈

    • 登录状态验证

    • SpringMVC容器和Spring容器介绍

    • 异常处理4种方式

    • SpringMVC5其他常用注解

    • Maven

    • Maven简介

    • Maven原理

    • Linux安装及注意事项

    • Maven项目结构

    • POM模型

    • Maven 中项目类型

    • 创建WAR类型的Maven项目

    • scope属性可取值

    • SSM项目拆分演示

    • Maven的常见插件讲解

    • 热部署

    • BootStrap

    • BootStrap概述

    • BootStrap栅格系统

    • BootStrap常用全局CSS样式

    • 常用组件

    • 常用JavaScript插件

    • RBAC

    • RBAC概述

    • RBAC发展历史

    • 基于RBAC的数据库表设计

    • URL拦截实现

    • 动态菜单实现

    • 密码学

    第五阶段:前后端分离阶段

      Spring Boot

    • Spring Boot简介

    • Spring Boot实现Spring MVC

    • 配置文件顺序及类型讲解

    • Spring Boot项目结构

    • Spring Boot 整合MyBatis

    • Spring Boot 整合Druid

    • Spring Boot 整合PageHelper

    • Spring Boot 整合logback

    • Spring Boot 整合JSP

    • Spring Boot 整合Thymeleaf

    • Spring Boot 开发者工具

    • Spring Boot 异常显示页面

    • Spring Boot 整合Junit4

    • Spring Boot 项目打包部署

    • Spring Boot 整合Quartz

    • Spring Boot 中Interceptor使用

    • Spring Boot Actuator

    • HikariCP

    • Logback

    • Logback简介

    • Logback依赖说明

    • Logback 配置文件讲解

    • Logback 控制台输出

    • Logback 文件输出

    • Logback 数据库输出

    • Spring Security

    • Spring Security简介

    • Spring Security架构原理

    • 什么是认证和授权

    • 基础环境搭建

    • 自定义认证流程

    • UserDetailsService和UserDetails

    • PasswordEncoder

    • 自定义认证结果

    • 授权-访问路径匹配方式

    • 授权-权限管理

    • 基于注解实现权限管理

    • Thymeleaf整合Security权限管理

    • Rememberme 实现

    • 退出实现

    • CSRF

    • Linux - CentOS 8

    • Linux简介

    • VMWare安装及使用

    • Linux安装及注意事项

    • Linux目录结构及路径

    • Linux常用命令

    • VMWare常用配置

    • XShell安装及使用

    • Xftp安装及使用

    • JDK解压版配置步骤

    • Tomcat配置步骤

    • 安装MySQL

    • WAR包部署

    • Docker

    • Docker简介

    • Docker与VM对比

    • Docker特点

    • Docker架构

    • Docker安装与启动

    • 镜像加速器配置

    • Docker镜像操作常用命令

    • Docker容器操作常用命令

    • DockerFile

    • 搭建本地镜像仓库

    • 推送镜像到阿里云及本地仓库

    • Docker容器生命周期

    • Docker数据管理

    • Redis

    • Redis简介

    • Redis 单机版安装

    • Redis 数据类型介绍

    • Redis 常用命令

    • Redis 持久化方案

    • Redis 的主从搭建

    • Redis的哨兵搭建

    • Redis 的集群搭建

    • Spring Boot整合Spring Data Redis

    • Redis的缓存穿透

    • Redis的缓存雪崩

    • Redis的缓存击穿

    • Vue

    • vsCode和插件安装

    • webpack介绍

    • Vue项目创建

    • Vue模板语法

    • Vue条件渲染

    • Vue列表渲染

    • Vue事件处理

    • Vue计算属性

    • Vue Class与Style

    • Vue表单处理

    • Vue组件

    • Vue组件生命周期

    • Vue 路由配置

    • Vue Axios网络请求

    • Vue跨域处理

    • Vue Element

    • Mock.js

    • Swagger

    • Swagger2简介

    • Springfox

    • Swagger2基本用法

    • Swagger-UI用法

    • Swagger2配置

    • Swagger2常用配置

    • Git/GitEE

    • Git的下载和安装

    • Git和SVN对比

    • Git创建版本库

    • Git版本控制

    • Git远程仓库

    • Git分支管理

    • Git标签管理

    • GitEE建库

    • GitEE 连接及使用

    • GitEE 组员及管理员配置

    第六阶段:微服务架构

      FastDFS

    • 分布式文件系统概述

    • FastDFS简介

    • FastDFS架构

    • Tracker Server

    • Storage Server

    • FastDFS安装

    • 安装带有FastDFS模块的Nginx

    • Fastdfs-java-client的使用

    • 创建Fastdfs-java-client工具类

    • 实现文件上传与下载

    • KindEditor介绍

    • 通过KindEditor实现文件上传并回显

    • RabbitMQ

    • AMQP简介

    • RabbitMQ简介

    • 安装Erlang

    • 安装RabbitMQ

    • RabbitMQ原理

    • Spring Boot 集成RabbitMQ

    • RabbitMQ的交换器

    • Spring AMQP的使用

    • Spring Cloud Netflix Eureka

    • Eureka简介

    • Eureka和Zookeeper 对比

    • 搭建Eureka注册中心

    • Eureka 服务管理平台介绍

    • 搭建高可用集群

    • 集群原理

    • Eureka优雅停服

    • Spring Cloud Netflix Ribbon

    • Ribbon简介

    • 集中式与进程内负载均衡区别

    • Ribbon常见的负载均衡策略

    • Ribbon的点对点直连

    • Spring Cloud OpenFeign

    • Feign简介

    • Feign的请求参数处理

    • Feign的性能优化

    • 配置Feign负载均衡请求超时时间

    • Spring Cloud Netflix Hystrix

    • Hystrix简介

    • 服务降级

    • 服务熔断

    • 请求缓存

    • Feign的雪崩处理

    • 可视化的数据监控Hystrix-dashboard

    • Spring Cloud Gateway

    • Spring Cloud Gateway简介

    • Gateway基于配置文件实现路由功能

    • Gateway基于配置类实现路由功能

    • Gateway中内置过滤器的使用

    • Gateway中自定义GatewayFilter过滤器的使用

    • Gateway中自定义GlobalFilter过滤器的使用

    • Gateway中使用过滤器实现鉴权

    • Gateway结合Hystrix实现熔断功能

    • Spring Cloud Config

    • 什么是分布式配置中心

    • 创建配置中心服务端

    • 创建配置中心客户端

    • 基于Gitee存储配置文件

    • 基于分布式配置中心实现热刷新

    • Spring Cloud Bus

    • 什么是消息总线

    • 基于消息总线实现全局热刷新

    • ELK

    • ElasticSearch介绍

    • ElasticSearch单机版安装

    • ElasticSearch集群版安装

    • ElasticSearch索引管理

    • ElasticSearch文档管理

    • ElasticSearch文档搜索

    • SpringDataElasticSearch访问ElasticSearch

    • LogStash介绍

    • 基于LogStash收集系统日志

    • TX-LCN

    • 分布式事务简介

    • 分布式事务两大理论依据

    • 分布式事务常见解决方案

    • LCN简介

    • TX-LCN的3种模式

    • LCN原理

    • LCN环境搭建及Demo演示

    • Nginx

    • Nginx的简介

    • 什么是正向代理、反向代理

    • Nginx的安装

    • Nginx配置虚拟主机

    • Nginx配置服务的反向代理

    • Nginx的负载均衡配置

    • Spring Session

    • Spring Session介绍

    • 通过Spring Session共享session中的数据

    • 通过Spring Session同步自定义对象

    • Spring Session的Redis存储结构

    • 设置Session失效时间

    • Spring Session序列化器

    • MyBatis Plus

    • MyBatis Plus简介

    • Spring整合MyBatis Plus

    • MyBatis Plus的全局策略配置

    • MyBatis 的主键生成策略

    • MyBatis Plus的CRUD操作

    • 条件构造器EntityWrapper讲解

    • MyBatis Plus的分页插件配置

    • MyBatis Plus的分页查询

    • MyBatis Plus的其他插件讲解

    • MyBatis Plus的代码生成器讲解

    • MyBatis Plus的公共字段自动填充

    • ShardingSphere

    • 简介

    • 数据库切分方式

    • 基本概念

    • MySQL主从配置

    • 切片规则

    • 读写分离

    • 实现分库分表

    第七阶段:云服务阶段

      Kafka

    • Kafka简介

    • Kafka架构

    • 分区和日志

    • Kafka单机安装

    • Kafka集群配置

    • 自定义分区

    • 自动控制

    • Spring for Apache Kafka

    • Zookeeper

    • Zookeeper简介和安装

    • Zookeeper 数据模型

    • Zookeeper 单机版安装

    • Zookeeper常见命令

    • ZClient操作Zookeeper

    • Zookeeper 集群版安装

    • Zookeeper 客户端常用命令

    • Zookeeper分布式锁

    • RPC

    • 什么是分布式架构

    • 什么是RFC、RPC

    • HttpClient实现RPC

    • RestTemplate

    • RMI实现RPC

    • 基于Zookeeper实现RPC 远程过程调用

    • Dubbo

    • SOA架构介绍

    • Dubbo简介

    • Dubbo结构图

    • Dubbo注册中心

    • Dubbo 支持的协议

    • Dubbo 注册中心搭建

    • Spring Boot 整合 Dubbo

    • Admin管理界面

    • Dubbo 搭建高可用集群

    • Dubbo 负载均衡

    • Spring Cloud Alibaba Dubbo

    • Spring Cloud Alibaba Dubbo简介

    • 基于Zookeeper发布服务

    • 基于Zookeeper订阅服务

    • 实现远程服务调用处理

    • Spring Cloud Alibaba Nacos

    • Spring Cloud Alibaba Nacos简介

    • 搭建Nacos服务器

    • 基于Nacos发布|订阅服务

    • 实现远程服务调用处理

    • Nacos Config配置中心

    • Spring Cloud Alibaba Sentinel

    • Spring Cloud Alibaba Sentinel简介

    • 搭建Sentinel服务器

    • Sentinel-实时监控

    • Sentinel-簇点链路

    • Sentinel-授权规则

    • Sentinel-系统规则

    • @SentinelResource注解

    • 持久化规则

    • Spring Cloud Alibaba Seata

    • Spring Cloud Alibaba Seata简介

    • 搭建Seata服务器

    • Seata支持的事务模式-AT模式

    • Seata支持的事务模式-TCC模式

    • Seata支持的事务模式-Saga模式

    • Seata支持的事务模式-XA模式

    • SeataAT事务模式应用方式

    • SeataTCC事务模式应用方式

    ‘叁’ 编程中的代码能看懂。。但是让自己写却写不出来。应该怎么办 要有效果的方法

    多敲!!!多敲!!!多敲!!!

    基本上每一个初学者都会遇到这样的问题,包括我之前也是一样,导致的原因就是自己不喜欢动手,就算自己有了思路,却不知道从何下手;因为在你的脑海中一直对这些题目都是存在于数学上面的操作,真的要使用代码去实现的时候你脑子就会一篇空白

    一个代码写多了的人,不管你的需求再难,他也能写出一个基本的框架出来,也不至于无从下手,因为代码写多了的人都会总结出一套规律,开发都是这一个套路

    《2020最新Java基础精讲视频教程和学习路线!》

    就跟你建房子一样,基本的框架搭建完毕之后,只需要慢慢砌砖就行了

    抄代码虽然是程序员的日常,但是初学者非常不建议去抄代码,抄的代码只会让你越抄越乱,从而使自己的思维就依赖在了网络上,自己一点思维都没有,那有如何去提升自己呢

    代码一定要有自己的思路,然后再把自己的思路转为代码实现,这才是学习Java的正确方式

    原文链接:网页链接

    ‘肆’ 推荐几本javaEE的书籍,经典的。不要李刚的(虽然讲的好,但是繁琐,基础东西太多了)。结合了三大框架的

    第一部分: Java语言篇
    1 《Java编程规范》
    星级:
    适合对象:初级,中级
    介绍:作者James Gosling(Java之父),所以这本书我觉得你怎么也得读一下。对基础讲解的很不错。

    2 《Java核心技术:卷Ⅰ基础知识》
    星级:
    适合对象:初级,中级
    介绍:官方机构图书,你怎么也得有一本,这本书比较全面而且易懂。放在案旁用到的时候查一查,看一看。是学习入门必备书。
    当然还有II
    注:新手必备

    3 《Java编程思想》
    星级:
    适合对象:初级,中级
    介绍:这本书的作者就是着名的C++编程思想,对OO的理解很好,Java作为一门面向对象的语言,你学习Java最好也同时参考这本书进行入门学习。
    注:新手必备

    4 《Effective Java》
    星级:

    适合对象:初级,中级,高级
    介绍:作者是Java的第2号人物,目前是Google的Java老大,是James Gosling强力推荐的一本书。

    5 《Java与模式》
    星级:

    适合对象:中级,高级
    介绍:是国人写的难得的值得购买的一本书,当然现在也有大话设计模式之类的出现,这本书出现的比较早,是初级到中高级必读的图书之一。

    注:没有理解面向对象前,读这本书没有意义。最好是有过项目经验再读比较好。

    6 《SCJP学习指南》
    星级:
    适合对象:初级,中级

    介绍:官方考试必备图书,对你检验自己学些Java知识情况很有帮助,这本书最适合学生阅读,这本书理解透了,找工作面试Java题目不会有任何问题,工作多年的拿这里的题目不会做的都很多。

    7 《Java数据结构和算法》
    星级:

    适合对象:初级,中级,高级
    介绍:这本书使用Java语言描述了我们常用的数据结构,写的非常不错。值得一看,不过目前基本断货(这个就是最有利的说明)。

    8《Junit Recipes中文版:程序员实用测试技巧》
    星级:

    适合对象:初级,中级,高级
    介绍:目前敏捷盛行,这个你是不管怎样也得看一看的。

    第二部分:中级进阶篇
    1《spring in action》
    星级:
    适合对象:初级,中级,高级
    介绍:Spring框架,作为Java程序员是怎么都必须学习的。IOC、AOP是你以后见到的软件的基础。另外基本上很多东西都和Spring产生联系。

    2《精通Spring 2.x:企业应用开发详解》
    星级:
    适合对象:初级,中级,高级
    介绍:书中提供了Spring中的目前最流行用法的实例和实用情况。

    3《iBatis实践》
    星级:
    适合对象:初级,中级,高级
    介绍:iBatis必看参考书,in action从未让人失望过。

    4 《精通hibernate:Java对象持久化技术详解》
    星级:
    适合对象:初级,中级,高级
    介绍:Hibernate必备参考书,也是国人写的,难得的一本好书,而且作者是个MM。

    5 《Struts 2.1权威指南》
    星级:
    适合对象:初级,中级
    介绍:学习Struts2的一本国人写的不错的书,不过名称显得大了点。权威指南应该只有作者才可以这么叫。

    6 《Maven实践》
    星级:
    适合对象:初级,中级
    介绍:从Ant到Maven现在时大势所趋了,您怎么也得学习一下。

    7《expert one-on-one J2EE Development without EJB中文版》
    星级:
    适合对象:初级,中级
    介绍:这个其实是Spring的基础,作者巨牛。强力推荐,可惜是基本买不到这本书了。

    8 《Tomcat权威指南》
    星级:
    适合对象:初级,中级
    介绍:做Java Web的一般都必须学习这个,为Apache的开源项目。

    9 《Head First Servlets & Jsp》
    星级:
    适合对象:初级,中级
    介绍:Servlet和Jsp作为JavaEE程序员是必须要掌握好的,而且Head First系列从未令人失望。

    10 《Head First HTML与CSS.XHTML》
    星级:
    适合对象:初级
    介绍:介绍Web前端的不错的入门书。

    11 《HTML+CSS网页设计与布局从入门到精通》
    星级:
    适合对象:初级
    介绍:这本书最大的特点是带光盘而且讲解的不错,应用实例也不错。

    12 《JavaScript宝典》

    星级:
    适合对象:初级,中级,高级
    介绍:是学习js的必备参考工具书之一,我记得几年前国内都没有中文版,我都把整本书打印出来看了一下。

    13 《JavaScript权威指南》
    星级:
    适合对象:初级,中级,高级
    介绍:是学习js的必备参考工具书之一。我看我同事购买了,看起来还不错。

    14 《征服Ajax Web2.0开发技术详解》
    星级:
    适合对象:初级,中级
    介绍:这本书当年是CSDN送给我的,感觉还是不错的。对学习AJAX有帮助。

    15 《jQuery基础教程》
    星级:
    适合对象:初级,中级,高级
    介绍:从这个开始学习jQuery才是根本。不然以后遇到的很多奇怪问题不知所以然。jQuery个人感觉已经成为目前的javascript标准库了,插件无数,大大简化了前端工作。

    16 《XML入门经典》
    星级:
    适合对象:初级,中级,高级
    介绍:很多人觉得没必要买XML书籍,不过我还是觉得推荐一本给你作为工具书,而且看本书可以使得你对XML方方面面有个了解。里面不少东西还是用到的。

    17 《敏捷软件开发(原则模式与实践)》

    星级:
    适合对象:中级,高级
    介绍:敏捷大师的着作,您怎么也得看看。这本书包含了UML的讲解,所以我就不推荐UML的书了。

    18 《重构:改善既有代码的设计》
    星级:
    适合对象:中级,高级
    介绍:同样是大师的杰作,不可不看。最重要的是让你明白软件也是一步步改进的,不是一蹴而就的。

    19 《代码整洁之道》
    星级:
    适合对象:中级,高级
    介绍:软件工程的理想编码是需要无数人编出来的代码像一个人写的。这本书当作规范就不错。

    星级:20 《Java Web Service》
    适合对象:中级,高级
    介绍:不过还是推荐一下我看过的吧。了解基本概念还是要本书的。
    注意:WebService的图书我还真不知道给您推荐什么,都不怎么样。您做个实例就明白,不过怎么做接口才是核心。
    第三部分:高级篇
    1 《Java消息服务》
    星级:
    适合对象:初级,中级,高级
    介绍:消息机制是以前分布式经常实用到的,与此相关的有Apache Active MQ进行开发,而且这本书的实例也是用的AQ。

    星级:2 《Java并发实践》
    适合对象:中级,高级
    介绍:这本书也是牛人们强力推荐的,学习并发必备。

    Java Thread Programming
    另外推荐一本英文的:

    3 《Enterprise JavaBeans 3.0中文版》
    星级:
    适合对象:中级,高级
    介绍:EJB技术在大型系统中使用,主要有银行等金融机构。是开发分布式程序的选项之一,不过我不喜欢,其实银行使用的也不怎么的。结合JavaEE容器使用,开源的有JBoss,商用的有IBM和Oracle支持。

    4 《Hadoop权威指南》注:该类型书也有Head First系列,也很不错。另外《J2EE应用与BEA WebLogic Server》书也很不错。
    星级:
    适合对象:中级,高级
    介绍:云计算必备图书。作为分布式计算的工具,Hadoop目前可以说是市场上唯一成熟的产品,而且大家也都向其看齐。而起云计算炙手可热,你搞明白这本书就大概明白了什么是云以及怎么做云。做Hadoop的没人不读这本书,没读过的也不要说你搞过Hadoop。

    星级:附: 《Linux 鸟哥的私房菜》
    适合对象:初级,中级,高级
    介绍:这本书对使用和学习Linux很有用,大而全,解释的也不错,常用的基本都有了,一本在手,绝无顾忧。

    最后,推荐一本贯彻全部软件工程和全文的图书《代码大全》,只是一句话:两届Software Development Magzine Jolt Award震撼大奖得主。

    最近发现有人购买我的2手书:附加:
    深入Java虚拟机(原书第2版)附光盘---SUN公司核心技术丛书
    所以我推荐一下下面的这本:
    The Java Virtual Machine Specification
    个人认为这个写的比较好,并且更权威。