2012-07-03 8 views
6

Gần đây tôi đã nghe nói về Jikes RVM và tôi đã cố gắng sử dụng các tính năng của nó mà các máy ảo khác không cung cấp và khả năng mở rộng của nó như thế nào.Ưu điểm của Jikes RVM

Vì vậy, khi đi mặc dù danh sách tính năng trên trang web tôi tìm thấy một điểm thú vị

hiệu suất cao. Jikes RVM là một trình biên dịch hiệu suất cao, làm cho nó lý tưởng để sử dụng với các dự án lớn

Câu hỏi

  1. Làm thế nào đích thực là tuyên bố trên vì tôi đã làm việc với Java cho 5 năm ngoái và có chưa bao giờ nghe nói về Jikes RVM trước đây. Hầu hết sự phát triển được thực hiện trên máy ảo điểm nóng (do Sun cung cấp). Tôi biết, có máy ảo khác cũng nhưng chưa bao giờ nghe nói về Jikes RVM. Có thể một trong những lý do có thể là sự thiếu nhận thức của tôi về Jikes RVM nhưng sau đó nó trở nên rất khó tiêu hóa mà rất nhiều người không biết về một máy ảo hiệu năng cao như vậy.

  2. Kịch bản chính xác nào sẽ nhắc bạn sử dụng Jikes RVM?

+1

Đảm bảo bạn không nhầm lẫn [Jikes RVM] (http://jikesrvm.org/) (là JVM thử nghiệm) với [Jikes] (http://jikes.sourceforge.net/) (là trình biên dịch Java được viết bằng C). –

+0

Cảm ơn bạn đã đặt nó, tôi thực sự đang nói về Jikes RVM. –

Trả lời

8

Bạn đang nói về hai sản phẩm khác nhau ở đây, mặc dù chúng có liên quan vì cả hai đều xuất phát từ cùng một nhóm tại IBM.

  1. Jikes Java compiler. Không giống như javac của Sun, được viết bằng Java, jikes được viết bằng C++. Một thời gian dài trước đây, điều đó có nghĩa là nó nhanh hơn nhiều so với javac và nó đã được sử dụng rộng rãi. Ngày nay, được viết bằng mã nguồn gốc không phải là một lợi thế hiệu suất ở tất cả, và thực sự, theo như tôi biết trình biên dịch là một dự án đã chết, chưa được cập nhật trong nhiều năm.

  2. Jikes "Research VM" (RVM) là một dự án để tạo ra một máy ảo Java vốn được viết chủ yếu bằng Java. Điều này làm cho nó có thể thử nghiệm với những thứ như thuật toán thu gom rác mới bằng cách viết mã Java, chứ không phải mã gốc. RVM là chậm so với các JVM khác và không bao giờ được dự định để sử dụng sản xuất thực tế, chỉ (như tên gọi của nó) cho nghiên cứu. Không giống như trình biên dịch, Jikes RVM vẫn có một cộng đồng nghiên cứu học thuật tích cực.

+0

Như bạn nói Jikes RVM là chậm hơn so với JVM khác có sẵn nhưng họ lý do tại sao http://jikes.sourceforge.net/ nói rằng nó là một máy ảo hiệu suất cao cho các dự án lớn? –

+2

@Bala, như tôi đã nói, đó là trang dành cho trình biên dịch *. Trình biên dịch là một chương trình biến mã Java thành các tệp '* .class'. RVM là một chương trình thực thi các tệp lớp. Trình biên dịch * nhanh; RVM chậm. –