首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页标签代码优化

#代码优化

WQS回归R中提示glm.fit:算法没有聚合 ?

大佬们好,我的AMPL代码一直出已定义问题?

如何有效管理和组织程序开发中的代码?

lsof如何实现端口查询的?

杨不易呀

上海启明 · 后端 (已认证)

腾讯云开发者社区优秀创作者和最佳欢迎作者,个人博客:https://yby6.com
lsof(list open files)是一个用于查看当前系统打开文件的工具。它可以查看哪个进程打开了哪个文件,以及打开方式等信息。当你使用lsof查询端口时,它实际上是在查看哪个进程正在监听或使用了指定的端口。 lsof实现端口查询的方法是通过遍历系统中所有打开的文件,然后检查这些文件是否是套接字(socket)类型。如果是套接字类型,lsof会检查套接字的地址和端口信息,以确定它是否与你指定的端口匹配。 关于你提到的关闭从3到1024文件的代码,这可能是一个错误的理解。实际上,lsof并不会尝试关闭任何文件。它只是遍历系统中所有打开的文件,并检查它们的属性和状态。 如果你想要优化lsof查询速度,可以尝试以下方法: 1. 使用lsof的`-i`选项来过滤结果,只显示与指定端口相关的信息。这样可以减少遍历的文件数量,从而提高查询速度。 例如:`lsof -i :80` 只显示与端口80相关的信息。 2. 使用`grep`命令来过滤结果,只显示与指定端口相关的信息。这样可以减少遍历的文件数量,从而提高查询速度。 例如:`lsof -i | grep 80` 只显示与端口80相关的信息。 3. 如果你只关心某个特定进程是否正在使用指定的端口,可以使用`lsof -i -a -c<process_name>`来查询。这样可以减少遍历的文件数量,从而提高查询速度。 例如:`lsof -i -a -c nginx` 只显示与nginx进程相关的信息。 请注意,lsof查询速度可能受到系统资源和文件数量的影响。在大型系统上,查询速度可能会较慢。如果你需要更快的查询速度,可以考虑使用其他工具,如`netstat`或`ss`。 ---混元大模型回复... 展开详请
lsof(list open files)是一个用于查看当前系统打开文件的工具。它可以查看哪个进程打开了哪个文件,以及打开方式等信息。当你使用lsof查询端口时,它实际上是在查看哪个进程正在监听或使用了指定的端口。 lsof实现端口查询的方法是通过遍历系统中所有打开的文件,然后检查这些文件是否是套接字(socket)类型。如果是套接字类型,lsof会检查套接字的地址和端口信息,以确定它是否与你指定的端口匹配。 关于你提到的关闭从3到1024文件的代码,这可能是一个错误的理解。实际上,lsof并不会尝试关闭任何文件。它只是遍历系统中所有打开的文件,并检查它们的属性和状态。 如果你想要优化lsof查询速度,可以尝试以下方法: 1. 使用lsof的`-i`选项来过滤结果,只显示与指定端口相关的信息。这样可以减少遍历的文件数量,从而提高查询速度。 例如:`lsof -i :80` 只显示与端口80相关的信息。 2. 使用`grep`命令来过滤结果,只显示与指定端口相关的信息。这样可以减少遍历的文件数量,从而提高查询速度。 例如:`lsof -i | grep 80` 只显示与端口80相关的信息。 3. 如果你只关心某个特定进程是否正在使用指定的端口,可以使用`lsof -i -a -c<process_name>`来查询。这样可以减少遍历的文件数量,从而提高查询速度。 例如:`lsof -i -a -c nginx` 只显示与nginx进程相关的信息。 请注意,lsof查询速度可能受到系统资源和文件数量的影响。在大型系统上,查询速度可能会较慢。如果你需要更快的查询速度,可以考虑使用其他工具,如`netstat`或`ss`。 ---混元大模型回复

【有奖问答】在你的编程经历中,曾遇到过哪些令人无语或奇葩的bug/注释?(已完结)

杨不易呀

上海启明 · 后端 (已认证)

