132 CHAPTER 5: Introduction to Java: Objects, Methods, Classes, and Interfaces
Together these Java constructs will allow you to create the application’s objects and then modify
them according to the programming logic that your application will utilize to create a user
experience for your end-users.
Finally, we will put much of this newfound knowledge to use, and will create our own HelloUniverse
planetary tracking system, so that you get some hands-on experience creating your own objects,
classes, methods, and the like. While we do this, we will also learn what the bootstrap Java code in
your existing application is doing.
The Three Versions, or Editions, of Java
There are two other “editions,” or versions of the Java programming language, in addition to the
Java SE. These are called Java EE, short for Java Enterprise Edition, and Java ME, for Java
Micro Edition, which was originally used for mobile application development, so a lot of people
incorrectly assume that Java ME stands for Java Mobile Edition. Many mobile phones now use the
Android OS, which uses the more powerful Java SE, instead of Java ME, due to the more powerful
hardware utilized in today’s HD smartphones.
Java EE was designed for use on potentially massive computer networks. These types of computing
networks are used to run large “enterprises” or corporations with thousands of active users, and
could be termed “server-side” computing.
Conversely, Java SE could be termed “client-side” computing, as the Java application, in the case
of this book, an Android application, runs on the user’s own personal computing device, which is
termed the “client” in the computer programming industry.
The reason an enterprise computing network is considered to be a “server-side” scenario is because
the “dumb terminals” used by workers are simply keyboards and display screens, whereas the
memory and processing resources are centered in the powerful computers serving the network.
Java EE was originally designed and optimized for this exact type of centralized computing scenario,
which is still utilized today in many large corporate MIS and IT departments.
It is important to note that Java EE can also be run on smaller installations, as long as they have
enough system memory and a couple of processing cores, and this is sometimes done in companies
that are developing applications for use on Java EE installations, so that they can work in and
simulate that type of environment for their testing. Java EE’s differentiating feature to Java SE is that
Java EE features a multi-user, scalable design, whereas Java SE is designed for use by a single user
on a single computer system, say a home PC or a laptop, or better yet, on an Android device such
as an iTV Set, eBook reader, tablet, smartphone, game console, or smartwatch.
Java ME was designed for low-power, embedded systems, to create highly portable computers
such as mobile phones. It has fewer features than Java SE, so that it can fit onto a phone without
using too much memory and resources to run it. Most mobile flip-phones run Java ME, but Android
phones run the more powerful Java SE. Android phones can run Java SE because they have at
least a half gigabyte or more of memory, and a 1GHz or faster CPU, so essentially today’s Android
devices are tiny Linux computers.