作为圣诞礼物,我用Java编写了一个小程序来计算素数.我的目的是让它彻夜不眠,计算下一个素数并将其写入.txt文件.早上我会杀了这个程序并将.txt文件带给我的朋友过圣诞节.
有什么我应该担心的吗?请记住,这是真正的初学者Ziggy,你正在谈论,而不是一些聪明的错误检查ASM的家伙.
编辑更具体地说,因为我将在整夜计算素数时离开这个程序,有没有机会我会遇到某种与内存相关的错误?喜欢,堆叠压碎堆或狗和猫睡在一起?
EDIT更具体地说,当文件大小为4GB时,是否有一行代码可以用来停止打印行?为了安全起见?
编辑:成功:整夜离开之后,我得到的素数不超过13 KB,我得到的最高值是22947217,就像成千上万的素数一样.成功!
我建议为你计算的每个素数发送一条短信.你的朋友比一堆纸要好得多.此外,他可以更频繁地更新.
有很多限制,但它们都不是.txt文件固有的:
Windows 9x记事本不会打开> 64KB的文件.
Windows NT/2k/etc的记事本没有限制,但往往会阻塞并锁定多兆字节文件.您还需要记住大多数文本编辑器都是哑巴并尝试将整个文件读入RAM.
许多软件仅限于2GB或4GB文件,具体取决于它们是使用有符号还是无符号的注册 - 正如有人已经提到的那样,FAT32会对此感到内疚.
您很可能使用的是慢速算法.随着素数越来越大,你的程序将花费更长的时间来计算单个素数.如果你让它运行一夜,文本文件在早上不会很大.如果它超过几个megs,我会留下深刻的印象.