- 博客(18)
- 收藏
- 关注
原创 JAVA——多线程实现卖票
实现 Runnable 接口:通过实现Runnable接口,一个类可以定义其线程执行的任务。这是创建线程的一种方式,相比直接继承Thread类,这种方式更加灵活,因为 Java 只支持单继承。线程同步:使用关键字可以创建同步代码块,确保同一时间只有一个线程可以执行该代码块。这是解决多线程访问共享资源时可能出现的竞争条件(race condition)和数据不一致问题的一种常用方法。线程休眠方法使当前线程休眠指定的毫秒数。这可以用于模拟耗时操作,或简单地让出CPU时间片,以便其他线程可以运行。异常处理。
2024-11-15 10:30:00
670
原创 JAVA——完成斗地主游戏当中的发牌(程序代码)
Java集合框架(Java Collections Framework):用于存储扑克牌,其中键(Integer)是牌的索引,值(String)是牌的表示(花色+点数)。:用于存储牌的索引,以便后续洗牌和发牌。:用于存储每个玩家的牌和底牌,TreeSet保证了牌的顺序(虽然在这个例子中顺序不是主要关注点,但TreeSet可以自动去重和排序)。循环和条件语句for循环:用于遍历花色和点数数组,以及遍历洗牌后的索引列表来发牌。switch语句:在发牌时,根据索引的模3结果来决定将牌发给哪个玩家。
2024-11-15 10:00:00
509
原创 JAVA——多线程:奶箱问题的实现(生产者消费者)
奶箱:作为生产和消费之间的缓冲区,它的容量是有限的。生产者:制造牛奶的线程,它会将牛奶放入奶箱,但前提是奶箱未满。消费者:饮用牛奶的线程,它会从奶箱中取出牛奶,但前提是奶箱不为空。2. 实现的关键点共享缓冲区:在Java中,通常会使用或等阻塞队列来实现共享缓冲区(即奶箱)。同步与互斥:为了保证数据的一致性和线程的安全性,需要使用同步机制。在Java中,这可以通过关键字、锁或阻塞队列自带的同步机制来实现。线程间的通信:当生产者制造出新的数据(牛奶)时,需要通知消费者;
2024-11-14 16:25:12
348
原创 统计字符串中每个字符的出现次数,并字符的自然顺序进行排序。——Map实现
集合本身不保证映射的顺序;特别是它不保证顺序会随着时间的推移保持不变。方法被正确实现,以确保键的唯一性和正确的行为。:作为键的对象必须是可比较的(实现了。以键值对的形式存储数据,其中。接口)或者有一个比较器(值可以是任意类型的对象。)可以维护键的顺序。
2024-11-14 13:10:10
449
原创 JAVA___Collection和List集合的运用——双色球号码生成(内含一部分Collections介绍)
Collection是一个根接口,定义了集合操作的标准方法,而List是Collection的一个子接口,提供了有序集合的特定方法。List接口的实现类如ArrayList和LinkedList在不同的场景下都有各自的优势和适用性,开发者应根据具体需求选择合适的实现类。
2024-11-14 09:48:02
918
原创 JAVA——使用MVC框架完成的小案例:学员管理系统完整代码(包含MVC简介)
其实不管是学生生涯里,还是自学的过程中,都接触过不下几次的MVC框架,但并不能很好的理解,或许也和动手写代码的次数太少有关。趁着这次完成案例再次进行总结,也希望能帮助到更多正在学习MVC的人。
2024-11-07 21:40:42
1465
1
原创 JAVA——FILE记录
File类的作用File类的作用File类的常用方法getPath()getName()length()list()exists()isFile()canRead()canWrite()isHidden()mkdir()mkdirs()delete()注意事项区分大小写。
2024-11-07 13:54:02
340
原创 JAVA通过USB小案例理解——继承、多态、抽象类
(有一段强制类型转换:将dev强制类型转换为Mouse类型,并调用Mouse类的leftClick()方法,下同)此外,它们还各自添加了与设备功能相关的特定方法,如鼠标的左键单击、右键单击和双击操作,以及键盘的输入操作。方法中,模拟计算机的开机、使用USB设备和关机的过程。方法,分别插入了鼠标和键盘,并观察了它们的操作输出。类不能被实例化,它只能作为其他USB设备类的基类。关键字判断),调用相应的特定方法。,分别代表设备的插入和移除操作。的能力,这是多态的体现。,它代表所有USB设备的。
2024-11-07 11:10:06
414
原创 ORB-SLAM3原文文献阅读||知识梳理、学习研究
SLAM是一种在未知环境中,机器人或智能设备能够一边移动一边构建地图的技术。视觉惯性SLAM结合了视觉传感器(如相机)和惯性传感器(如IMU)的信息,以提高定位和地图构建的准确性。紧密集成意味着这两种传感器的数据被高效、无缝地融合在一起,共同服务于SLAM任务。本文介绍了ORB-SLAM3,这是首个能够使用针孔和鱼眼镜头模型,通过单目、立体和RGB-D相机执行视觉、视觉惯性以及多图SLAM(Simultaneous Localization and Mapping,即时定位与地图构建)的系统。
2024-10-31 20:08:02
1094
原创 JAVA——变量输出/print
System.out.println(变量名);//自带换行System.out.print(变量名);//不带换行System.out.printf("格式",...参数);//格式化输出,通过格式字符串可以指定输出的格式,如小数点位数、对齐方式等。
2024-10-31 10:30:22
542
原创 复现github深度学习代码产生问题①
因为下载github代码后需要在pycharm上运行,在打开Terminal后需要先进入虚拟环境,出现问题在Pycharm上conda activate进入虚拟环境无效,但在cmd上可以正常进入Pytorch环境,更改pycharm设置如下。在运行requirements文件时下载到一半突然出现这个问题,我是因为笔记本当时没看住突然睡眠状态了,就断网了,于是下载不成功,重新尝试了一回。具体是在安装requirements.txt的时候出现的报错,是torch版本有问题,安装了一下2.1.0版本。
2024-03-15 13:08:16
1710
2
原创 YOLOv5有关损失函数的一些小点(二元交叉熵啥的)
YOLOv5使用二元交叉熵损失函数计算类别概率和目标置信度得分的损失(分类/定位),使用CIOU Loss作为bounding box回归的损失。
2023-12-13 08:26:32
789
原创 YOLO目标检测基本思想
个人理解有关YOLO目标检测技术的实现基本思想。首先,YOLO的全称是YOU ONLY LOOK ONCE:只需要浏览一次就可以识别出图中的物体的类别和位置,也被称为Region-free方法。
2023-12-12 09:20:15
1152
原创 学习记录:drop_last
使用DataLoader时drop_last默认为False,其代表最后一个batch的数据不足一个size大小则保留该batch,为True时则不保留不满足size大小的batch。在默认为False时运行出现mat1 and mat2 shapes cannot be multiplied,表示形状不能相乘,将drop_last设置为True,运行时正常无错误。
2023-11-16 08:26:36
902
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