后端

27. Java中的反射机制

1、Java中创建对象的方式 new + 构造方法 反序列化(存储在文件中对象,还原回来) java反射机制 2、已经使用反射的场景 jdbc 加载驱动 Class.forName("com.mysql.jdbc.Driver"); servlet servlet 对象有服务器创建 <servlet-class>com.company.project.servle

Mybatis的代理对象MapperProxy的CURD

上篇-原生mybatis流程 因Mapper是interface,不能实例化对象,所以必须使用动态代理(使用JDK动态代理)创建代理对象MapperProxy,又因Mapper是接口,没有具体的方法体,所以MapperProxy的invoke方法中自行编写方法逻辑,下面介绍CURD的执行过程。 public class MapperProxy<T> implements Invocat

Java/Spring/Dubbo三种SPI机制,到底谁更好?

SPI 机制应用在了大家项目中的很多地方,在很多框架中也有普遍应用,只不过很多人并没有感知。 举个例子,为什么我们在项目中引入 mysql-connector 的 jar 包,就可以直接连接 MySQL 数据库了? 本篇文章就来介绍一下 SPI,聊聊 Java 、Spring、Dubbo 中的 SPI 机制。 SPI SPI ( Service Provider Interface),是一种服务发

【MySQL数据库基础】(六)MySQL 表的约束详解:从基础到实战,拿捏数据合法性!

前言         在 MySQL 数据库开发中,我们总希望存入表中的数据是合法、规范、符合业务逻辑的。虽然数据类型能对字段做基础限制,但面对复杂的业务需求,仅靠数据类型远远不够。比如要求邮箱唯一、用户名不能为空、学生的班级必须是已存在的班级…… 这些需求都需要靠表的约束来实现。         表的约束是数据库保证数据完整性的核心手段,

在SpringBoot中使用logback优化异常堆栈的输出

一、背景 在我们在编写程序的过程中,无法保证自己的代码不抛出异常。当我们抛出异常的时候,通常会将整个异常堆栈的信息使用日志记录下来。通常一整个异常堆栈的信息是比较多的,而且存在一些没用的信息。那么我们如何优化一些异常堆栈的信息打印,过滤掉不必要的信息呢? 二、需求 1、现有的异常堆栈信息 现有的异常堆栈信息 2、我们想优化成如下 优化后的堆栈信息 三、使用的技术 1、此处我

《数据结构和算法之美》学习笔记 Day 2

课程:《复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?》 总结 算法的一个非常重要的的考量指标是执行效率,复杂度分析就是用来衡量代码执行效率的一种方法。前面又提到复杂度分析是数据结果和算法学习的精髓。 为什么需要复杂度分析? 1. 实际的测试结果非常依赖测试环境 比如测试环境硬件配置不一样,得到的结果截然不同 2. 测试结果受数据规模的影响很大 比如排序算法,就会受实际测试数据的有序

测试KingbaseES在线体验平台:从架构解析到代码实战的企业级数据库修炼指南

目录 📊 文章框架 第一章:国产数据库新标杆的诞生背景 1. 数字化转型中的数据库选型之痛 2. 在线体验平台架构解析 第二章:核心功能实战演练 1. 查询 1. 示例查询 2. 关联查询 3. 分组查询 4. 子查询 5. with子句 2. 视图 1. 视图创建 2. 视图查询 3. 删除视图

缓存雪崩导致的危害和解决办法

1. Redis 数据失效导致的雪崩 因为缓存失效,从而导致大量请求导向数据库。 大量请求,导致数据库处理不过来,整个系统依赖数据库的功能全部崩溃 单系统挂掉,其他依赖于该系统的应用也会出现不稳定甚至崩溃 2. Redis数据失效的场景 最大内存控制 maxmemory 最大内存阈值 maxmemory-policy 到达阈值的执行策略 3. 缓存雪崩解

Web项目旅游网 day02 优化Servlet&分类数据展示

一、旅游网综合案例——优化Servlet 1.1 优化目的:减少Servlet的数量,将其优化为一个模块一个Servlet,在Servlet中提供不同的方法,完成用户的请求。 1.2 优化图示: 1.3 Idea控制台中文乱码解决:-Dfile.encoding=gb2312 1.4 BaseServlet编写: 1.5 UserServlet改写:将之前的Servlet实现的功能,抽取到User

Android 避免内存泄漏-引用模式

概念 内存泄露:Android 为每个应用分配了一定大小的内存,JVM会定时的回收它认为没有用的内存,当代码不规范时会导致一些内存无法被回收占用没存资源,当内存资源不足时一些内存也无法被回收,JVM就会抛出内存泄漏异常 内存溢出:Android 为每个应用分配了一定大小的内存,当Android应用new出一个对象时会向系统申请内存,这时如果系统分配给应用的内存不足(内存泄露导致内存无法释放一直占