2014-09-19 15 views
8

Java SE 8 được nhúng và Java ME 8 dường như có mục tiêu tương tự. Sự khác nhau giữa chúng về API, hiệu suất và giấy phép là gì?Java SE được nhúng và Java ME

+0

Tìm thấy liên kết này, có thể hữu ích cho một số người tìm kiếm trong tương lai - https://terrencebarr.wordpress.com/2013/04/19/embedded-choices-java-me-vs-java-se/ – rents

Trả lời

11

Oracle Java SE Embedded và Oracle Java ME Embedded là cả hai sản phẩm của Oracle. Vì tôi chỉ là một kỹ sư (và đây là StackOverflow), tôi sẽ giới hạn các nhận xét của tôi về các công nghệ và dành các chủ đề định vị và cấp phép thị trường. Để biết thông tin về các chủ đề đó, vui lòng truy cập vào các trang sản phẩm được liên kết hoặc liên hệ với tôi và tôi có thể giúp bạn liên lạc với ai đó.

Java SE được nhúng là (hoặc có thể, tùy thuộc vào cấu hình) một thời gian chạy Java SE đầy đủ, giống như JRE/JDK cho máy tính để bàn. Nó có tính năng HotSpot JVM với trình biên dịch JIT và tập hợp đầy đủ các thư viện lớp Java SE hoặc để giảm dấu chân tĩnh, nó có thể được cấu hình để hỗ trợ một trong ba cấu hình nhỏ gọn được định nghĩa trong Java SE 8. Nó cũng hỗ trợ các nền tảng không được hỗ trợ bởi máy tính để bàn Java, chẳng hạn như một loạt các bộ vi xử lý ARM, với điểm nổi cứng hoặc mềm, trên một số cấu hình Linux nhúng. Các cấu hình tiêu biểu bao gồm 32MB RAM và không gian tĩnh 10MB-48MB, tùy thuộc vào cấu hình nhỏ gọn hoặc JRE đầy đủ được chọn.

Java ME Nhúng được nhắm mục tiêu ở các cấu hình nhúng nhỏ hơn nhiều so với SE được nhúng. Nó có một JVM với một trình biên dịch JIT (JVM "Monty") nhưng được thiết kế cho hiệu suất không gian thấp và không gian thay vì hiệu năng thời gian chạy tối ưu. Cũng có một số tính năng JVM và Java Language nhất định không có trong ME 8 so với SE 8, chẳng hạn như các trình nạp lớp do người dùng định nghĩa, sự phản chiếu, JNI, invokedynamic, các phương thức xử lý và các biểu thức lambda. Java ME 8 cũng có tính năng thư viện lớp học ngầm, nhỏ hơn nhiều so với hồ sơ SE 8 Compact-1. Cấu hình tiêu biểu sẽ có 128K RAM và 1MB dấu chân tĩnh. Để có một đặc điểm kỹ thuật đầy đủ về môi trường này (đặc tả tập hợp con JVM, đặc tả tập con ngôn ngữ và các API của thư viện lớp), hãy xem JSR-360 Specification. (Yêu cầu giấy phép nhấp qua.)

Có một số công việc đang được tiến hành để hỗ trợ các biểu thức lambda trong môi trường này; xem JVMLS 2014 talks page và tìm "Đóng cửa trên JVM được nhúng" bởi Oleg Pliss. Lưu ý rằng đây là công việc sớm và không có kế hoạch sản phẩm cam kết hỗ trợ lambdas trong môi trường ME 8.

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