要读的文件80多M,如果是APPLICATION的程序,可以用java -Xmx1024m来增大JVM内存,这个程序在APPLICATION时跑起来正常,但在APPLET时不知如何设置这个参数?而且,如果是要在客户端进行设置的话,那岂不是每个客户端都要进行参数设置,这样的话也没有解决意义了,不可能要求每个客户端都进行这个设置的了如果改用分批次读文件,一次读一部分,处理完再销毁再读另外一部分这种方式的话,我的程序就改动量太大了,希望能有办法直接加大JVM的内存这种解决方式的谢过先了。

解决方案 »

  1.   

    如果要改成分次读文件的话,我的整个项目基本上都要涉及改动了,不是一般的工作量了,实在不愿意改了现在的机器一般都有256M的内存的,一个80M的文件就愣是被弄的没折了啊?JAVA怎么样也不至于功能这样受限吧,期待高手帮忙解决了
      

  2.   

    JVM内存增大只知道java -Xmx1024m命令期待最佳答案
      

  3.   

    没有遇到过这个问题,
    不知道能不能通过classLoader加大java内存,
    不过感觉可能性不大,那样的话java -Xmx1024m 就没意义了
    收藏期待最佳方案
      

  4.   

    谢过cxp108(chen) 了,你说的是也有道理但很多时候都有特殊的情况了,例如很多图片处理软件就是将图片文件一次性装入内存的,遇到图片超级大的时候,有很多图形处理软件也是有打不开的情况了另外,我这个贴子不想讨论一次性读入文件的这种操作方式的合理不合理了我就想弄明白在APPLET中怎么样找到办法增大它的JVM的内存,事实上,一个30M的文件就会让APPLET内存溢出,我现在就是不相信JAVA会解决不了这个问题,不然它也显的太弱了吧,期待哪位老兄提出解决方法了
      

  5.   

    打开控制面板
    双击java那个图标
    出现一个Java控制面板
    再进入Java->java 小应用程序 RunTime 设置,再修改JRE的javaruntime参数,也就是把-Xmx1024m加进去就行了
      

  6.   

    谢过楼上的。那个方法我也用过,在plug-in的控制面板里的runtime参数里输入那个Xmx的值,但我这里一直一设完之后,打开IE就出现什么内存为只读的错误,无法正常运行。没找别的机器试过,不知是我的机器原因还是什么别的,但用这个方法要更改客户端的设置了,即使这个方法能解决也没有实际意义了,我不可能要求每个客户端都做这种设置啊
      

  7.   

    我试过三四台机了,在
    java 小应用程序 RunTime 设置,再修改JRE的javaruntime参数,加上-Xmx1024m这句,全部都显示内存为只读的错误,然后IE死掉看来用这个方法应应急在本机上显示都现问题啊期待哪位高手帮我解决这问题啊
      

  8.   

    我看这个问题可不可以这么去理解:applet 是运行在“沙箱”中的,沙箱存在的目的,就是为了保障客户机的安全,也就是要确保 applet 程序不会无限制地访问客户机的资源。这么看,恐怕不存在什么办法能在无外界干预的情况下由 applet 程序自己作主增大其可用的内存容量,除非你能找到 Java Plug-in 的 BUG。
      

  9.   

    哦,对了,忘了问楼主了,你的 applet 访问的是客户机硬盘上的文件吗?如果不修改安全策略的话,好像做不到吧?
      

  10.   

    对不起,我收回刚才的问题。  :((CSDN 要是有删贴的功能就好了)
      

  11.   

    那个方法我也用过,在plug-in的控制面板里的runtime参数里输入那个Xmx的值,但我这里一直一设完之后,打开IE就出现什么内存为只读的错误,无法正常运行。-----
    我估计是你设置太大了,导致它启动不成功。你可以减少一点再看看
      

  12.   

    其实老实说,你这样还不如弄个Java Web Start的程序来,这样还不用受IE理会
      

  13.   

    作了这么长时间的Java开发,applet还没有接触过,惭愧~
    听听高手们的建议,同时接分ing...
      

  14.   

    我估计是你设置太大了,导致它启动不成功。你可以减少一点再看看
     ChDw(米) 分析的有道理,把值设为小一点,适可而止!
      

  15.   

    多谢楼上几位老兄,惭愧,确实是我把runtime里JVM的参数设的太大了才导致出错的。我设小点了现在是可以在APPLET中跑起来了(TO楼上:我读的文件是服务端的文件)不过这样的做法还是不实用啊,真正使用的时候不可能让客户每台机并且每次重装JRE后都去设这个参数的了另外,TO   ChDw(米) ( ) 信誉:155 
    你说的用webStart是个好提议,我也挺喜欢那种方式的,不过我没有用它做过实际的项目,我这个APPLET很多地方要与WEB交互的,很多地方要JS与APPLET互访的,不知道用webStart能否实现这点了?继续期待高手的解决方案了
      

  16.   

    applet 运行的时候要从服务器上读 80M 的文件?!这个太夸张了吧?也只有局域网上才可以考虑了……如果一定要在客户端上做手脚,又不想麻烦用户自己去做设置的话,不妨做一个 ActiveX 插件埋到页面里,只要客户机接受了这个插件,那,一切都归你了,hehe,不过,这个办法好像有点霸道……
      

  17.   

    编程乐园 Netbeans 群 : 17737684
      

  18.   

    确实是在局域网内使用的了做ActiveX的话,不能把JAVA的东西直接做成ActiveX啊,换别的语言重写那又是很大的工作了
      

  19.   

    其实,我的意思并不是把原来 JAVA 做的东西都一直成 ActiveX 的形式,而是用 ActiveX 做一个“药引子”,到客户机里替你去做“修改配置”的工作,比如“修改 Java Plug-in 的内存限额”等。(不过,具体到怎么用程序修改 Java Plug-in 的配置参数我也没有经验:)