后端

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

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

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

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

Mybatis的代理对象MapperProxy的CURD

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

27. Java中的反射机制

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

趣味数学:蜡烛还可以再烧多久?

蜡烛还可再烧多久? 易老师为学生思思和方方讲应用题。今天的题目是这样的: 两根粗细相同、材质相同但长度不同的蜡烛竖直地漂在水面上,一开始,长蜡烛露出水面的部分是短蜡烛总长度的一半;将两根蜡烛同时点燃 1 小时后,长蜡烛露出水面的部分与短蜡烛总长度相等. 已知蜡烛漂在水面上时,露出水面的长度始终等于蜡烛在水下长度的 ,那么短蜡烛还可再烧多久? 长蜡烛还可再烧多久? 易老师:拿到题目首先干什么

Netty的内存分配相关知识&零拷贝机制

1. Netty 自己的ByteBuf ByteBuf是为解决ByteBuffer的问题和满足网络应用程序开发人员的日常需求而设计的。 JDK ByteBuffer的缺点: 无法动态扩容 长度固定,无法动态扩展和收缩,当数据大于ByteBuffer容量时,会发生索引越界异常。 API使用复杂 读写的时候需要手工调用flip() 和 rewind() 等方法,使用时需要非常谨慎的

【SSM 框架 | day27 spring MVC 和 SSM 整合】

SSM + Spring MVC 完整整合实战指南一、SSM 架构核心认知1.1 整体架构图text Client (浏览器/App) ↓ Spring MVC (Web层) ↓ Controller → 接收请求、参数校验、响应返回 ↓ Interceptor → 拦截器(认证、日志、限流) ↓ Resolver → 视图解析、

《Spring Boot全栈开发指南:从入门到生产实践》

🧑 博主简介:CSDN博客专家、全栈领域优质创作者、高级开发工程师、高级信息系统项目管理师、系统架构师,数学与应用数学专业,10年以上多种混合语言开发经验,从事DICOM医学影像开发领域多年,熟悉DICOM协议及其应用开发技术。我的技能涵盖了多种编程语言和技术框架:作为高级C/C+&#

JVM调优有什么经验吗?

要明⽩⼀点,所有的调优的⽬的都是为了⽤更⼩的硬件成本达到更⾼的吞吐,JVM的调优也是⼀样,通过对垃圾收集器和内存分配的调优达到性能的最佳。 简单的参数含义 ⾸先,需要知道⼏个主要的参数含义。 eden 1. -Xms设置初始堆的⼤⼩,-Xmx设置最⼤堆的⼤⼩ 2. -XX:NewSize年轻代⼤⼩,-XX:MaxNewSize年轻代最⼤值,-Xmn则是相当于同时配置XX:NewSiz