Java SE embedded and Java ME
Asked Answered
M

2

8

Java SE 8 embedded and Java ME 8 seem to have a similar goals. What is the difference between them regarding APIs, performance and license?

Mosasaur answered 19/9, 2014 at 17:21 Comment(1)
Found this link, maybe useful for some future searchers - terrencebarr.wordpress.com/2013/04/19/…Pentstemon
T
13

Oracle Java SE Embedded and Oracle Java ME Embedded are both Oracle products. Since I'm just an engineer (and this is StackOverflow) I'll confine my comments to the technologies and set aside market positioning and licensing topics. For information on those topics please visit the linked product pages, or contact me and I can put you in touch with someone.

Java SE Embedded is (or can be, depending upon configuration) a full Java SE runtime, just like the JRE/JDK for the desktop. It features the HotSpot JVM with JIT compiler and the full set of Java SE class libraries, or to reduce static footprint, it can be configured to support one of the three compact profiles defined in Java SE 8. It also supports platforms not supported by desktop Java, such as a variety of ARM processors, with hard or soft floating point, on several embedded Linux configurations. Typical configurations include 32MB of RAM and 10MB-48MB of static space, depending on which compact profile or full JRE is selected.

Java ME Embedded is targeted at much smaller embedded configurations than SE Embedded. It has a JVM with a JIT compiler (the "Monty" JVM) but which is designed for low overhead and space efficiency instead of optimized runtime performance. There are also certain JVM and Java Language features not present in ME 8 compared to SE 8, such as user-defined classloaders, reflection, JNI, invokedynamic, method handles, and lambda expressions. Java ME 8 also features a radically subsetted class library, much smaller even than the SE 8 Compact-1 profile. Typical configurations will have 128K of RAM and 1MB of static footprint. For a complete specification of this environment (JVM subset spec, language subset spec, and class library APIs) see the JSR-360 Specification. (Requires click-through license.)

There is some work underway to support lambda expressions in this environment; see the JVMLS 2014 talks page and look for "Closures on Embedded JVM" by Oleg Pliss. Note that this is early work, and there are no committed product plans to support lambdas in the ME 8 environment.

Thriller answered 21/9, 2014 at 23:55 Comment(0)
V
0

exactly as Stuart says you can find the same in java oracle se embedded FAQ : Q: How does it differ from Java ME?

Java ME and Java SE Embedded address different segments of the embedded market. The Java ME CLDC and CDC offerings are designed for resource-limited devices including cell phones, handsets and media players. The APIs of CLDC and CDC are more limited than Java SE but enable these ME offerings to support devices with small footprints. Java SE Embedded provides the rich functionality of Java SE and is targeted at higher-end embedded devices - generally, those devices with at least 32MB RAM and 32MB of ROM.

Venose answered 1/12, 2020 at 10:30 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.