2009-10-29 40 views
9

Câu hỏi này nói về các ứng dụng Java 64 bit nói chung, mặc dù tôi đã sử dụng nó vì làm việc với Netbeans/Eclipse. Tôi đang sử dụng bộ xử lý 64 bit với hệ điều hành 64 bit (Windows 7). Tôi muốn chạy Netbeans/Eclipse với hơn 4GB bộ nhớ heap (tức là, sử dụng cờ Xmx), nhưng tôi đang chạy vào một số nhầm lẫn. Dường như không có phiên bản 64 bit của Netbeans, và trong khi có các phiên bản 64 bit của Eclipse cho các hệ điều hành khác, thì không có phiên bản nào cho Windows. Hơn nữa, tôi không thể tìm thấy một phiên bản 64-bit của JRE/JDK mới nhất (tôi đã đọc các trang web đề cập đến sự tồn tại của chúng, vì vậy tôi không chắc chắn nếu Sun đã tạm thời đưa chúng xuống).Ứ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?

Bây giờ mà tôi đã giải thích hoàn cảnh của tôi, câu hỏi của tôi như sau:

  1. phần mềm gì tôi cần phải chạy// (ứng dụng Java ngẫu nhiên) Netbeans Eclipse với hơn 4GB bộ nhớ heap? Có một hệ điều hành 64-bit đủ? Tôi cũng cần một JRE 64-bit?
  2. Tôi nghĩ mã nguồn Java và bytecode Java là độc lập về kiến ​​trúc, như trong một chương trình Java được biên dịch với một bit 32 bit của JDK 64-bit có thể chạy trên một máy khác với 32 bit hoặc 64 bit JRE. Nếu điều này là đúng, tại sao Eclipse có một phiên bản 32-bit và một phiên bản 64-bit (tôi nhận ra rằng họ không có một cho Windows, nhưng họ có một cho Linux)? Điều này có nghĩa là Eclipse có khả năng có các thư viện bản địa, trong đó 32 bit so với 64 bit sẽ quan trọng?

Cảm ơn trước,
red.october

Cập nhật 1:
Ok, nó quay ra có một phiên bản 64-bit của Eclipse cho Windows, nhưng chôn nó sâu sắc đối với một số lý do (ít nhất là tôi không thấy nơi nó được liên kết từ trang chính). Sau khi tìm kiếm một chút, tôi đã tìm thấy một blog post cho biết bạn có thể nhận được Eclipse 64 bit cho Windows tại Eclipse Downloads. Liên kết đó trỏ đến một trang có liên kết đến nhiều phiên bản phát hành khác nhau - tôi vừa chọn bản phát hành ổn định gần đây nhất (3.5.1 tại thời điểm bài đăng này). Trang thứ hai này liệt kê các bản tải xuống khác nhau cho Eclipse 3.5.1 và cho mỗi lần tải xuống, bạn có nhiều kiến ​​trúc (32-bit và 64-bit) và hệ điều hành (ví dụ: Windows, Linux) để chọn. Cá nhân tôi đã chọn tải xuống SDK Eclipse - điều này đi kèm với "Nền tảng Eclipse, các công cụ phát triển Java và Môi trường phát triển trình cắm thêm, bao gồm cả nguồn và cả tài liệu người dùng và lập trình viên". Tôi không chắc mình có cần nguồn hay tài liệu hay không nhưng tôi có thể luôn xóa nó sau này.

Trả lời

9

Có, bạn sẽ cần một JVM 64 bit để sử dụng tất cả bộ nhớ của bạn. Tôi không cập nhật những gì bạn có thể nhận được cho Windows vì vậy tôi sẽ cho phép người khác trả lời điều đó.

Tuy nhiên, tôi nghĩ lý do chính tại sao bạn không thể tìm thấy netbeans 64 bit là nó độc lập 100% java và kiến ​​trúc độc lập. Eclipse cung cấp một khung công tác GUI thay thế với giao diện bản địa (SWT) và sử dụng nó cho chính môi trường phát triển. Khi bạn liên kết đến ứng dụng java của mình với thư viện gốc, bạn cần phân phối các thư viện cho kiến ​​trúc chính xác, do đó phụ thuộc kiến ​​trúc của phân phối nhật thực (mục thứ hai của bạn).

+0

Tuyệt vời - cảm ơn bạn đã dọn dẹp. –

+0

Điều này có nghĩa là phân phối các ứng dụng java tôi cần phát triển trong nhật thực của kiến ​​trúc tương ứng? – Chris

+0

@ Chris: Không, không hề. Bạn chỉ cần đảm bảo rằng các tệp nhị phân nền tảng được vận chuyển cùng với sản phẩm của bạn và được tải chính xác. Có rất nhiều trang ở đó mô tả cách thực hiện điều đó và tôi chắc chắn rằng nó cũng có trong Câu hỏi Thường Gặp về SWT (http://www.eclipse.org/swt/faq.php) – Fredrik

2

Bạn có thể chạy JDK hoặc JRE 64 bit trong Windows 7 Tôi hiện đang chạy chúng.

Java SE Development Kit 6u16

Java SE Runtime Environment 6u16

Chọn hệ điều hành từ trình đơn thả xuống, bạn có thể lựa chọn Windows 32 hoặc 64 bit.

+0

Tôi có lẽ nên chia câu hỏi này - Fredrik đã trả lời các câu hỏi chung của tôi, nhưng bạn đã trả lời cách tôi có thể nhận được JDK6 64 bit (vì vậy tôi đã đưa ra cả hai câu trả lời +1). Nó chỉ ra vấn đề của tôi là tôi đã cố gắng để tải về EXK JDK + Netbeans combo, và rằng một trong những tự động đi kèm với phiên bản 32-bit của JDK. Cảm ơn. –

1

Không có thứ gì như một ứng dụng java bit 64 bit. Các lớp Java được biên dịch có trong java bytecode, period. Việc thực thi các chương trình trên một JVM 64 bit (yêu cầu hệ điều hành 64 bit) cho phép chúng truy cập vào nhiều bộ nhớ hơn, nhưng sự khác biệt là vô hình đối với chương trình vì mọi truy cập vào thao tác bộ nhớ đều bị ẩn và tất cả các kiểu dữ liệu đều giống nhau.

Xem thêm this question

+0

@ Jherico: Trong trường hợp này tôi cảm thấy rằng câu trả lời của bạn là pap ngữ nghĩa, anh ta muốn truy cập vào lượng bộ nhớ vượt quá giới hạn của một JVM 32b, và để loại bỏ ý tưởng của bạn về điều đó, anh ta có thể sử dụng Long cho mọi biến và nó thực sự sẽ là một ứng dụng Java 64b. (Vô nghĩa, nhưng có thể.) –

+0

@sudo noob: Tôi nghĩ rằng Jherico trả lời đúng câu hỏi của tôi. Một ứng dụng Java không có mã nguồn gốc không có phiên bản 32 bit hoặc 64 bit (đó là những gì tôi đã hỏi) - bạn viết và biên dịch nó một lần, và những thứ như bộ nhớ mà nó có thể truy cập phụ thuộc vào JVM như thế nào và nền tảng phần cứng. Tôi không nghĩ rằng 64 trong ứng dụng 64-bit có nghĩa là tất cả các loại dữ liệu bây giờ là 64 bit chiều dài (tôi nghĩ rằng một char vẫn còn 8 bit dài trong các ứng dụng 64-bit C). –

Các vấn đề liên quan