Tôi sử dụng Eclipse và Windows 64 bit và phát triển các ứng dụng Java trên máy tính để bàn. Cho đến nay, tôi chỉ sử dụng JDK 32 bit, nhưng có lý do nào để thay đổi sang JDK 64-bit để phát triển Java không?Tại sao tôi nên sử dụng JDK 64 bit so với phiên bản 32 bit?
Trả lời
Không, đối với các hoạt động phát triển của bạn, 32 bit có thể là đủ.
Các JVM mới nhất hỗ trợ nén con trỏ, nhưng ngược lại, phiên bản 64 bit của ứng dụng yêu cầu nhiều bộ nhớ hơn để chạy. Chỉ sử dụng 64 bit nếu ứng dụng của bạn cần phải giải quyết nhiều bộ nhớ hơn (32 bit nên địa chỉ 4 Gb, nhưng cân nhắc hệ điều hành đôi khi làm cho điều này ít hơn).
Ngoài việc lãng phí một chút bộ nhớ, phiên bản 64 bit không phải là vấn đề, nhưng theo giai thoại, tất cả các sự cố không thể giải thích được của JVM thường đá mà tôi nghe đều có trong phiên bản 64 bit. Nó có thể là hệ điều hành hoặc các yếu tố khác, nhưng nếu bạn không có một lý do cho 64 bit, tại sao đẩy may mắn của bạn?
32 bit chỉ có thể truy cập 2GiB bộ nhớ trên Windows. – Monstieur
@Locutus Trừ khi chúng có địa chỉ lớn. – OMGtechy
Câu trả lời này hiện đã chính xác 6 tuổi và vẫn là lần truy cập đầu tiên trên google. Erickson, bạn có phiền khi cập nhật câu trả lời của mình không? (Ngay cả khi nó chỉ là để nói rằng những gì bạn nói vẫn giữ trong năm 2016! Mặc dù tôi bằng cách nào đó nghi ngờ nó.) –
Lý do chính sẽ là nếu bạn muốn viết một ứng dụng có khả năng sử dụng lượng bộ nhớ lớn (ví dụ: trên 4GB hoặc bất kỳ giới hạn cho mỗi quá trình nào trên hệ điều hành của bạn).
Muộn cho bữa tiệc, nhưng đối với bất kỳ ai khác tình cờ khi chủ đề này: Hệ điều hành 32-bit có tối đa 4GB, chính xác, nhưng với PAE được cài đặt có tổng dung lượng lên tới 32GB và tối đa 3GB cho mỗi quy trình giới hạn - quá đủ trong môi trường servlet, ví dụ. 2011 và vẫn không thể nhìn thấy một trường hợp sử dụng phổ biến cho một hệ điều hành máy chủ 64-bit bên ngoài của doanh nghiệp; rất ít nếu có lợi ích về hiệu suất và mức tiêu thụ bộ nhớ cao hơn, không cảm ơn ... – virtualeyes
Xin lỗi ... Tôi biết điều này cũ nhưng ... bạn có nói năm 2011 và vẫn không thể thấy trường hợp sử dụng chung cho hệ điều hành 64 bit bên ngoài doanh nghiệp? Hầu hết thời gian máy tính xách tay của tôi có bộ nhớ 16GB, 64bit giành được 7 là sử dụng 7-10GB bộ nhớ. Tôi có nhiều môi trường phát triển mở nhiều lần (Eclipse, Visual Studio 2010/2012), trình duyệt, trình chỉnh sửa hình ảnh, v.v. Tôi ghét phải quay lại máy tính 32 bit vì tôi chỉ có thể chạy một vài chương trình mà không bắt đầu Lỗi trang. – Jack
Ngoài ra, nếu bạn đang nói về x86/x86-64 nó không phải là quá rõ ràng. Vì vòm x86-64 có nhiều thanh ghi, vv, vì vậy bạn cũng có thể nhận được một số lợi ích hiệu suất sử dụng 64 bit có thể bù đắp các yêu cầu bộ nhớ lớn hơn, v.v. Nếu bạn đang chạy trên một cái gì đó giống như SPARC, thì bạn don ' t cần 64 bit trừ khi bạn cần không gian bộ nhớ. – Mike
Hãy thử điều này:
public class Benchmark {
public static void main(String args[]) {
long time = System.currentTimeMillis();
for (int a = 1; a < 900000000; a++) {
for (int b = 1; b < 20; b++) {
}
}
long time2 = System.currentTimeMillis() - time;
System.out.println("\nTime counter stopped: " + time2);
}
}
Trong 32 và 64 bit và cười nhạo sự khác biệt.
Điều gì đang xảy ra ở đây? Điều này rất quan trọng. Tôi đã thử nghiệm điều này với các phiên bản 32 và 64 bit của JDK 8. Tôi hình phiên bản 64 bit có thể xác định tốt hơn những gì cấu thành công việc vô dụng, bởi vì nó dường như không làm vòng lặp nào cả. – agent154
Tại sao bạn không chỉ cho chúng tôi biết sự khác biệt là gì? – EnvisionAndDevelop
- 1. Java JDK 32 bit và 64 bit
- 2. Xác định Windows 64 bit so với 32 bit
- 3. QtCreator trên linux: 32 bit so với 64 bit
- 4. Tại sao nên sử dụng hệ điều hành 64 bit?
- 5. Tại sao điều này nhanh hơn trên 64 bit so với 32 bit?
- 6. JDK 64bit hoặc 32 bit?
- 7. Ứng dụng 32 bit hoặc 64 bit trên hệ điều hành 64 bit?
- 8. 32 bit int * 32 bit int = 64 bit int?
- 9. Tại sao QtCreator/MSVC liên kết hệ thống DLL 64 bit với ứng dụng 32 bit của tôi?
- 10. Tạo 32 bit JavaFX Native Bundle trong máy 64 bit
- 11. Để học lắp ráp - tôi có nên bắt đầu với 32 bit hoặc 64 bit không?
- 12. Tại sao các nhà phát triển .NET cung cấp phiên bản 32-bit/64-bit của các hội đồng .NET?
- 13. Tôi nên tạo hoặc tải lên gói NuGet 32 bit và 64 bit như thế nào?
- 14. Cuộn phiên bản 64 bit và 32 bit của ứng dụng vào cùng một nhị phân?
- 15. Tại sao __sync_add_and_fetch hoạt động với biến 64 bit trên hệ thống 32 bit?
- 16. 64 bit so với 32 bit để phát triển điện thoại Windows
- 17. Xây dựng 32 bit với 64-bit llvm-gcc
- 18. SDK Android 32 bit hoặc 64 bit trên hệ điều hành Windows 64 bit?
- 19. Tại sao và khi nào sử dụng PowerShell hoặc ISE 32 hoặc 64 bit?
- 20. Hiệu suất dấu phẩy động 32 bit so với 64 bit
- 21. Tìm hiểu kích thước đối tượng CLR giữa 32 bit so với 64 bit
- 22. MySQL: kiểm tra phiên bản nào: 32 bit hoặc 64 bit?
- 23. Tại sao ứng dụng 32 bit của tôi không truy cập vào tổ chức đăng ký 32 bit?
- 24. Xác định kiến trúc JRE 32 bit so với 64 bit
- 25. Ứng dụng Java 64 bit: Hệ điều hành 64 bit, JRE 64 bit và Ứng dụng 64 bit có yêu cầu không?
- 26. .net InstallUtil utility - 32 bit vs 64 bit
- 27. .NET 3.5SP1 Mô hình bộ nhớ 64 bit so với mô hình bộ nhớ 32 bit
- 28. Java 64 bit có hoạt động tốt hơn phiên bản 32 bit không?
- 29. Eclipse 32 bit chạy trên 64 bit JVM
- 30. sử dụng com 32 bit thư viện trên 64 bit ứng dụng
Bạn đã thực hiện bất kỳ nghiên cứu nào về điều này trước khi yêu cầu chúng tôi đưa ra ý kiến? kết quả nghiên cứu của bạn là gì? – t0mm13b
Tôi đã tìm thấy chủ đề này hữu ích: http://stackoverflow.com/questions/783662/java-32-bit-vs-64-bit-compatibility –