腾讯云开发者社区优秀创作者和最佳欢迎作者,个人博客:https://yby6.com
图片 bug 一 同一时间为啥会保存两条一样的数据呢? 不是校验了吗呜呜呜问问 // 其他方法里面的片段 synchronized (object) { // 校验事件段是否存在 存在则抛出异常 throw new RuntimeException("该时间段已存在预约会议室记录,请重新选择"); checkDateTime(time); // 使用代理确保事务成功提交 R<String> result = SpringUtils.getAopProxy(this).insertOperation(flag, time); if (result.getCode() != 200) { throw new RuntimeException("会议室预定异常."); } sendMail(oaWorkMeetingRoomReservationTimeVo, time); } /** * 会议室预定新增逻辑 * * @param flag 标识 * @param time 会议室事项对象 * @return 结果集 */ @Transactional(rollbackFor = Exception.class) public R<String> insertOperation(AtomicBoolean flag, OaWorkMeetingRoomReservationTime time) { // 新增会议室 // 根据新增会议室的日期 和 会议室 和 创建人 来查询是否存在 这个会议室的父数据 AtomicBoolean atomicBoolean = CompletableFuture.supplyAsync(() -> { OaWorkMeetingRoomReservation existCount = this.baseMapper.checkObjectExistCount(time.getDay(), time.getMeetingRoomType()); return existCount; }).thenCompose(existCount -> CompletableFuture.supplyAsync(() -> { time.setCreateUserId(time.getReserveId()); time.setCreateDate(new Date()); time.setUpdateUserId(time.getReserveId()); time.setUpdateDate(new Date()); // 新增会议室当中的事项 flag.set(reservationTimeService.save(time)); // 新增会议室 OaWorkMeetingRoomReservation reservation = getOaWorkMeetingRoomReservation(flag, time, existCount); // 更新一下父指向 flag.set(reservationTimeService.lambdaUpdate().set(OaWorkMeetingRoomReservationTime::getMeetingId, reservation.getId()).eq(OaWorkMeetingRoomReservationTime::getId, time.getId()).update()); return flag; })).join(); return atomicBoolean.get() ? R.ok() : R.fail(); } 下面是第二个咯 图片 第二个BUG 不要使用程序请第一眼说出输出什么? 评论区说出来我看看实力 package com.yby6.hxyl; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import lombok.RequiredArgsConstructor; import java.util.Arrays; import java.util.List; /** * 用于校验是否存在角色KEy * ROLE_KEY 集合当中可能存在空字符串 * @author Yang Shuai * {@code @create} 2023/8/9:10:34 * {@code @desc} | **/ public class BugTest { /** * 不要使用程序请第一眼说出输出什么? */ public static void main(String[] args) { String ROLE_KEY = "ROLE0055,ROLE0010"; String[] arr = {"role", "ROLE00556", ""}; List<String> list = Arrays.asList(arr); long count = list.stream().filter(ROLE_KEY::contains).count(); System.out.println(count); } } 不要使用程序请第一眼说出输出什么? 评论区说出来我看看实力 图片添加描述 ... 展开详请
图片 bug 一 同一时间为啥会保存两条一样的数据呢? 不是校验了吗呜呜呜问问 // 其他方法里面的片段 synchronized (object) { // 校验事件段是否存在 存在则抛出异常 throw new RuntimeException("该时间段已存在预约会议室记录,请重新选择"); checkDateTime(time); // 使用代理确保事务成功提交 R<String> result = SpringUtils.getAopProxy(this).insertOperation(flag, time); if (result.getCode() != 200) { throw new RuntimeException("会议室预定异常."); } sendMail(oaWorkMeetingRoomReservationTimeVo, time); } /** * 会议室预定新增逻辑 * * @param flag 标识 * @param time 会议室事项对象 * @return 结果集 */ @Transactional(rollbackFor = Exception.class) public R<String> insertOperation(AtomicBoolean flag, OaWorkMeetingRoomReservationTime time) { // 新增会议室 // 根据新增会议室的日期 和 会议室 和 创建人 来查询是否存在 这个会议室的父数据 AtomicBoolean atomicBoolean = CompletableFuture.supplyAsync(() -> { OaWorkMeetingRoomReservation existCount = this.baseMapper.checkObjectExistCount(time.getDay(), time.getMeetingRoomType()); return existCount; }).thenCompose(existCount -> CompletableFuture.supplyAsync(() -> { time.setCreateUserId(time.getReserveId()); time.setCreateDate(new Date()); time.setUpdateUserId(time.getReserveId()); time.setUpdateDate(new Date()); // 新增会议室当中的事项 flag.set(reservationTimeService.save(time)); // 新增会议室 OaWorkMeetingRoomReservation reservation = getOaWorkMeetingRoomReservation(flag, time, existCount); // 更新一下父指向 flag.set(reservationTimeService.lambdaUpdate().set(OaWorkMeetingRoomReservationTime::getMeetingId, reservation.getId()).eq(OaWorkMeetingRoomReservationTime::getId, time.getId()).update()); return flag; })).join(); return atomicBoolean.get() ? R.ok() : R.fail(); } 下面是第二个咯 图片 第二个BUG 不要使用程序请第一眼说出输出什么? 评论区说出来我看看实力 package com.yby6.hxyl; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import lombok.RequiredArgsConstructor; import java.util.Arrays; import java.util.List; /** * 用于校验是否存在角色KEy * ROLE_KEY 集合当中可能存在空字符串 * @author Yang Shuai * {@code @create} 2023/8/9:10:34 * {@code @desc} | **/ public class BugTest { /** * 不要使用程序请第一眼说出输出什么? */ public static void main(String[] args) { String ROLE_KEY = "ROLE0055,ROLE0010"; String[] arr = {"role", "ROLE00556", ""}; List<String> list = Arrays.asList(arr); long count = list.stream().filter(ROLE_KEY::contains).count(); System.out.println(count); } } 不要使用程序请第一眼说出输出什么? 评论区说出来我看看实力 图片添加描述
领券