Tôi đang cố gắng sử dụng ANTLR V4
với trao công khai Java 8
ngữ pháp - https://github.com/antlr/grammars-v4/blob/master/java8/Java8.g4ANTLR V4 + Java8 Grammar -> OutOfMemoryException
tôi tạo ra các tập tin lớp học và cố gắng phân tích Java 8 JRE
, nhưng bằng cách nào đó tại java.text.SimpleDateFormat.java
nó bị treo với :
java.lang.OutOfMemoryError: GC overhead limit exceeded
Nó cũng treo, khi tôi đang cố gắng để phân tích rằng tập tin duy nhất một mình.
Điều này có thể được giải quyết bằng cách nào đó không? Rõ ràng ANTLR V4
không thể xử lý các tệp có nhiều hơn 2000 LOC? Đó có phải là một giả định đúng không?
Những gì tôi đã làm như vậy cho đến nay:
Thay đổi bộ nhớ giao cho
JVM
trong nhiều bước từ 256MB đến 4GB - nó sau đó thay đổi đểjava.lang.OutOfMemoryError: Java heap space
Để đảm bảo rằng không có vấn đề cú pháp với tệp đầu vào
Lúc đầu, tôi lấy nửa đầu của tập tin ->phân tích cú pháp có vẻ okay,
sau đó phá hoại hành động đó và loại bỏ nửa cuối của tập tin ->phân tích cú pháp có vẻ okay
... và bạn tăng dung lượng bộ nhớ java, ví dụ: sử dụng '-Xmx'? – Petesh
Xin chào, Petesh! Tôi đã làm điều đó trước đây - Tôi đã cập nhật câu hỏi của mình ... Thx! –
Nhận xét các phần liên tiếp để tìm mã có vấn đề. –