【Redis】Redis 预备知识 本文围绕 Redis 相关内容展开。首先介绍了如 KEYS、EXISTS 等基本全局命令及其作用。接着提及数据结构和内部编码方面知识。最后阐述了 Redis 的单线程架构特点。通过这些内容,能帮助读者初步了解 Redis 在命令使用、结构编码及架构上的关键要点。
【Redis】Redis介绍 本文围绕 Redis 展开阐述。首先介绍 Redis 是一款具备多种特性的工具,其速度快,基于键值对的数据结构,功能丰富且简单稳定,支持多客户端语言,还有持久化、主从复制、高可用及分布式等特性。接着指出 Redis 的诸多使用场景,涵盖缓存、排行榜系统、计数器应用、社交网络、消息队列系统等方面。最后还提及 Redis 不可以做的事情。总体而言,通过对 Redis 的特性、应用场景及限制的介绍,能让读者较为全面地了解 Redis。
【JavaEE进阶】Spring 事务和事务传播机制 本文全面阐述了事务相关内容。先是回顾事务,包括其定义为一组操作的集合,要么全成功要么全失败;阐述需要事务来保证数据一致性和完整性;介绍事务操作。接着讲 Spring 事务实现,编程式事务作简单了解,重点是声明式 @Transactional。通过对比事务提交和回滚日志加深理解。还详细解析 @Transactional,如 rollbackFor 属性和失效场景。同时涵盖事务隔离级别,包括 MySQL 和 Spring 的相关内容,以及 Spring 事务传播机制的概念和多种类型。
【JavaEE进阶】Spring AOP 原理 文章先介绍代理模式,即通过代理类控制对其他对象的访问。分为静态和动态代理。静态代理在程序运行前代理类已存在,手动编写代码实现,不够灵活。JDK 动态代理在运行时利用反射创建,需实现 InvocationHandler 接口,但只能代理接口。CGLIB 动态代理基于字节码生成库,通过继承实现,可代理类和接口,需添加依赖。还讲解了它们在框架中的应用,如 Spring AOP 会根据情况选择,同时对比了两者的区别。
【RabbitMQ】RabbitMQ 的概念以及使用RabbitMQ编写生产者消费者代码 本文介绍了 RabbitMQ 的核心概念,包括生产者、消费者、Connection 和 Channel、Virtual host、Queue、Exchange 等,还讲解了 AMQP 协议及 RabbitMQ 快速入门,包括引入依赖、编写生产者和消费者代码及示例。
【JavaEE】JVM 内存区域划分,以及 Java 垃圾回收机制引用计数器,可达性分析等 本文主要介绍了JVM 内存区域划分, 堆, 栈, 程序计数器, 元数据区,以及 Java 垃圾回收机制引用计数器,可达性分析, 垃圾回收算法等
【数据结构】十大排序算法总结和代码实现(插入, 希尔, 选择, 堆排, 冒泡, 快排, 归并, 计数) 本文主要介绍了十大排序算法总结和代码实现(插入, 希尔, 选择, 堆排, 冒泡, 快排, 归并, 计数)
【JavaEE进阶】数据库加密 -- MD5 加密方法 是指把任意长度的输入消息数据转化为固定长度的输出数据的一种密码算法. 摘要算法是不可逆的, 也就是无法解密. 通常用来检验数据的完整性的重要技术, 即对数据进行哈希计算然后比较摘要值, 判断是否一致. 常见的摘要算法有: MD5, SHA系列(SHA1, SHA2等), CRC(CRC8, CRC16, CRC32)
【JavaEE进阶】用户登录场景中的令牌技术(JWT令牌) JWT全称: JSON Web Token官网:JSON Web Token(JWT) 是一个开放的行业标准(RFC 7519), 用于客户端和服务器之间传递安全可靠的信息.其本质是一个token, 是一种紧凑的URL安全方法.
【JavaEE进阶】Spring AOP使用篇 创建一个注解类(和创建Class文件一样的流程, 选择Annotation就可以了)代码简单说明, 了解即可, 不做过多的解释1. @Target 标识了 Annotation 所修饰的对象范围, 及该注解可以用在什么地方.常用取值:ElementType.TYPE: 用于描述类, 接口(包括注解类型)或 enum 声明ElementType.METHOD: 描述方法ElementType.PARAMETER: 描述参数ElementType.TYPE_USE: 可以标注任意类型。
【JavaEE进阶】Spring统一功能处理:统一异常处理和统一结果返回 2.降低前端程序员和后端程序员的沟通成本,按照某个格式实现就可以了, 因为所有接口都是这样返回的.4.有利于后端技术部门门]的统一规范的标准制定,不会出现稀奇古怪的返回内容.在图书管理系统中的强制登录的过程中, 我们共做了两步工作。1.方便前端程序员更好的接收和解析后端数据接口返回的数据。在多次测试不同的返回结果之后, 发现只有返回结果为。2.对后端返回数据进行封装, 告知前端处理的结果。类名, 方法名和返回值可以自定义, 重要的是注解。要进行处理,其他的不进行处理.接口返回为数据是, 需要加上。
【JavaEE进阶】Spring统一功能处理:拦截器的使用 定义拦截器: 实现HandlerInterceptor接口, 并重写其所有方法@Slf4j@Overridelog.info("LoginInterceptor ⽬标⽅法执⾏前执⾏..");@Overridelog.info("LoginInterceptor ⽬标⽅法执⾏后执⾏");@Overridelog.info("LoginInterceptor 视图渲染完毕后执⾏,最后执⾏");
【JavaEE进阶】Cookie和Session详解 Cookie是服务器传给客户端的体积很小的纯文本文件。客户端请求服务器,如果服务器需要记录该用户状态,就向客户端浏览器发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。HTTP协议自身是属于"无状态"协议."无状态"的含义指的是:默认情况下HTTP协议的客户端和服务器之间的这次通信,和下次通信之间没有直接的联系.
【JavaEE进阶】SpringMVC中的常用注解和用法 是应用程序中最常被用到的注解之一, 它是用来注册接口的路由映射的.表示服务收到请求时, 路径为/sayHi的请求就会调用sayHi这个方法的代码.当用户访问一个URL时,将用户的请求对应到程序中某个类的某个方法的过程就叫路由映射.既然已经可以达到我们的⽬的了, 我们为什么还要加呢?我们把去掉, 再来访问⼀次:可以看到, 程序报了404, 找不到该页⾯.这就是起到的作用.一个项目中,会有很多类,每个类可能有很多的方法,Spring程序怎么知道要执行哪个方法呢?