tôi có một dự án tôi đã làm việc trên và tất cả đã được tiến triển tốt cho đến ngày hôm nay. Tôi có gần 6000 dòng mã trong một tài liệu lớp java. Nếu tôi cố gắng đặt thêm một mệnh đề IF vào mã, chương trình sẽ ném một ngoại lệ khi lớp được gọi. Tất cả các đoạn mã bổ sung mà tôi đã cố gắng đặt vào lớp, khiến lớp học thất bại khi được gọi. Tôi đã cố gắng để thêm mã kiểm tra mà tôi biết hoạt động tốt, và tất cả họ ném hộp thoại cảnh báo chặt chẽ lực lượng. Tin tôi đi, không có gì sai với đoạn cuối mà tôi cố gắng đặt vào lớp. Khi tôi đưa ra đoạn trích "if" cuối cùng, không có lỗi. Đã có ai thấy điều này trước đó chưa? Ngoại lệ được ném vào trình mô phỏng, khi lớp được gọi. Tôi nhận được lực lượng đóng cửa sổ cảnh báo. Đây là kích thước tệp java: 172,503 bytes Cảm ơn bạn trước!Có giới hạn về số lượng các dòng mã bạn có thể đặt trong một java Eclipse doument
Trả lời
Tôi đã gặp phải vấn đề đó một thời gian trước và phát hiện ra rằng không có vấn đề gì để có dòng 50k và nhiều mã trong một lớp miễn là giới hạn phương pháp không được vượt quá.
Tùy thuộc vào những gì trong một phương pháp duy nhất mà thực sự làm cho kích thước bytecode tôi đã trải qua những giới hạn giữa 2-3k dòng mã/phương pháp.
thêm:
bằng cách này tại một điểm nhất định trên thực tế Eclipse bị treo khi tổng mã của bạn trở nên quá lớn để biên dịch - chỉ cần tăng bộ nhớ của Eclipse tới 1 Gb hoặc lâu hơn. Cho đến nay đó là đủ cho các dự án của tôi có khoảng 100k dòng trong tổng ...
Tôi cắt nhỏ phương thức và chuyển hướng các lớp khác để tìm các khối, nó hoạt động như một sự quyến rũ. Kích thước phương thức đã bị vượt quá. Cái này khiến tôi mất cả ngày. Nhưng những gì là một ngày trong cuộc đời của một nub giá trị nào LOL – lastshadowrider
@ lastshadowrider Chỉ tò mò, có bao nhiêu dòng đã làm phương pháp của bạn có cho nó sụp đổ? – blessenm
khoảng 5.980 dòng trước khi nó bị lỗi. Tôi nghĩ tôi sẽ tiếp tục thêm vào phương pháp này, bởi vì mọi thứ đều hoạt động tốt. Và sau đó bùng nổ. – lastshadowrider
Tôi đã nhận thấy điều này trước khi, Eclipse chạy tắt của Java chính nó, vì vậy nó được rất RAM chuyên sâu, nếu bạn có quá nhiều mã để nó cần nhiều hơn có thể được alloted nó sẽ sụp đổ.
Bao nhiêu là quá nhiều? Toàn bộ apk chỉ là 512kb. – lastshadowrider
bạn có thể thay đổi tương tự sử dụng các thiết lập sau:
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
Tôi nên đặt những tuyên bố này ở đâu? – lastshadowrider
mở tập tin eclipse.ini và thay đổi cài đặt – Satya
Cảm ơn sự giúp đỡ Satya – lastshadowrider
Có giới hạn về số lượng các dòng mã bạn có thể đặt trong một java doument Eclipse.
Không chính xác.
Có giới hạn về số lượng bytecode trong một phương thức được biên dịch và các thứ khác như vậy, nhưng chúng được áp đặt bởi định dạng tệp lớp Java (tức là đặc tả JVM) chứ không phải Eclipse.
Cũng có thể Eclipse cần nhiều bộ nhớ hơn, mặc dù tôi không nghĩ rằng việc thêm một câu lệnh if
sẽ kích hoạt điều này một cách đáng tin cậy. (Và nếu nó đã làm, ngoại lệ sẽ cho bạn biết rằng bạn đã hết bộ nhớ ...)
- 1. Có giới hạn về số lượng tác vụ không?
- 2. Có giới hạn về số lượng kênh có thể mở mỗi phiên trong JSch không?
- 3. Có giới hạn về số lượng JSON có thể giữ không?
- 4. Có giới hạn về số lượng mô-đun mà WinDbg có thể thấy không?
- 5. sdwebimage: có giới hạn về số lượng setimageWithUrl có thể được xếp hàng đợi không?
- 6. Khi chạy, làm thế nào tôi có thể giới hạn số lượng các chủ đề java
- 7. có giới hạn số lượng chuỗi có thể chạy cùng một lúc không?
- 8. Có giới hạn về số lượng kết nối tcp/ip giữa các máy trên linux không?
- 9. Có giới hạn về số lượng tệp đang mở trong Windows
- 10. Có giới hạn về số lượng cuộc gọi urlfetch không đồng bộ mà tôi có thể chạy đồng thời không?
- 11. Có giới hạn thực tế về số lượng tệp ánh xạ bộ nhớ trong iOS không?
- 12. Các WebSockets có giới hạn thông lượng không?
- 13. Có giới hạn về số lượng #defines mà bộ xử lý trước gcc và VC++ có thể xử lý không?
- 14. Giới hạn thực tế về số lượng các phiên bản FileSystemWatcher mà máy chủ có thể xử lý là gì?
- 15. Giới hạn số dòng trong textarea
- 16. Giới hạn về số lượng chi nhánh git
- 17. Có bất kỳ giới hạn nào về số lượng mẫu khớp với scala không?
- 18. Có giới hạn về số lượng bảng được phép trong bigquery
- 19. Giới hạn số lượng thông số chung trong .NET?
- 20. Java có giới hạn về độ dài tên lớp không?
- 21. Eclipse: Bạn có thể định dạng mã khi lưu không?
- 22. Python - Giới hạn số lượng dữ liệu con subprocess.Popen có thể sản xuất
- 23. Cách giới hạn số lượng các cá thể MDB đang nghe một hàng Jboss JMS
- 24. Groovy .collect với số lượng các phần tử giới hạn
- 25. Số lượng hộp kiểm giới hạn
- 26. Từ điển với số lượng giới hạn các loại
- 27. Có giới hạn về độ dài _id trong mongodb
- 28. Bạn có thể có #regions trong Android/eclipse
- 29. Tôi có thể giới hạn số lượng đối tượng System.Threading.Tasks.Task chạy đồng thời không?
- 30. Có hạn chế về số lượng bảng mà cơ sở dữ liệu PostgreSQL có thể có không?
* "... chương trình ném một ngoại lệ khi lớp được gọi là ngày" *. Ngoại lệ là gì? Trường hợp là ngoại lệ ném? Bởi Eclipse? Trong chương trình đang chạy? Ý bạn là "được gọi" là gì? –
Bạn có thể đang chạy giới hạn kích thước phương pháp 64kb (bytecode). http://stackoverflow.com/questions/107855/is-there-any-no-of-lines-code-limit-for-a-java-class và http://stackoverflow.com/questions/5689798/why- không-java-giới hạn-kích thước-of-a-method-to-65535-byte và http://stackoverflow.com/questions/6570343/maximum-size-of-a-method-in-java –
Tôi nên chỉ ra rằng một lớp học với 6.000 dòng mã là dấu hiệu của một thiết kế xấu ** thực sự **. Nếu bạn refactor/modularize mã của bạn để một cái gì đó hợp lý hơn, vấn đề sẽ biến mất. –