当前位置: 首页 > news >正文

[mysql]约束(上)

约束

道德约束,法律约束,这个约束在表里面是狭义的.

约束广义的,比如数值型你就不能录入’abc’.字符,定义了varchar(15)范围不能超过数量15.

我们这个章节要说的约束是狭义的,是具体的我们设定的约束,

为什么我们需要约束呢

我们是为了数据的精确性和可靠性,我们了为了防止数据中存在不符合语义规定的数据局和防止因为错误数据的输入输出导致错误信息而提出的.

实体完整性,我们在一个表中不能出现2条完全相同,无法区分的记录,那我们WHERE不就一定会出现2条记录,所以我们一般用主键去约束实体完整性.

域完整性,这个代表的是一个范围,年龄0-120,性别范围是男女

引用完整性:比如一个员工有所在部门,那么部门表就一定要有这个部门.所以我们输入的部门就一定要存在于部门表

用户自定义完整性,比如用户名唯一,密码不为空,部门经理的工资不能高于平均工资的5倍,

这些是我们自己设定的限制.

什么是约束

约束是表级的强制规定,

SELECT * FROM information_schema.table_constraints

WHERE table_name='employees'

#这是查看约束的代码

#非空约束

限制字段内容不能为空,

它的特点有4个,第一所有类型的值都可以是NULL,包括INT,FLOAT数据类型

第二非空约束不能组合非空,一次只能设定一个列(字段)

第三一个表可以有很多列都分别限定了非空

第四空字符串不是空,0也不是空

#3.创建表的时候添加约束

CREATE TABLE TEST_1(

id INT NOT NULL,#需要的时候才加非空

last_name VARCHAR(15) NOT NULL,

email VARCHAR(25),

salary DECIMAL(10,2));

DESC test_1

INSERT INTO test_1(id,last_name,email,salary)

VALUES(1,'chen','132@.com',3500)

INSERT INTO test_1(id,last_name,email,salary)

VALUES(1,NULL,'132@.com',3500)#这里因为NULL所以就报错了

INSERT INTO test_1(id,last_name,email,salary)

VALUES(1,'chen',NULL,3500)

INSERT INTO test_1(id,email)

VALUES(1,'123.com')#这里也是因为没有输入值,所以会导致空,报错会显示没有默认值,因为我们mysql发现没有输入会先寻找表有没有默认值,最后因为没有默认值所以报错了.

#修改表我们也会遇见这个场景,非空的也不能修改为空,比如

UPDATE test_1 SET last_name=NULL#同样报错了

#这次我们要再ALTER TABLE 时添加约束

DESC test_1

ALTER TABLE TEST_1

MODIFY email VARCHAR(15) NOT NULL

#这里由于我们刚才演示的时候给邮箱添加了一个空值,所以现在我们一定要添加的话,我们就得把邮箱修改为有值,或者直接把这个记录删除掉.

SELECT * FROM test_1

UPDATE test_1 SET email='12322.com' WHERE id =1

这次就成功把非空约束添加到email中了

如果有多条记录,只要其中有一个是空那么就不能成功.

至于如何删除#如何删除NOT NULL

ALTER TABLE TEST_1

MODIFY email VARCHAR(15)

就是刚才的代码删除notnull就可以了

唯一约束

#4唯一约束,字如其名,用于限制某个字段的值不能重复

#如何实现呢,用关键词UNIQUE

#特点,一个表可以有多个,可以多个字段唯一约束.

#4.1

CREATE TABLE TEST_2(

id INT NOT NULL UNIQUE,#需要的时候才加约束

last_name VARCHAR(15) NOT NULL , #同名的是有可能的

email VARCHAR(25), #邮箱是不是应该不一样,是的,老板可能发给2个人,那不行,所以我们再后面表级别进行约束的简历

salary DECIMAL(10,2),#工资不能唯一

#表级约束

CONSTRAINT uk_test_2_email UNIQUE(email))

这里我们可以看见我们就有两个约束了,我们可以发现,如何再字段后面建立约束,那么它的约束名称就和字段名相同,如果我们命名了,那么它的名字就是命名的名字.

为什么我们特意提到约束的名字呢,因为我们后面需要删除用的到

DESC TEST_2

INSERT INTO TEST_2(id,last_name,email,salary)

values(1,'Tom','1236@com',123)

INSERT INTO TEST_2(id,last_name,email,salary)

values(1,'Tom','1236@com',123)#这里就会报错1062 - Duplicate entry '1' for key 'test_2.i,不管是email还是id,都会导致错误.

