Today, a secure element is not limited to its smart cards and other removable cryptographic tokens form factors; embedded SEs soldered onto a device board and new security designs embedded into general purpose chips are also widely used.
Java Card products are based on the specifications by Sun Microsystems (later a subsidiary of Oracle Corporation).
The main design goals of the Java Card technology are portability, security and backward compatibility.
Portability remains mitigated by issues of memory size, performance, and runtime support (e.g. for communication protocols or cryptographic algorithms).
As a design tradeoff, there is no support for some Java language features (as mentioned above), and size limitations.
Oracle has released several Java Card platform specifications and is providing SDK tools for application development.