今天弄完了一个java项目,弄完后用exe4j打成了exe可执行程序,一运行,没反应了,石沉大海似的。而实际上,我这个项目是一定可以运行的呀(用MyEclipse跑了不知道多少遍),于是添加日志,跑完了打开一看,内存溢出,也就是常见的这个:java.lang.OutOfMemoryError: Java heap space。网上查资料说是直接修改VM的参数就成,也就是如图的文本框里的信息,像修改MyEclipse里面的VM一样加大内存量:
网上总共找到三种方法:
第一种:-J-Xmx512m
借鉴于“Allow VM。。。”那一行写的,设置为 -J-Xmx512m,一跑还是溢出,设置成1024还是不行,可见这么设置不行,PASS掉。
第二种:-XX:PermSize=512M -XX:MaxPermSize=1024M
参考MyEclipse中设置VM的方式,设置成-XX:PermSize=512M -XX:MaxPermSize=1024M,再一跑,还是没戏,也pass。
第三种:添加文件。
a、删除上图中文本框中的数据,勾选“Allow VM ....”的复选框;
b、假设打成的可执行程序名称为a.exe,在它的同级目录下新建文件a.exe.vmoptions;
c、a.exe.vmoptions文件的内容为:
-Xms256m
-Xmx512m
d、重启exe执行程序。
这次正常了,没有再报错,问题解决。
相关推荐
缓冲区溢出是软件漏洞的一种常见形式,指的是程序试图在一块有限的内存空间内存储更多的数据时,超出了这块内存空间的容量,导致其后邻近的内存区域被覆盖。这种漏洞的利用往往可以控制程序的执行流程,是网络安全...
缓冲区溢出攻击是网络攻击事件中最常用的攻击方式之一,成为系统和网络安全中亟待解决的重要问题。缓冲区溢出攻击的原理是指攻击者通过向缓冲区写入超出其容量的数据,导致缓冲区溢出,从而控制程序的执行流程,执行...
在处理大型XML文件时,传统的DOM解析方法可能会遇到内存问题,因为它会一次性加载整个XML文档到内存中,对于大的文件,这可能导致内存溢出。而DOM4J提供了一种基于事件流的解析方式,即SAX解析器,可以有效地解决这...
#### 四、常见问题及解决方法 1. **无法找到或加载主类**: - 确认 `-starttest.Test` 中的类名是否正确。 - 确认 `-Djava.class.path` 是否包含了所有必需的类库。 2. **内存溢出**: - 调整 `-Xms` 和 `-Xmx`...
DOM通常会将整个XML文档加载到内存中形成一棵树形结构,这对于小文件是可行的,但对于大文件可能会导致内存溢出。DOM4J则提供了一种分段加载的方式,可以按需读取XML内容,降低了内存消耗。 XPath是XML路径语言,...
在DOM解析XML时,整个XML文件会被读入内存,并构建一个树形结构,这在处理大文件时可能会导致内存溢出。而SAX解析器则采取不同的策略,它以事件的形式逐个处理XML元素,只在需要时存储少量信息,因此对于大文件来说...
- **溢出问题**:在使用加减法交换时,如果两个整数的和超出了整型变量的最大值,则会发生溢出,导致错误的结果。因此,在实际编程中,应当考虑这一点,并选择合适的方法。 - **适用性**:这两种方法适用于整数类型...
本文将介绍一种间接方法,以解决对这两种处理器的Nor Flash和Nand Flash烧写问题。 **一、J-Link V7的特性与挑战** 1. **J-Link调试功能**:J-Link支持多种微控制器和处理器,提供实时调试、断点设置、内存读写...
- **大结果集**:对于大量数据,考虑使用批处理或存储过程,避免一次性加载所有数据导致内存溢出。 4. **错误处理** - **捕获SQLException**:使用try-catch块捕获并处理SQLException,获取具体的错误信息。 - *...
- **内存限制**:题目给出的内存限制是512MiB,参赛者在编写代码时需要确保程序的运行不会超出这个限制,否则可能会因为内存溢出而导致程序运行失败。 **编程语言使用** CSP-J(入门组)2021年复赛试题允许使用C、...
不过,即使是在这样一个简单的计算机中,您也会有问题,尤其是当您不知道程序的每个部分将需要多少内存时。如果您的空间有限,而内存需求是变化的,那么您需要一些方法来满足这些需求: 确定您是否有足够的内存来...
本文档将详细讲解Java问题定位的一些关键技术和方法,帮助开发者提升解决问题的效率。 首先,我们要理解日志是问题定位的重要工具。在Java应用中,日志记录了程序运行过程中的信息,包括警告、错误以及调试信息。...
通过理解和实现01背包问题的C语言代码,我们可以深入理解动态规划的思想,提高解决问题的能力,并为解决其他类似优化问题奠定基础。此外,这种问题求解技巧也有助于培养算法设计和分析的技能,对提升编程能力...
Java内存溢出问题通常发生在JVM的内存管理出现问题时。主要有三种常见的类型: 1. **JVM Heap(堆)溢出**: - **常见原因**:当应用程序创建的对象过多,导致JVM的Heap空间不足时,就会发生Heap溢出。 - **解决...
试题可能涵盖不同进制转换(如二进制、八进制、十进制、十六进制之间的转换)、数值溢出问题、原码、反码、补码表示法以及无符号数与有符号数的区别。此外,计算机中的算术逻辑运算(加、减、乘、除、逻辑与、逻辑或...
在实践中,你可能还需要处理其他细节,比如防止内存溢出,优化网络数据的读写效率,以及确保程序的健壮性。这个项目提供了一个基础框架,开发者可以根据具体应用需求进行扩展,比如添加SSL/TLS支持以实现HTTPS连接,...
4. **数据发送和接收**:通过SPI接口读写ENC28J60的内存来发送和接收数据包,这通常涉及到读取状态寄存器、填充发送缓冲区和从接收缓冲区提取数据。 5. **错误检测和纠正**:理解并处理可能出现的网络错误,如CRC...
此外,了解堆栈操作也有助于识别和防止缓冲区溢出等安全问题,因为当栈上的内存被不当访问或修改时,可能会导致严重的后果,如代码执行或数据泄漏。 总之,Win32环境下的函数调用涉及到复杂的堆栈操作,包括保存和...