#unique是可以为空的,而且多个空值可以

INSERT INTO TEST_2(id,last_name,email,salary)

values(2,'Tom',null,123),(3,'Tom',null,123)

#4.2在ALTER TABLE 添加UNIQUE

#方式1

ALTER TABLE TEST_2

ADD constrainT uk_salary_sal UNIQUE(salary)#要加名字就要在ADD后面UNIQUE前面加,这里如果报错的是因为salary里面有工资相同的

#方式2

ALTER TABLE test_2

MODIFY LAST_name varchar(15) UNIQUE

4.3复合的唯一约束,

这里我们要对多列进行唯一性约束

CREATE TABLE USERR(

id INT,

NAME VARCHAR(45),

password VARCHAR(15),

CONSTRAINT UK_use UNIQUE(name,password))

INSERT INTO userr(id,name,password)

values(2,'Tom','null'),(3,'Tom1','null')#这里是不会报错的,如果我们出现其中一个字段是重复的,并不会出现报错,而如果出现了2个同时相同,那么才会报错,这就是为什么叫复合约束的原因.

#我们来做一个案例

#学生表

create table student(

sid int, #学号

sname varchar(20), #姓名

tel char(11) unique key, #电话

cardid char(18) unique key #身份证号

);#这里我们建立了一个表学生表-

#课程表

create table course(

cid int, #课程编号

cname varchar(20) #课程名称

);#这个是课程表

#选课表

create table student_course(

id int,

sid int,

cid int,

score int,

unique key(sid,cid) #复合唯一

);#这里我们建立了一个专门的选课表,学号,课程id,课程分数,我们的复合唯一是对张三来说,mysql这个课和学号应该是复合唯一的,毕竟学号相同,课程可以不唯一,课程相同,学号不能唯一

insert into student values(1,'张三','13710011002','101223199012015623');#成功

insert into student values(2,'李四','13710011003','101223199012015624');#成功

insert into course values(1001,'Java'),(1002,'MySQL');

insert into student_course values

(1, 1, 1001, 89),

(2, 1, 1002, 90),

(3, 2, 1001, 88),

(4, 2, 1002, 56);#成功

insert into student_course values (5, 1, 1001, 88);#失败,失败的原因就是因为违背的复合约束的原因

#4.4删除唯一约束,

添加唯一性约束的列上也会自动的简历唯一索引

如果要删除唯一约束只能通过删除唯一索引的方式删除,

删除的时候需要指定唯一约束的名字删除,唯一索引和唯一约束一样

如果是直接加的唯一约束,列级,那就是列名,复合唯一约束和唯一约束,那么它的名字就是我们设定的名字,没有设定名字那么它的名字就是第一个名字

如何删除唯一索引

ALTER TABLE USERR

DROP INDEX UK_use

#需要使用删除索引的方法删除约束

相关文章:

[mysql]约束(上)

约束 道德约束,法律约束,这个约束在表里面是狭义的. 约束广义的,比如数值型你就不能录入’abc’.字符,定义了varchar(15)范围不能超过数量15. 我们这个章节要说的约束是狭义的,是具体的我们设定的约束, 为什么我们需要约束呢 我们是为了数据的精确性和可靠性,我们了为了防…...

Eclipse 插件开发 2

Eclipse 插件开发 2 1 插件配置 1 插件配置 <?xml version"1.0" encoding"UTF-8"?> <?eclipse version"3.4"?> <plugin><extension point"org.eclipse.ui.commands"><category id"com.xu.learn.…...

用go从零构建写一个RPC(仿gRPC,tRPC)--- 版本1

希望借助手写这个go的中间件项目&#xff0c;能够理解go语言的特性以及用go写中间件的优势之处&#xff0c;同时也是为了更好的使用和优化公司用到的trpc&#xff0c;并且作者之前也使用过grpc并有一定的兴趣&#xff0c;所以打算从0构建一个rpc系统&#xff0c;对于生产环境已…...

树莓派(Raspberry Pi)入门建议

树莓派&#xff08;Raspberry Pi&#xff09;是一个低成本、信用卡大小的微型电脑&#xff0c;它的核心价值在于高度灵活的可编程性和丰富的硬件扩展能力。根据你的兴趣和需求&#xff0c;它可以用来做各种有趣且实用的项目&#xff0c;以下是常见的应用场景和实例&#xff1a;…...

SpringBoot物资管理系统 | JavaWeb项目设计与实现

