2012-02-27 9 views
6

Tôi đang sử dụng Eclipse để chạy java lớp chương trình, trong khi tôi chạy nó tôi đã nhận lỗi nàyException in thread "main" java.lang.OutOfMemoryError: Java không gian đống

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 

sau đó tôi đã thay đổi VM từ các Thuộc tính> Chạy> Tùy chọn VM và tôi chạy lại chương trình, tôi gặp lỗi mới,

Error occurred during initialization of VM 
Incompatible initial and maximum heap sizes specified 

Tôi đang cố gắng áp dụng các thư viện stanford trong chương trình của mình, bất kỳ ý tưởng nào về cách giải quyết lỗi này.

+0

Điều đó có nghĩa là bạn đã cấp quá nhiều bộ nhớ. Nếu không nhìn thấy mã, tôi không thể nói cho bạn nhiều hơn thế ... – parkovski

+0

Bạn đã thay đổi gì trong các tùy chọn VM? –

+1

i thay đổi kích thước của bộ nhớ, lúc đầu tôi dùng bộ nhớ 50m, sau đó khi thông điệp đầu tiên đến với tôi, tôi thay đổi vm thành 512m tôi nhận được thông điệp thứ hai –

Trả lời

7

để thay đổi VM cho Eclipse bạn có thể thay đổi số lượng của MV từ Windows> Tuỳ chọn> Java> JRE đã cài đặt từ đó chọn JRE và nhấp chỉnh sửa, sau đó ghi vào Đối số VM mặc định: -Xmx1024M hoặc bất kỳ bộ nhớ nào khác ...

+1

Dung lượng bộ nhớ tối đa tôi có thể thêm là bao nhiêu? –

2

Error occurred during initialization of VM. Incompatible initial and maximum heap sizes specified

này có thể có nghĩa rằng bạn cung cấp cả -Xms và các tùy chọn -Xmx và -Xms (kích thước heap ban đầu) giá trị lớn hơn (kích thước heap tối đa) giá trị -Xmx.


netbeans provide to change the -Xms only from Properties > run > VM options

Tôi không phải là người sử dụng NetBeans. Tuy nhiên, một tìm kiếm ngắn gọn về hướng dẫn Using NetBeans 5.0 nói rằng điều này là không đúng:

Setting JVM Arguments

You can specify JVM arguments for the project in the Project Properties dialog box. Open the Project Properties dialog box and click Run in the Categories pane and then type a space-separated list of JVM arguments in the VM Options field.

Nói cách khác, bạn có thể đặt bất kỳ tùy chọn JVM rằng JVM của bạn hỗ trợ.


here is the string that i changed -Xms512m

(Cuối cùng ông nói với chúng tôi !!)

Thêm -Xmx512m là tốt.

Để lưu nội dung, các tùy chọn JVM chung (chẳng hạn như -Xmx và -Xms) được ghi rõ trong trang hướng dẫn sử dụng cho lệnh java. Bạn nên ĐỌC KỸ.

+1

Tôi đoán anh ta/cô ấy đã quên hậu tố 'm' trong Xmx –

+1

netbeans cung cấp để thay đổi -Xms chỉ từ Thuộc tính> chạy> VM tùy chọn, cách tôi có thể thay đổi - Xms trong netbeans .. –

+0

Tôi đang cố gắng chạy một chương trình có chứa ENR stanford nlp, và khi tôi cố gắng chạy thông báo lỗi đầu tiên xuất hiện, vì vậy tôi thay đổi VM thành 512m và các lỗi khác xuất hiện trong câu hỏi .. –

0

Để phóng to kích thước heap VM sử dụng tùy chọn -Xmx, điều này có thể giải quyết được lỗi. Nhưng có vẻ như đó là vấn đề mã hóa của bạn. Có lẽ mã nằm trong vòng lặp chết để tạo đối tượng mới hoặc một đối tượng rất lớn được tạo trong mã của bạn, vì vậy tôi đề nghị bạn kiểm tra mã trước tiên.

+0

lỗi xảy ra khi tôi cố chạy Entity Named Recognition "stanford NLP" cho các tính năng khác, chương trình chạy trơn tru –