I want to ask you the differences between J2ME And J2EE, including the differences between their class output/input,...
if any. Is it true that J2ME is subset of J2EE (because they use difference VM)? If not, what is the reason?
Java 2 Platform, Enterprise Edition (J2EE) and Java 2 Platform, Micro Edition (J2ME) both leverage Java as their primary programming language, however, they target different programming spaces:
J2EE is the edition of the Java 2 platform targeted at developing multi-tier enterprise applications. J2EE consists of a set of specifications, APIs and technologies defining enterprise application development. J2EE technology providers expose tools, frameworks and platforms that handle a good deal of the details of enterprise application infrastructure and behavior. J2EE implementations enjoy all of the features of the Java 2 Standard Edition (J2SE) platform with additional frameworks and libraries added to support distributed/Web development.
J2ME is the edition of the Java 2 platform consisting of a set of specifications, APIs, technologies and a virtual machine for embedded electronics within the consumer space. J2ME implementations must support devices with limited amounts of storage and memory, therefore, J2ME implementations typically provide an optimized subset of the J2SE API.