概述​​ 基于JavaWeb技术实现了一套完整的物资管理解决方案。该系统适用于企业、学校、医院等机构&#xff0c;提供高效的物资入库、申报、公告管理等功能&#xff0c;帮助用户实现物资管理的数字化与智能化。 ​​主要内容​​ ​​1. 管理员功能实现​​ ​​5.1.1 物资管…...

《P1950 长方形》

题目描述 小明今天突发奇想&#xff0c;想从一张用过的纸中剪出一个长方形。 为了简化问题&#xff0c;小明做出如下规定&#xff1a; &#xff08;1&#xff09;这张纸的长宽分别为 n,m。小明将这张纸看成是由nm个格子组成&#xff0c;在剪的时候&#xff0c;只能沿着格子的…...

SpringCloud微服务架构

Spring Cloud是一个广泛使用的微服务框架&#xff0c;它基于Spring Boot构建&#xff0c;旨在帮助开发者构建复杂的分布式系统。Spring Cloud提供了多种工具和库&#xff0c;使得开发人员可以轻松地构建和部署微服务架构。以下是一些关键组件和概念&#xff0c;帮助你理解Sprin…...

网络管理知识点

1.传统网络管理&#xff1a;Web网管方式&#xff0c;CLI方式&#xff0c;基于SNMP集中管理 2.SNMP简单网络管理协议 SNMPV1实现方便&#xff0c;安全性弱 SNMPV2支持更多错误 SNMPV3认证加密&#xff0c;访问控制 3.SNMP&#xff0c;UDP传输效率较高&#xff0c;报文容易丢失…...

【Web应用服务器_Tomcat】二、Tomcat 核心配置与集群搭建

在企业级 Java Web 应用的部署场景中&#xff0c;Tomcat 作为主流的 Servlet 容器和 Web 服务器&#xff0c;其核心配置的优化以及集群搭建对于保障应用的高性能、高可用性至关重要。 一、Tomcat 核心配置优化​ 1.1 server.xml 配置文件解析​ Tomcat 的核心配置文件server…...

模板引擎语法-算术运算

模板引擎语法-算术运算 文章目录 模板引擎语法-算术运算[toc]1.加法运算2.减法运算3.乘法与除法运算4.四则运算5.整除运算 在Django框架模板中&#xff0c;没有专门定义关于算术运算的语法。不过&#xff0c;通过一些标签和过滤器的配合使用&#xff0c;可以模拟实现类似“加减…...

MySQL 联合查询教程

MySQL 联合查询教程 在 MySQL 中&#xff0c;联合查询用于从多个表中检索数据&#xff0c;常用于关联表中的信息。联合查询&#xff08;JOIN&#xff09;通过将两个或更多表根据一定条件连接起来&#xff0c;从而形成一个虚拟的结果集。MySQL 支持多种类型的联合查询&#xff…...

罗技Flow跨电脑控制

Windows 下载适用于 Windows 10 或更高版本的应用程序 macOS 下载适用于 macOS 12 或更高版本的应用程序 Flow 让您可以在两台电脑之间甚至 Windows 和 macOS 之间畅快办公。 只需将支持 Flow 的鼠标的光标移动到屏幕边缘即可在电脑和操作系统之间切换。支持 Flow 的键盘会…...

Unity网络编程入门:掌握Netcode for GameObjects实现多人游戏基础(Day 39)

Langchain系列文章目录 01-玩转LangChain&#xff1a;从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块&#xff1a;四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain&#xff1a;从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...

LeetCode100题

LeetCode100 两数之和 遍历数组&#xff0c;以哈希表存数与下标&#xff0c;边存边查&#xff0c;速找和为目标值的两数下标 class Solution {public int[] twoSum(int[] nums, int target) {int[] ansnew int[2];HashMap<Integer,Integer> mapnew HashMap<>();…...

鸿蒙代码@Builder

#代码如下&#xff1a; Entry Component struct CardExample {State title: string "欢迎使用鸿蒙";State content: string "这是一段自定义内容";build() {Column() {this.MyCard({ title: this.title, content: this.content })}.padding(20)}BuilderM…...

Gewechat启动启动报错

Centos7&#xff0c;测试连接时发现这个错误。 [rootxin ~]# curl -i -X POST http://127.0.0.1:2531/v2/api/tools/getTokenId curl: (56) Recv failure: Connection reset by peer 1、删除原容器&#xff0c;重新构建。 docker run -itd \--name gewe \--privileged \-v /ro…...

