run: Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at com.classpackage.MainConsole.main(MainConsole.java:24) Java Result: 1
This is because your program consuming a lot of memory. One of the solutions is to increase the Xms and Xmx argument on the project.
Lets see the example :
The Main Class
import java.util.ArrayList; import java.util.List; public class MainConsole { public static void main(String[] args){ List<PhoneContacts> phoneContacts = new ArrayList<PhoneContacts>(); // You can use diamond inference in JDK 7 like example below //List<PhoneContacts> phoneContacts = new ArrayList<>(); for(int index = 0;index< 10000000;index++ ){ PhoneContacts p = new PhoneContacts(); p.setFirstName("developersnote" + Integer.toString(index)); p.setLastName("developersnote" + Integer.toString(index)); p.setPhoneNumber(Integer.toString(index)); phoneContacts.add(p); } for(PhoneContacts p : phoneContacts){ System.out.println(p.getPhoneNumber()); } } }
The Phone Contacts Class
public class PhoneContacts { private String firstName; private String lastName; private String phoneNumber; public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getPhoneNumber() { return phoneNumber; } public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } }
The above example will cause out of memory exception . So the solutions is to increase the argument in JVM. Lets see the solution below.
The Solutions
- Right click on the java project >> properties
- Set the VM options -Xms512m -Xmx1024m (You can increase the value -Xmx to the suitable maximum memory allocation depends on your project memory consumption).
- Refer this post -X Command line options post for more information
By Mohd Zulkamal
NOTE : – If You have Found this post Helpful, I will appreciate if you can Share it on Facebook, Twitter and Other Social Media Sites. Thanks =)
0 comments:
Post a Comment