怎样做一个sicily online judgee

【网站】我想做一个ONLINE JUDGE的网站,具备哪些基础知识?_互联网_易房网
我想做一个ONLINE JUDGE的网站,具备哪些基础知识?
作者:admin
易房网小编为您精选了网友的解决办法,供您参考 ----------------------------------------------------- 网友回答: 易房网小编
易房网小编为您精选了网友的解决办法,供您参考-----------------------------------------------------网友回答:
易房网小编为您精选了网友的解决办法,供您参考-----------------------------------------------------网友回答:
现在已经有了一些开源的 OJ 系统,例如 HUSTOJ[1]。你只需要按照手册部署至服务器即可。[1] HUSTOJ: /p/hustoj/
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将
追究责任;3.作者投稿可能会经我们编辑修改或补充。
耐磨陶瓷涂料用于哪里?
陈志朋巡回演唱会将登北京工体 门票正式预售(图)
北京游客投诉11万高端团涉骗 旅行社:对高端认知
患癌女孩获捐11万后离世 爷爷捐出剩余两万
人大代表佩戴虚拟现实眼镜设备体验两会(图)
镇江句容民警查获一超载面包车9座车载21个人
女星脸变残夫外遇 怀孕期间脸部十分恐怖奇葩丈夫
浙江养猪场发生火灾 百余头猪瞬间成"烤猪"
友情链接、商务合作QQ:能否用java做一个online judge?
本人大二,打算在寒假用java做一个online judge的后台,目前只打算跑在Linux上。现在遇到了几个问题:1、如何解决安全性问题?字符串过滤不可靠。沙盒什么的目前的水平不足,还在研究中。我的想法是通过strace的输出来判断程序是否调用了敏感的系统调用,若有则直接destroy掉,不知可不可行?Java有没有监控process.exec()调用的进程的功能?2、如何获取程序的cpu时间?3.、如何获取程序的内存占用?这样的功能java是否可以用java实现,还是必须用C++/C写一个Judger,再用java写的manager来调用Judger来实现(我觉得这样还不如不用java写,不过这个是java课设没办法),我不是很清楚,毕竟学java才两三个月。希望各位能够多多指教,谢谢。
按投票排序
如果不看解释,我还以为是说用java做前端,那样的话看看zoj就是实例。结果是要用java做判题,那就比较纠结,尽管说理论上“只要能调用外部命令就能实现”,但还是不很适合用java来做这件事。原因就在于java是活在虚拟机里的,而你要判的目标是虚拟机外面的,这就像遥控火星车一样(这边指令发过去,半个小时后它那边才反馈) 你中间要做的接口耦合多到想死。通过strace的输出确实可以判断,但是也有问题:0、等你知道它调用了非法syscall,它已经调用完了啊,黄花菜都凉了。1、Java-&JVM-&strace...........................这么弄你还不如用脚本。因为操作系统是c写的,api都是c形式的,所以这件事天生用c比较直接。如果你觉得c访问数据库或做ipc很痛苦,一定要用Java做主框架,没问题,还有JNI。把所有你用到的ptrace的函数都用JNI再包装一次,给Java去调用,确实,可以用Java来做这件事。问题是,等你看过JNI自动生成的那个头文件以后,你就会明白,为什么有人会在“知乎”上问“你什么时候对Java感到绝望”这个问题了。所以答案是“可以”,但你不会喜欢。
监控strace太晚了,不行。但是你可以改一改strace的代码。(比很多网络上,包括上面byvoid的代码要好,按照很多其他代码那样等着受苦吧,你可以参考mit的mbox)Java实现沙盘可以但是不适合,性能太差。实现起来也比较苦,要干的事情都不在Java能给你提供的东西内,别自找苦吃。卡时间用timer(必须有)+setrlimit(opt),内存也可以用setrlimit或者ptrace检查系统调用或者读proc下的文件或者混用。获得最后内存时间使用量用getrusage和gettimeofday或者类似的其他调用看你的精度要求。(在收到sigchld的时候或者其他卡系统调用)其他的话socketpair你应该也用得着。然后翻翻man就能写出来了吧
Web部分可以使用Java,但Judger建议使用C/C++来写
了解一下 Linux 命名空间应该有帮助。
1:沙盒无非是chroot和资源限制,只要能调用外部命令即可实现2、3:/proc下对应进程下的“文件”中可以读取总之,Java应该可以实现。
已有帐号?
社交帐号登录
无法登录?
社交帐号登录九度Online Judge,用代码记录你的成长之路!
&&&&&&&日(星期日)19:00至22:00,2014年王道论坛计算机考研机试全真模拟考试。比赛地址:
&&&&&&&本场比赛题目难度将有所提升,敬请关注!
各位程序猿:
&&&&&&&一书源自该书作者何海涛坚持更新与编写的博客(),该博客收集整理了大量如微软、Google等知名IT企业的经典面试题。一书在此基础上选取了50个典型的程序员面试题,从基础知识、代码质量、解题思路、优化效率和综合能力五个方面系统整理了影响面试的5个要点,难度适中,讲解清晰,非常适合程序猿用于准备求职面试。
&&&&&&&目前国内外越来越多公司将在线机试的方式引入求职招聘中,或者通过各种在线比赛和比赛平台搜寻各类编程人才。在线编程练习可以培养求职者良好的编程习惯,提高编程水平,其自动判题功能也能大大节约求职者验证代码的时间。九度在线测试系统现将书中题目收录进九度题库中,供广大求职者学习使用。
&&&&&&&详情请访问:
九度管理团队/日
(1)&恭喜获得第一名!
(2)&恭喜获得第二名!
(3)&恭喜获得第三名!

我要回帖

更多关于 online judge 的文章

 

随机推荐