硅谷甄选41集-71集

第四十三集&#xff1a;完全按照视频敲代码的话会发现左侧顶部tabbar的display:flex失效了&#xff0c;是因为拆分开的子组件里面多了一个div,去掉就好了&#xff0c;vue3不需要再额外包裹元素。因为路径变化了&#xff0c;所以找不到图片的话在前面再加一个…。 第四十五集&am…...

PyQt6实例_消息工具_使用与完整代码分享

目录 使用 每日消息 全局查询 更新数据库 代码 数据库表创建 代码-数据库相关操作 代码-界面与操作逻辑 视频 使用 工具有三个面板&#xff1a;每日消息、全局查询、更新数据库 “每日消息”和“全局查询”&#xff0c;数据源&#xff1a;同花顺7x24小时快讯 “更新…...

docker配置mysql遇到的问题:网络连接超时、启动mysql失败、navicat无法远程连接mysql

目录 1.网络超时 方式1. 网络连接问题 方式2. Docker镜像源问题 方式3.使用国内镜像源 2.启动mysql镜像失败 3.navicat无法远程连接mysql 1.网络超时 安装MySQL时出现超时问题&#xff0c;可能由多种原因导致&#xff1a; 方式1. 网络连接问题 原因&#xff1a;网络不稳定…...

【虚幻C++笔记】碰撞检测

目录 碰撞检测参数详情示例用法 碰撞检测 显示名称中文名称CSphere Trace By Channel按通道进行球体追踪UKismetSystemLibrary::SphereTraceSingleSphere Trace By Profile按描述文件进行球体追踪UKismetSystemLibrary::SphereTraceSingleByProfileSphere Trace For Objects针…...

SpringBoot集成WebSocket,单元测试执行报错

问题描述 SpringBoot集成了WebSocket&#xff0c;单元测试启动后会报如下错误&#xff1a;javax.websocket.server.ServerContainer not available 这是因为SpringBootTest启动时不会启动服务器&#xff0c;所以WebSocket会报错。 解决方案 在注解中添加 webEnvironmen…...

Git基本操作

1. 安装与配置 安装&#xff1a;你可以从 Git 官方网站 下载 Windows 版本的安装程序。运行安装程序&#xff0c;在安装过程中&#xff0c;你可以按照默认设置进行安装&#xff0c;也可以根据自己的需求进行调整。配置&#xff1a;安装完成后&#xff0c;打开 Git Bash&#x…...

C++异步并发支持库future

future&#xff1a; 1.利用共享状态来异步的获取提供者的值 2.future处于共享状态就绪时才是有效的 3.future不能拷贝构造&#xff0c;只能移动构造&#xff0c;并且移动构造后共享状态失效 std::future::get 1.当共享状态就绪时&#xff0c;返回存储在共享状态中的值。 2…...

c++学习小结

内存分配 空间 栈区&#xff08;stack&#xff09;。编译器⾃动分配与释放&#xff0c;主要存放函数的参数值&#xff0c;局部变量值等&#xff0c;连续的内存空 间&#xff0c;由⾼地址向低地址扩展。 堆区&#xff08;heap&#xff09; 。由程序员分配与释放&#xff1b;不…...

Pygame物理模拟:实现重力、弹跳与简单物理引擎

Pygame物理模拟:实现重力、弹跳与简单物理引擎 大家好,欢迎来到本期的技术分享!今天我们将一起探讨如何使用Python和Pygame库来实现一个简单的物理模拟系统,其中包括重力、弹跳以及一个基础的物理引擎。如果你对游戏开发或者物理仿真感兴趣,那么这篇文章一定会让你受益匪…...

Python dotenv 使用指南:轻松管理项目环境变量

一、为什么要使用环境变量管理&#xff1f; 很多开发者容易把自己开发的项目上传到Github上&#xff0c;但偶尔会忘记把数据库密码、支付接口密钥等敏感信息和谐掉&#xff0c;当代码提交上去时&#xff0c;这些信息就像裸奔一样暴露在所有人面前。更糟糕的是&#xff0c;不同…...

网络攻防第一~四集

来源于一下 【小迪安全】红蓝对抗 | 网络攻防 | V2023全栈培训_哔哩哔哩_bilibili 目录 第一集 第二集 第一集 web架构包括系统、中间件、程序源码、数据库 系统 windows、linux、windows server 中间件 是前端语言和数据库是当做一个桥梁&#xff0c;当做解析作用&…...

TI---sysconfig生成宏

