后端

【MySQL】数据库的 “红绿灯”:非空、主键、外键到底管什么?

表的约束:表中一定要有各种约束,通过各种约束,保证未来数据库中的数据的准确的;约束的本质是:通过技术手段倒逼程序员,插入正确的数据,进而保证数据库中的数据的正确的;一、非空约束两个值:null(默认的)和not null(不为空)数据库默认字段基

以国产IoTDB为代表的主流时序数据库架构与性能深度选型评测

> 💡 原创经验总结,禁止AI洗稿!转载需授权>  声明:本文所有观点均基于多个领域的真实项目落地经验总结,数据说话,拒绝空谈!目录引言:时序数据库选型的“下半场”一、维度一:架构哲学 —— 决定了你的“天花板”在哪里二、维度二:数据生命周期管理

一台服务器最大并发 tcp 连接数多少?65535?

首先,问题中描述的65535个连接指的是客户端连接数的限制。 在tcp应用中,server事先在某个固定端口监听,client主动发起连接,经过三次握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少呢? 如何标识一个TCP连接 在确定最大连接数之前,先来看看系统如何标识一个tcp连接。系统用一个4四元组来唯一标识一个TCP连接:{localip, localport,remoteip,

关于贪心法

         贪心法是一种不追求最优解,只希望得到较为满意解的方法。贪心法一般可以快速得到满意的解,因为它省去了为找最优解要穷尽所有可能而必须耗费的大量时间。贪心法常以当前情况为基础作最优选择,而不考虑各种可能的整体情况。         在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心

综合——前言(编译)

1. 程序编译 1.1 程序编译的目的     程序编译的目的把源代码变成目标代码。如果源代码在操作系统上运行:目标代码就是“汇编代码”。再通过汇编和链接的过程形成可执行文件,然后通过加载器加载到操作系统执行。 1.2 程序编译流程 编译流程 1.2.1 词法分析     源代码程序被输入到扫描器(Scanner),扫描器对源代码进行简单的词法分析,运用类似于有限状态机(Finite

Java数组

1.一维数组 1.1数组的定义 数组是一个具有相同数据类型,且按一定次序排列的一组变量的集合体。即用一个变量名表示一批数据。Java为数组在内存中分配的是一段连续的空间,这段空间中存储数据的个数是固定的。 1.1.1数组元素 构成一个数组的每一个数据称为数组元素。 1.1.2数组下标 下标是数组元素在数组中的位置。在一个数组中,数组下标是用整数表示的,从0开始,依次加1。 1.1.3数组大小 数组

02.《Java EE学习笔记》Servlet

目录: 一、Servlet的基本概念 二、Servlet的三种使用方式 三、Servlet 的生命周期 四、Servlet 的配置 五、访问Servlet的三种方式 六、Servlet获取请求数据 七、响应重定向和请求转发 一、Servlet的基本概念 Servlet(Servlet Applet),全称Java Servlet,是用Java编写的服务器端程序。而这些Servlet继承HttpSe

20230401--RHEL/Rocky/AlmaLinux8显示内存低于实际硬件内存

由于RHEL/CentOS7在2024年6月30日将EOL(End Of Life,结束生命周期),最近陆续在将生产上的服务的OS升级迁移到RHEL/AlmaLinux8,但是陆续发现原本用相同的资源的服务器经常出现SWAP不足、杀毒软件ClamAV进程因内存而被Kill等告警。 今天迁移一个测试环境的Web应用,参考原来服务申请了一个1C1G(1024M)的服务器,安装AlmaLinux8.7后

Java异步任务编排—CompletableFuture(二)

CompletableFuture API 默认情况下CompletableFuture会使用公共的ForkJoinPool线程池,这个线程池默认创建的线程数是 CPU 的核数(也可以通过 JVM option:-Djava.util.concurrent.ForkJoinPool.common.parallelism 来设置ForkJoinPool线程池的线程数)。如果所有Completabl

59

这周准备了四级,但是更重要的是,那个毛概要补考了,一会儿晚上考试,水一篇,这周的东西都总结完了。 符 比如: 3<1?A:b 如果3<1 是的话就是A 不是的话就是b System.out.println(3>2?"A":"B");//输出A 七、字符串去空格 //去除所有 String str = rd.next(); String str2 = str.replaceAll