社区
Java EE
帖子详情
java实现检测死循环程序,并做处理
maoaini_1990
2013-12-25 03:04:32
我在现在在做一个项目(用java实现),就是检测学生提交上来了的java程序,学生交的程序会出现死循环的这种情况,我需要自动的判断出学生的程序中出现了死循环,并且处理这个死循环,让它终止检测这个学生的代码,继续检测下一个学生的代码。有没有什么好的办法啊,被憋了好几天了,跪求大神指导(最好能详细点)。
...全文
889
11
打赏
收藏
java实现检测死循环程序,并做处理
我在现在在做一个项目(用java实现),就是检测学生提交上来了的java程序,学生交的程序会出现死循环的这种情况,我需要自动的判断出学生的程序中出现了死循环,并且处理这个死循环,让它终止检测这个学生的代码,继续检测下一个学生的代码。有没有什么好的办法啊,被憋了好几天了,跪求大神指导(最好能详细点)。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mr_boot
2013-12-26
打赏
举报
回复
还是觉得记录执行时间来判断比较现实,学生代码执行不会太复杂,设定时间长度判断是否超时,利用这个就可以解决问题了,可能jvm底层也有方法解决,但个人觉得没有那个必要。
好名字给猪了
2013-12-26
打赏
举报
回复
说说我的想法,页面使用定时器,每隔一段时间执行java类方法。如果这个方法在控制台打印的字数超过N个,就判断他是死循环(一般学生写的程序不会太多吧),然后记录在日志里。
Lsheep
2013-12-25
打赏
举报
回复
楼主说的就是有名的 停机问题。 而且这个问题已经被证明是无解的。但就你的问题而言,学生的程序不会太复杂,基本会在一段时间内执行完毕,楼主可以设定一个时间,超过这个时间就表明有死循环。
maoaini_1990
2013-12-25
打赏
举报
回复
恩恩还是这里的大神比较多啊。。还有就是能不能把具体的技术说的更加详细点,采用java的哪个技术。我是刚开始起步学java干项目,给老师做。做起来比较吃力,希望各位大神能牺牲点时间拜托了。。
商科程序员
2013-12-25
打赏
举报
回复
一般是用定时去检测。如果超过最长运行时间,则认为失败。 北大的网上挑战也是这么做的。从逻辑上判断死循环太难了。而且有时死循环也输入数据有关,有些输入会死循环,有些不会。
Defonds
2013-12-25
打赏
举报
回复
来了。 楼上的建议不错。 可以参考 spring aop 的做法,面向切面编程,统计每个的执行时间。 另外,如果是 bat 跑死循环,那么很容易把你 CPU 吃干。建议把这些进程管理起来,一旦判定死循环立马干掉。
大大点点
2013-12-25
打赏
举报
回复
我怎么觉得做这个项目,对JVM底层如果了解的话,应该可以找到思路的,像死循环无非就是无限次的干同一件事情,JVM底层应该有明显的特征的吧,而且死循环很容易造成内存溢出。也可以适当从这里入手。
maoaini_1990
2013-12-25
打赏
举报
回复
学生的程序是使用Runtime执行外部Bat文件进行编译执行的,如果学生的程序中有死循环的话,就卡在这里了。如何使用类似线程一类的方法去检测这段程序,比如可以设置时间,如果超时则跳过执行。求大神指导。。
maoaini_1990
2013-12-25
打赏
举报
回复
就是死循环会执行的时间比较长啊,或者输出的信息会比较多而且是一样的 但是通过什么方法检测出来 因为这个项目吧比较大 ,我只是负责一部分具体她们是怎么检测的我也不知道,看看大家有没有什么好的思路
tony4geek
2013-12-25
打赏
举报
回复
死循环 这个 很多种情况都会出现死循环。怎么分析出。
姜小白-
2013-12-25
打赏
举报
回复
不懂,mark,跟着学习
核心
Java
程序
设计技术
但我的这些付出,至少使我坚信没有任何灵丹妙药可以
实现
所谓“在零基础上几日登天”,我也不认为这样
做
程序
的人会真正快乐。事实上,理想只会离这种模式的
程序
设计更远。 三、我的经验 作为本课程的...
java
死循环
排查_
java
2如何排查线上
死循环
java
2如何排查线上
死循环
发布时间:2020-11-06 17:51:55来源:亿速云阅读:111作者:Leah本篇文章给大家分享的是有关
java
2如何排查线上
死循环
,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以...
查询
java
死循环
代码
java
死循环
排查,CPU占用排查
递归陷入
死循环
的判断方法与解决措施(
java
代码)
怎么及时发现
程序
陷入
死循环
? 首先根据
死循环
的判断依据:周期性调用相同方法名传入相同参数。那么只需要判断这个方法连续或非连续(多线程)传入的参数是不是和之前一样就可以了,这里我定义了两个静态参数,一个...
linux服务器
死循环
处理
检查服务器
死循环
步骤
Java EE
67,513
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章