核心内容概览 1. 宏定义的总体作用 SysConfig生成的宏定义是硬件配置的符号化映射&#xff0c;将图形化界面的配置参数转化为可直接引用的编译时常量&#xff0c;核心价值包括&#xff1a; 免硬编码&#xff1a;避免手动写入硬件参数&#xff08;如引脚号、波特率&#xff0…...

【C】初阶数据结构13 -- 快速排序

本篇文章主要讲解经典的排序算法 -- 快速排序算法 目录 1 递归版本的快速排序 1&#xff09; 算法思想 &#xff08;1&#xff09; hoare 版本 &#xff08;2&#xff09; 双指针版本 &#xff08;3&#xff09; 挖坑法 2&#xff09; 代码 3&#xff09; 时间复杂度…...

Spring Boot 3.4 实战指南:从性能优化到云原生增强

一、核心新特性概览 Spring Boot 3.4 于 2024 年 11 月正式发布&#xff0c;带来 6 大维度的 28 项改进。以下是实战开发中最具价值的特性&#xff1a; 1. 性能革命&#xff1a;虚拟线程与 HTTP 客户端优化 虚拟线程支持&#xff1a;Java 21 引入的虚拟线程在 Spring Boot 3…...

Git分支重命名与推送参数解析

这两个参数的解释如下&#xff1a; git branch -M master 中的 -M 参数 -M 是 --move --force 的组合简写&#xff0c;表示强制重命名当前分支为 master。如果当前分支已经存在名为 master 的分支&#xff0c;-M 会强制覆盖它&#xff08;慎用&#xff0c;可能导致数据丢失&…...

深度学习中的预训练与微调:从基础概念到实战应用全解析

摘要 本文系统解析深度学习中预训练与微调技术&#xff0c;涵盖核心概念、技术优势、模型复用策略、与迁移学习的结合方式&#xff0c;以及微调过程中网络参数更新机制、模型状态分类等内容。同时深入分析深层神经网络训练难点如梯度消失/爆炸问题&#xff0c;为模型优化提供理…...

EMC-148.5MHz或85.5辐射超标-HDMI

EMC 148.5MHz或85.5辐射超标-HDMI 遇到了一台设备过不了EMC &#xff0c;经排查主要是显示器的HDMI问题 解决办法看看能否更换好一点的HDMI线缆...

DeepSeek系列(9):团队协作最佳实践

团队知识库构建 在知识经济时代,团队知识的有效管理和传递是组织核心竞争力的关键。DeepSeek可以成为打造高效团队知识库的得力助手,让知识管理从繁重工作变为自动化流程。 知识库架构设计 多层次知识结构 一个高效的团队知识库应具备清晰的层级结构,DeepSeek可以协助:…...

信息系统项目管理工程师备考计算类真题讲解十

一、立项管理 1&#xff09;折现率和折现系数&#xff1a;折现也叫贴现&#xff0c;就是把将来某个时间点的金额换算成现在时间点的等值金额。折现时所使用的利率叫折现率&#xff0c;也叫贴现率。 若n年后能收F元&#xff0c;那么这些钱在现在的价值&#xff0c;就是现值&am…...

第1章 基础知识

1.1 机器语言 1.2 汇编语言的产生 用汇编语言编写程序的工作过程如下: 1.编写程序:汇编程序包括汇编指令、伪指令、其他符号,如下图。其中,“伪指令”并不是由计算机直接执行的指令,而是帮助编译器完成“编译”的符号。 2.编译:将汇编程序转换成机器码。 3.计算机执行。 …...

16.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Github Action

GitHub Actions 是 GitHub 提供的持续集成和持续部署(CI/CD)平台&#xff0c;它允许我们自动化软件开发工作流程。通过 GitHub Actions&#xff0c;我们可以构建、测试和部署代码&#xff0c;而无需手动干预。 一、基本概念 1.1 Workflow&#xff08;工作流&#xff09; 工作…...

‌MySQL 事务隔离级别详解

‌ 以下是 MySQL 支持的四种事务隔离级别及其特性&#xff0c;按并发安全性从低到高排列&#xff1a; ‌1. 读未提交 (Read Uncommitted)‌ ‌问题‌&#xff1a; ‌脏读 (Dirty Read)‌&#xff1a;事务可读取其他事务未提交的数据。‌不可重复读 (Non-repeatable Read)‌&am…...

A. Ambitious Kid

