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

随机点名器

练习1 

package lx;import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;/*需求:需求:有一个文件里面存储了班级同学的信息,每一个信息占一行。格式为:张三-男-23要求通过程序实现随机点名器。运行效果:第一次运行程序:随机同学姓名1(只显示名字)第二次运行程序:随机同学姓名2(只显示名字)第三次运行程序:随机同学姓名3(只显示名字)…*/
public class demo3 {public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new FileReader("names.txt"));//创建集合存储读取的数据ArrayList<String> list = new ArrayList<>();String line;while ((line = br.readLine()) != null) {list.add(line);}br.close();//2.随机抽取(解法二)Collections.shuffle(list);String randomName2 = list.get(0);String[] arr2 = randomName2.split("-");System.out.println(arr2[0]);}
}

练习2

package lx;import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;public class demo4 {/*需求:一个文件里面存储了班级同学的信息,格式为:张三-男-23每一个学生信息占一行。要求通过程序实现随机点名器。70%的概率随机到男生30%的概率随机到女生随机100万次,统计结果。看生成男生和女生的比例是不是接近于7:3*/public static void main(String[] args) throws IOException {//1.读取数据,并把男生和女生的信息添加到不同的集合当中ArrayList<String> boyNameList = new ArrayList<>();ArrayList<String> girlNameList = new ArrayList<>();BufferedReader br = new BufferedReader(new FileReader("names.txt"));String line;while ((line = br.readLine()) != null) {String[] arr = line.split("-");if (arr[1].equals("男")) {boyNameList.add(line);} else {girlNameList.add(line);}}br.close();//2.定义权重集合,男女比例:7:3ArrayList<Integer> list = new ArrayList<>();Collections.addAll(list,1,1,1,1,1,1,1,0,0,0);//打乱集合顺序Collections.shuffle(list);//3.定义变量,统计被点到的次数int boyCount = 0;int girlCount = 0;//随机在集合里抽取一个数,通过这个数是0还是1判断男女Random r = new Random();for (int i = 0; i < 1000000; i++) {int index = r.nextInt(list.size());int  number = list.get(index);//判断number是1还是0if( number == 1){//是男生//随机一下男生集合的元素int boy = r.nextInt(boyNameList.size());System.out.println(boyNameList.get(boy));boyCount++;}else{//0就随机女生int girl = r.nextInt(girlNameList.size());System.out.println(girlNameList.get(girl));girlCount++;}}System.out.println("随机抽取100万次,其中男生被抽到了" + boyCount);System.out.println("随机抽取100万次,其中女生被抽到了" + girlCount);}
}

练习3

package lx;import java.io.*;
import java.util.ArrayList;
import java.util.Collections;/*需求:一个文件里面存储了班级同学的姓名,每一个姓名占一行。要求通过程序实现随机点名器。第三次必定是张三同学运行效果:第一次运行程序:随机同学姓名1第二次运行程序:随机同学姓名2第三次运行程序:张三…*/
public class demo6 {public static void main(String[] args) throws IOException {BufferedReader br1 = new BufferedReader(new FileReader("names.txt"));String line;//创建集合存储读取的数据ArrayList<String> list = new ArrayList<>();while ((line = br1.readLine()) != null) {list.add(line);}br1.close();//2.读取当前程序已经运行的次数BufferedReader br2 = new BufferedReader(new FileReader("count.txt"));String str = br2.readLine();int count = Integer.parseInt(str);//软件再运行一次count++count++;/*   if (count <= 2) {System.out.println(list.get(count));}*///现在list集合里面存的是比如张三-男-18这样的格式//我们要以-为分割获取0索引的姓名if (count == 3) {System.out.println("张三");} else {//随机抽取//打乱集合的数据Collections.shuffle(list);String randomName2 = list.get(0);String[] arr2 = randomName2.split("-");System.out.println(arr2[0]);}//把自增的count写到本地文件当中 ,方便下次br2读取数据的时候,count的值有变化BufferedWriter bw = new BufferedWriter(new FileWriter("count.txt"));bw.write(count + "");bw.close();}
}

 

练习4

package lx;import java.io.*;
import java.util.ArrayList;
import java.util.Collections;/*需求:一个文件里面存储了班级同学的姓名,每一个姓名占一行。要求通过程序实现随机点名器。运行结果要求:被点到的学生不会再被点到。但是如果班级中所有的学生都点完了, 需要重新开启第二轮点名。核心思想:点一个删一个,把删除的备份,全部点完时还原数据。*/
public class demo8 {public static void main(String[] args) throws IOException {//1.定义变量,表示初始文件路径,文件中存储所有的学生信息String src = "allnames.txt";//2.定义变量,表示备份文件,一开始文件为空String copy = "copy.txt";//3.读取初始文件中的数据,并把学生信息添加到集合当中ArrayList<String> list = readFile(src);//4.判断集合中是否有数据if (list.size() == 0) {//5.如果没有数据了,表示所有的学生点完了,从copy.txt中把数据给allnames.txt即可//传给allnames.txt如下//5.1 读取copy.txt中的所有数据list = readFile(copy);//5.2 把读出来的数据写入allnames.txt(初始化文本当中)writeFile(list, src, false);//5.3 清空 copy文件中的数据FileWriter fw = new FileWriter(copy);fw.write(" ");fw.close();}//5.集合中有数据,表示还没有点完,随机一个删一个,把删除的备份到copy.txt当中//打乱集合Collections.shuffle(list);//获取0索引的学生信息并删除String stuInfo = list.remove(0);//打印随机到的学生信息System.out.println("当前被点到的学生为:" + stuInfo);//把随机出来的学生信息(除了被删除的,把list集合中的数据全部)写入allnames.txt当中//此时的list集合的数据随一个少一个System.out.println("还剩下" + list.size() + "个学生");//刷新allnames.txt中的学生信息writeFile(list, src, false);//把删除的学生写到copy.txt文件当中,追加写入,随一个写一个writeFile(stuInfo, copy, true);}private static void writeFile(String stuInfo, String copy, boolean b) throws IOException {BufferedWriter bw = new BufferedWriter(new FileWriter(copy, b));bw.write(stuInfo);bw.newLine();bw.close();}//定义方法,把所有学生信息写入到文初始化文件(allnames.txt)中private static void writeFile(ArrayList<String> list, String src, boolean b) throws IOException {BufferedWriter bw = new BufferedWriter(new FileWriter(src, b));//list这个集合存储了copy.txt的数据,也就是所有学生信息for (String s : list) {bw.write(s);bw.newLine();}bw.close();}//定义方法,把读取出来的学生信息添加到集合当中private static ArrayList<String> readFile(String src) throws IOException {//创建一个字符流BufferedReader br = new BufferedReader(new FileReader(src));//创建一个集合存储读到数据ArrayList<String> list = new ArrayList<>();String line;while ((line = br.readLine()) != null) {list.add(line);}return list;}
}

练习5

首先初始化文本信息

package lx;import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;public class demo10 {public static void main(String[] args) throws IOException {//1.读取文件中的数据,添加到集合当中ArrayList<Student> list = new ArrayList<>();BufferedReader br = new BufferedReader(new FileReader("..\\day51\\src\\lx\\names.txt"));String line;while ((line = br.readLine()) != null) {//现在我们把钦逸抒-女-21-1.0文件中的学生信息 以-分割//其实0索引是姓氏,1索引是性别,2索引是年龄,3索引是权重String[] arr = line.split("-");//把这些索引对应的信息赋给学生的属性Student stu = new Student(arr[0], arr[1], Integer.parseInt(arr[2]), Double.parseDouble(arr[3]));list.add(stu);}br.close();//2.计算出所有学生总权重double sum=0;for (Student student : list) {sum+=student.getWeight();}System.out.println("总权重为"+sum);//3.计算每一个学生的实际占比double[]arr=new double[list.size()];for (int i = 0; i < list.size(); i++) {arr[i]=list.get(i).getWeight()/sum;}// System.out.println(Arrays.toString(arr));//[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]//4.计算每一个学生的权重占比范围//每一个学生的权重占比范围是0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0之间//每一个学生的实际占比是    0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1//怎么得到权重占比范围呢?//从第一位索引开始 本索引的权重占比是上一个索引的权重占比+当前索引的权重占比for (int i = 1; i < arr.length; i++) {arr[i]=arr[i]+arr[i-1];}System.out.println(Arrays.toString(arr));//5.随机生成一个0-1之间的数,判断这个数在哪个区间,就返回对应的索引double number = Math.random();//采用二分查找方法//该方法返回 -插入点-1//插入点=-结果-1int result = -Arrays.binarySearch(arr, number)-1;System.out.println("随机数:"+number);System.out.println("插入索引"+result);//6.返回对应的索引对应的学生信息Student stu = list.get(result);System.out.println("学生信息:"+stu);//7.修改当前学生的权重double w=stu.getWeight()/2;stu.setWeight(w);System.out.println("修改后的学生信息:"+stu);//8.写到本地文件当中BufferedWriter bw=new BufferedWriter( new FileWriter("..\\day51\\src\\lx\\names.txt"));for (Student s : list) {//s代表集合里的每一位学生对象//把学生信息写到本地文件当中bw.write(s.toString());bw.newLine();}bw.close();}
}

相关文章:

随机点名器

练习1 package lx;import java.io.*; import java.util.ArrayList; import java.util.Collections; import java.util.Random;/*需求&#xff1a;需求&#xff1a;有一个文件里面存储了班级同学的信息&#xff0c;每一个信息占一行。格式为&#xff1a;张三-男-23要求通过程序…...

添加动态云层

<template> <div class"topbox"> xx卫星管理 </div> <div class"selectbox"> <div class"title"> 卫星列表 </div> <el-table :data"tableData" style"width: 100%;height:230px;" …...

Spring Boot组成的分布式系统中实现日志跟踪

Spring Boot组成的分布式系统中实现日志跟踪 首发2024-07-25 08:54潘多编程 在分布式系统中&#xff0c;日志跟踪是一项非常重要的功能&#xff0c;它帮助开发者了解请求在整个系统中的流转过程&#xff0c;这对于调试、监控和故障排查至关重要。Spring Boot应用通常作为微服…...

GPT-4o Mini 模型的性能与成本优势全解析

GPT-4o Mini 模型的性能与成本优势全解析 &#x1f4c8; &#x1f31f; GPT-4o Mini 模型的性能与成本优势全解析 &#x1f4c8;摘要引言正文内容GPT-4o Mini 模型简介 &#x1f680;性能测试与对比 &#x1f4ca;应用场景 &#x1f310;自然语言处理对话系统内容生成 ✍️ &am…...

web前端 - HTML 基础知识大揭秘

HTML 大揭秘 什么是 HTML HTML&#xff08;Hyper Text Markup Language&#xff09;&#xff0c;中文译为超文本标记语言。其中&#xff0c;我们需要注意两个关键词。一个是 超文本&#xff0c;一个是 标记。所谓超文本&#xff0c;就是将不同空间的文字信息通过超链接的方式…...

HTML meta

<meta>标签用于提供html文档的元信息&#xff08;metadata&#xff09;。这些信息不会显示在页面上&#xff0c;但会被浏览器或搜索引擎用来识别页面的编码方式、关键字、描述、作者信息、刷新时间等。 基本语法 <meta name"属性名" content"属性值&q…...

【学习笔记】子集DP

背景 有一类问题和子集有关。 给你一个集合 S S S&#xff0c;令 T T T 为 S S S 的超集&#xff0c;也就是 S S S 所有子集的集合&#xff0c;求 T T T 中所有元素的和。 暴力1 先预处理子集的元素和 A i A_i Ai​&#xff0c;再枚举子集。 for(int s0; s<(1<…...

苦学Opencv的第十四天:人脸检测和人脸识别

Python OpenCV入门到精通学习日记&#xff1a;人脸检测和人脸识别 前言 经过了十三天的不懈努力&#xff0c;我们终于也是来到了人脸检测和人脸识别啦&#xff01;相信大家也很激动吧。接下来我们开始吧&#xff01; 人脸识别是基于人的脸部特征信息进行身份识别的一种生物识…...

PyTorch学习(1)

PyTorch学习&#xff08;1&#xff09; CIFAR-10数据集-图像分类 数据集来源是官方提供的&#xff1a; torchvision.datasets.CIFAR10()共有十类物品&#xff0c;需要用CNN实现图像分类问题。 代码如下&#xff1a;(CIFAR_10_Classifier_Self_1.py) import torch import t…...

三思而后行:计算机行业的决策智慧

在计算机行业&#xff0c;"三思而后行"这一原则显得尤为重要。在这个快速发展、技术不断更新换代的领域&#xff0c;每一个决策都可能对项目的成功与否产生深远的影响。以下是一篇关于在计算机行业中三思重要性的文章。 三思而后行&#xff1a;计算机行业的决策智慧 …...

Linux--Socket编程UDP

前文&#xff1a;Socket套接字编程 UDP协议特点 无连接&#xff1a;UDP在发送数据之前不需要建立连接&#xff0c;减少了开销和发送数据之前的时延。尽最大努力交付&#xff1a;UDP不保证可靠交付&#xff0c;主机不需要维持复杂的连接状态表。面向报文&#xff1a;UDP对应用层…...

《javaEE篇》--单例模式详解

目录 单例模式 饿汉模式 懒汉模式 懒汉模式(优化) 指令重排序 总结 单例模式 单例模式属于一种设计模式&#xff0c;设计模式就好比是一种固定代码套路类似于棋谱&#xff0c;是由前人总结并且记录下来我们可以直接使用的代码设计思路。 单例模式就是&#xff0c;在有…...

Java核心 - Lambda表达式详解与应用示例

作者&#xff1a;逍遥Sean 简介&#xff1a;一个主修Java的Web网站\游戏服务器后端开发者 主页&#xff1a;https://blog.csdn.net/Ureliable 觉得博主文章不错的话&#xff0c;可以三连支持一下~ 如有疑问和建议&#xff0c;请私信或评论留言&#xff01; 前言 Lambda表达式是…...

算法通关:006_1二分查找

二分查找 查找一个数组里面是否存在num主要代码运行结果 详细写法自动生成数组和num&#xff0c;利用对数器查看二分代码是否正确 查找一个数组里面是否存在num 主要代码 /*** Author: ggdpzhk* CreateTime: 2024-07-27*/ public class cg {//二分查找public static boolean …...

总结一些vue3小知识3

总结一些vue3小知识1&#xff1a;http://t.csdnimg.cn/C5vER 总结一些vue3小知识2&#xff1a;http://t.csdnimg.cn/sscid 1.限制时间选择器只能选择后面的日期 说明&#xff1a;disabled-date属性是一个用来判断该日期是否被禁用的函数&#xff0c;接受一个 Date 对象作为参…...

JAVAWeb实战(前端篇)

项目实战一 0.项目结构 1.创建vue3项目&#xff0c;并导入所需的依赖 npm install vue-router npm install axios npm install pinia npm install vue 2.定义路由&#xff0c;axios&#xff0c;pinia相关的对象 文件&#xff08;.js&#xff09; 2.1路由(.js) import {cre…...

axios请求大全

本文讲解axios封装方式以及针对各种后台接口的请求方式 axios的介绍和基础配置可以看这个文档: 起步 | Axios中文文档 | Axios中文网 axios的封装 axios封装的重点有三个&#xff0c;一是设置全局config,比如请求的基础路径&#xff0c;超时时间等&#xff0c;第二点是在每次…...

C# 简单的单元测试

文章目录 前言参考文档新建控制台项目新建测试项目添加引用添加测试方法测试结果(有错误)测试结果&#xff0c;通过正规的方法抛出异常 总结 前言 听说复杂的项目最好都要单元测试一下。我这里也试试单元测试这个功能。到时候调试起来也方便。 参考文档 C# 单元测试&#xf…...

Linux中Mysql5.7主从架构(一主多从)配置教程

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f427;Linux基础知识(初学)&#xff1a;点击&#xff01; &#x1f427;Linux高级管理防护和群集专栏&#xff1a;点击&#xff01; &#x1f510;Linux中firewalld防火墙&#xff1a;点击&#xff01; ⏰️创作…...

BACnet物联网关BL103:Modbus协议转BACnet/MSTP

随着物联网技术在楼宇自动化与暖通控制系统中的迅猛发展&#xff0c;构建一种既经济高效又高度可靠的协议转换物联网关成为了不可或缺的核心硬件组件。在此背景下&#xff0c;我们钡铼特别推荐一款主流的BAS&#xff08;楼宇自动化系统&#xff09;与BACnet物联网关——BL103&a…...

Go 语言条件变量 Cond

1.Cond 的使用方法 Go 标准库提供 Cond 同步原语的目的是为等待/通知场景下的并发操作提供支持。Cond 通常用于等待某个条件的一组 goroutine,当条件变为 true 时,其中一个或者所有的 goroutine 会被唤醒执行。 Cond 与某个条件相关,这个条件需要一组 goroutine 协作达到。当这…...

PostgreSQL 中如何重置序列值:将自增 ID 设定为特定值开始

我是从excel中将数据导入&#xff0c;然后再通过sql插入数据&#xff0c;就报错。 需要设置自增ID开始值 1、确定序列名称&#xff1a; 首先&#xff0c;需要找到与的增字段相关的序列名称。假设表名是 my_table 和自增字段是 id&#xff0c;可以使用以下查询来获取序列名称…...

Unity 之 【Android Unity 共享纹理】之 Android 共享图片给 Unity 显示

Unity 之 【Android Unity 共享纹理】之 Android 共享图片给 Unity 显示 目录 Unity 之 【Android Unity 共享纹理】之 Android 共享图片给 Unity 显示 一、简单介绍 二、共享纹理 1、共享纹理的原理 2、共享纹理涉及到的关键知识点 3、什么可以实现共享 不能实现共享…...

Go语言的数据结构

数据结构 数组 支持多维数组&#xff0c;属于值类型&#xff0c;支持range遍历 例子&#xff1a;随机生成长度为10整数数组 package main import ("fmt""math/rand" ) // 赋值 随机获取100以内的整数 func RandomArrays() {var array [10]int //声明var…...

python_在sqlite中创建表并写入表头

python_在sqlite中创建表并写入表头 import sqlite3def write_title_to_sqlite(tableName,titleList,dataTypeGroupsList,database_path):conn sqlite3.connect(database_path)# 创建游标cursor conn.cursor()#MEMO 长文本#create_table_bodycreate_table_body "序号 …...

1.c#(winform)编程环境安装

目录 安装vs创建应用帮助查看器安装与使用&#xff08; msdn&#xff09; 安装vs 安装什么版本看个人心情&#xff0c;或者公司开发需求需要 而本栏全程使用vs2022进行开发c#&#xff0c;着重讲解winform桌面应用开发 使用***.net framework***开发 那先去官网安装企业版的vs…...

图中的最短环

2608. 图中的最短环 现有一个含 n 个顶点的 双向 图&#xff0c;每个顶点按从 0 到 n - 1 标记。图中的边由二维整数数组 edges 表示&#xff0c;其中 edges[i] [ui, vi] 表示顶点 ui 和 vi 之间存在一条边。每对顶点最多通过一条边连接&#xff0c;并且不存在与自身相连的顶…...

安装依赖 npm install idealTree:lib: sill idealTree buildDeps 卡着不动

我一直怀疑是网络问题&#xff0c;因为等了很久也能安装成功&#xff0c;就是时间比较长&#xff0c;直到现在完全受不了了&#xff0c;决定好好整治下这个问题&#xff01; 1、执行命令 npm config get userconfig 查看配置文件所在位置&#xff0c;将其删除。 2、执行 n…...

LLMs之Llama 3.1:Llama 3.1的简介、安装和使用方法、案例应用之详细攻略

LLMs之Llama 3.1&#xff1a;Llama 3.1的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;2024年7月23日&#xff0c;Meta重磅推出Llama 3.1。本篇文章主要提到了Meta推出的Llama 3.1自然语言生成模型。 背景和痛点 >> 过去开源的大型语言模型在能力和性能上一…...

如何实现一个大模型在回答问题时同时提供相关内容链接

通义生成 为了让大模型在回答问题时能够提供相关内容链接&#xff0c;通常采用的方法是结合检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;的技术。这种方法可以让大模型在生成答案的同时&#xff0c;从外部知识源中检索相关信息&#xff0c;并将这…...

<数据集>玉米地杂草识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;9900张 标注数量(xml文件个数)&#xff1a;9900 标注数量(txt文件个数)&#xff1a;9900 标注类别数&#xff1a;2 标注类别名称&#xff1a;[Maize, Weed] 序号类别名称图片数框数1Maize8439125142Weed959231048…...

vue3中动态添加form表单校验

<template><div><div v-for"(formData, index) in forms" :key"index"><u-form :model"formData" :rules"rules" ref"formRefs"><u-form-item label"用户名" prop"username"…...

Java面试八股之什么是声明式事务管理,spring怎么实现声明式事务管理?

什么是声明式事务管理&#xff0c;spring怎么实现声明式事务管理&#xff1f; 声明式事务管理是一种编程范式&#xff0c;它允许开发人员通过声明性的配置或注解&#xff0c;而不是硬编码事务处理逻辑&#xff0c;来指定哪些方法或类应该在其上下文中执行事务。这种方法将事务…...

springboot 缓存预热的几种方案

缓存预热是指在 Spring Boot 项目启动时&#xff0c;预先将数据加载到缓存系统&#xff08;如 Redis&#xff09;中的一种机制。 这里我给大家总结几个缓存预热的方案。 方案1&#xff1a;使用启动监听事件实现缓存预热 可以使用 ApplicationListener 监听 ContextRefreshed…...

谷粒商城实战笔记-62-商品服务-API-品牌管理-OSS整合测试

文章目录 一&#xff0c;Java中上传文件到阿里云OSS1&#xff0c;整合阿里云OSS2&#xff0c;测试上传文件 二&#xff0c;Java中整合阿里云OSS服务指南引言准备工作1. 注册阿里云账号2. 获取Access Key3. 添加依赖 实现OSS客户端1. 初始化OSSClient2. 创建Bucket3. 上传文件4.…...

linux c 递归锁的介绍

递归锁的递归特性确实只是对于持有锁的线程。当一个线程获取了递归锁后&#xff0c;它可以多次重复获取该锁&#xff0c;而不会导致自身阻塞或死锁。这是递归锁的重要特点&#xff0c;它允许同一个线程在已经持有锁的情况下&#xff0c;再次获取相同的锁。 然而&#xff0c;对…...

React好用的组件库有哪些

React好用的组件库有很多&#xff0c;它们各自具有不同的特点和优势&#xff0c;适用于不同的开发场景和需求。以下是一些受欢迎的React组件库及其特点&#xff1a; Material-UI&#xff08;现更名为MUI&#xff09; 特点&#xff1a;这是一个开源的React组件库&#xff0c;实…...

简单快捷!Yarn的安装与使用指南

Yarn 是由 Facebook (现 Meta) 开发的包管理工具。 今天&#xff0c;我将介绍如何使用 Yarn。 目录 Yarn 的官方网站 关于安装 版本确认 开始一个新项目&#xff08;创建 package.json 文件&#xff09; 安装软件包 升级包 运行脚本 执行包的命令 卸载包 总结 Yarn 的…...

【Django】前端技术-网页样式表CSS

文章目录 一、申明规则CSS的导入方式行内样式内部样式外部样式 二、CSS的选择器1. 基本选择器标签选择器&#xff1a; 选择一类标签 标签{}类选择器 class&#xff1a; 选择所有class属性一致的表情&#xff0c;跨标签.类名{}ID选择器&#xff1a;全局唯一 #id名{} 2.层次选择器…...

openssl req 详解

一、openssl req 该命令用于创建和处理PKCS#10格式的证书请求&#xff08;certificate requests CSRs&#xff09;&#xff0c;也可以用来创建自签名证书&#xff08; self-signed certificates&#xff09;来当作根证书&#xff08;root CAs&#xff09;使用 -new 该选项用来…...

mysql各种锁总结

mysql全局锁 读锁&#xff08;共享锁&#xff09; 阻止其他用户更新&#xff0c;但允许他们读取数据。 写锁&#xff08;排他锁&#xff09; 阻止其他用户读取和更新数据。 全局锁场景&#xff1a;进行数据库备份 数据库备份 背景&#xff1a;备份数据肯定要保证数据一致…...

SpringSecurity--DelegatingFilterProxy工作流程

什么是 DelegatingFilterProxy&#xff1f; DelegatingFilterProxy 是 Spring 提供的一个特殊的过滤器&#xff0c;它起到了桥梁的作用&#xff0c;可以让你在 Spring 容器中管理 Servlet 容器中的过滤器。 为什么需要 DelegatingFilterProxy&#xff1f; 通常情况下&#x…...

GitHub每日最火火火项目(7.27)

1. 项目名称&#xff1a;meta - llama / llama3 项目介绍&#xff1a;这是 Meta Llama 3 的官方 GitHub 站点。目前尚不清楚该项目的具体功能和特点&#xff0c;但从名称推测&#xff0c;可能与 Llama 3 模型相关&#xff0c;或许涉及到模型的开发、训练或应用等方面。 项目地…...

git 学习总结

文章目录 一、 git 基础操作1、工作区2、暂存区3、本地仓库4、远程仓库 二、git 的本质三、分支git 命令总结 作者: baron 一、 git 基础操作 如图所示 git 总共有几个区域 工作区, 暂存区, 本地仓库, 远程仓库. 1、工作区 存放项目代码的地方&#xff0c;他有两种状态 Unm…...

《如何找到自己想做的事》

Arouse Enthusiasm, Give Scope to Skill, Explore The Essence *摘其两纸 我喜欢打篮球&#xff0c;并不是我真的喜欢这项运动&#xff0c;而是我喜欢团队竞技。我喜欢看书&#xff0c;并不是我真喜欢阅读&#xff0c;而是我想要了解世界运行逻辑。寻找热爱&#xff0c;探寻本…...

Vue中el的两种写法

大家好我是前端寄术区博主PleaSure乐事。今天了解到了Vue当中有关el的两种写法&#xff0c;记录下来与大家分享&#xff0c;希望对大家有所帮助。 方法一 解释 第一种方法我们直接用new创建并初始化一个新的 Vue 实例&#xff0c;并定义了 Vue 实例的数据对象&#xff0c;在给…...

ELK安装(Elasticsearch+Logstash+Kibana+Filebeat)

一、简介 1.1、软件简介 ELK其实是Elasticsearch&#xff0c;Logstash 和 Kibana三个产品的首字母缩写&#xff0c;这三款都是开源产品。 1.1.1、Elasticsearch简介 Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析…...

VScode使用Github Copilot插件时出现read ECONNREST问题的解决方法

文章目录 read ECONNREST查看是否仍是 Copilot 会员查看控制台输出网络连接问题浏览器设置问题笔者的话 read ECONNREST 最近使用 Copilot 时一直出现 read ECONNREST 问题&#xff0c;这个表示连接被对方重置了&#xff0c;就是说在读取数据时连接被关闭。 我首先怀疑是不是…...

充电桩浪涌保护方案—保障充电设施安全稳定运行的关键

在当今新能源汽车蓬勃发展的时代&#xff0c;充电桩作为电动汽车的“加油站”&#xff0c;其重要性不言而喻。然而&#xff0c;由于其复杂的电气环境和暴露于户外的特点&#xff0c;充电桩容易受到浪涌的影响。浪涌可能来自雷电、电网故障、大功率设备的启停等&#xff0c;对充…...

Python包管理工具pip

1、安装pip cmd管理员模式打开控制台 python -m pip install --upgrade pip 2、添加pip环境变量 pip 路径 C:\Users\1\AppData\Local\Programs\Python\Python312\Scripts...