time limit per test 1 second memory limit per test 256 megabytes Chaneka, Pak Chaneks child, is an ambitious kid, so Pak Chanek gives her the following problem to test her ambition. Given an array of integers [A1,A2,A3,…,AN][A1,A2,A3,…,AN]. In one o…...

C19-while循环及for循环等价引入

一 while的表达式 //while的表达式有三个 #include <stdio.h> int main() { int sum; int data1; //第一个表达式,条件的初始值while(data<100){ //第二个表达式,条件的临界值sumsumdata;data; //第三个表达式,条件变化}printf("0至100的和是:%d\n",sum);…...

华为盘古OS深度评测:构建AI自进化系统的实践密码

华为盘古OS通过分布式AI内核与自适应学习框架的深度耦合&#xff0c;重新定义操作系统级智能能力。实测显示其AI任务调度效率较传统系统提升17倍&#xff0c;本文从智能体编排、持续学习机制、端云协同架构三个维度&#xff0c;解析如何基于DevKit 3.0打造具备认知进化能力的下…...

SpringBoot UserAgentUtils获取用户浏览器 操作系统设备统计 信息统计 日志入库

介绍 UserAgentUtils 是于处理用户代理&#xff08;User-Agent&#xff09;字符串的工具类&#xff0c;一般用于解析和处理浏览器、操作系统以及设备等相关信息&#xff0c;这些信息通常包含在接口请求的 User-Agent 字符串中。 这个库可以用于解析用户代理头&#xff0c;以提…...

PCL绘制点云+法线

读取的点云ASCII码文件&#xff0c;每行6个数据&#xff0c;3维坐标3维法向 #include <iostream> #include <fstream> #include <vector> #include <string> #include <pcl/point_types.h> #include <pcl/point_cloud.h> #include <pc…...

DataStreamAPI实践原理——计算模型

引入 Apache Flink 是一个框架和分布式处理引擎&#xff0c;用于在 无边界 和 有边界 数据流上进行有状态的计 算。Flink 能在所有常见集群环境中运行&#xff0c;并能以内存速度和任意规模进行计算。Flink可以处理批数据也可以处理流数据&#xff0c;本质上&#xff0c;流处理…...

【那些年踩过的坑】Docker换源加速详细教程(截至2025年4月)

由于各种网络政策&#xff0c;在国内访问DockerHub速度会非常缓慢&#xff0c;大家一般都会采取更换镜像源的方式来进行加速。但是&#xff0c;2024.6之后&#xff0c;由于政策的加强&#xff0c;大部分常见的镜像源已经无法使用&#xff0c;可能在更换镜像源后出现如下报错信息…...

【MCP】详细了解MCP协议:和function call的区别何在?如何使用MCP?

本文介绍了MCP大模型上下文协议的的概念&#xff0c;并对比了MCP协议和function call的区别&#xff0c;同时用python sdk为例介绍了mcp的使用方式。 1. 什么是MCP&#xff1f; 官网&#xff1a;https://modelcontextprotocol.io/introduction 2025年&#xff0c;Anthropic提出…...

交换机之配置系统基本信息(Basic Information of the Configuration System for Switches)

交换机之配置系统基本信息 本文章中的信息都是基于一些特定实验环境写的。文章中使用的所有设备最初均采用缺省配置启动。如果不按初始配置&#xff0c;有可能会导致本文中的部分或全部步骤失败。如果您使用的是真实网络设备&#xff0c;请确保您已经了解所有使用过的命令影响。…...

贝叶斯算法学习

贝叶斯算法学习 贝叶斯算法基础与原理应用场景主要分类优缺点​简单示例代码实现 贝叶斯算法是基于贝叶斯定理的一种统计学习方法&#xff0c;在机器学习、数据挖掘、自然语言处理等领域有广泛应用。以下是其原理、应用和示例的详细介绍&#xff1a; 贝叶斯算法基础与原理 贝…...

Java 日志:掌握本地与网络日志技术

日志记录是软件开发中不可或缺的一部分&#xff0c;它为开发者提供了洞察应用程序行为、诊断问题和监控性能的手段。在 Java 生态系统中&#xff0c;日志框架如 Java Util Logging (JUL)、Log4j 和 Simple Logging Facade for Java (SLF4J) 提供了丰富的功能。然而&#xff0c;…...

线程池单例模式

线程池的概念 线程池是一种线程使用模式。 一种线程使用模式。线程过多会带来调度开销&#xff0c;进而影响缓存局部性和整体性能。而线程池维护着多个线程&#xff0c;等待着监督管理者分配可并发执行的任务。…...