- By definition an enumerated type is a finite set of
symbolic literals
- In Java an enumerated type is represented as
first-class object.
- Enumerated type literals are allowed in case
statements.
- The literals of an enumerated type may be of any
valid Java identifier
- An interface may NOT contain any concrete method
implementations
- An interface is NOT a class of any style.
- An interface defines a set of abstract methods that
may have many implementations.
- An interface is NOT a member of a class.
- Both class associations and class compositions
relationship may be of any multiplicity.
- compositions may also have navigation methods, but
these methods must NOT pass references to the
owned objects. This is usually achieved by passing
back a copy of the object rather than the owned
object itself. Composition implies that the owning
object controls the life cycle of the owned bject.
- Dependency:one object uses another object during
computations.
- the portability of a Java application is NOT
dependent
- upon whether information hiding was used.
the class cannot protect bad assignments. For
example, setting a negative value for an account
balance.
- classes that do NOT support information hiding
are NOT treated specially in Java
- Disadvantages of information hiding: Access to
object
- attributes incur a runtime penalty.However, the
Sun hotspot JVM usually can eliminate the added
overhead by "inlining" the methods where they
are called.
- It is time consuming to use methods to access
object attributes rather than direct access.
- Information hiding does NOT restrict the
reusability of a superclass.
- Interfaces are only contracts (declarations of
public methods) and a program needs classes for
actual behavior.
- NOT every class will have behavior that
requires an explicit contract (interface).
- It is the reference variables to objects that
need to be as generic as possible. This is the
essence of the "program to an interface"
principle.
- An interface cannot be instantiated using the
new operator
- The minus symbol in a uml class diagram
signifies private visibility
- the + symbol in a uml class diagram signifies
public visibility
- encapsulation: all of its attributes be
private and it provides appropriate public
accessor and mutator methods.
- UML: attribute representation: - attr : int
- UML
- ? is NOT a valid multiplicity indicator.
- 0..* indicates zero or more multiplicity.
- 0..1 indicates zero or one multiplicity, which is how
you can represent an optional association.
- ?..1 is NOT a valid multiplicity indicator.
- ? is NOT a valid multiplicity indicator.
- * is an abbreviation for 0..*.
- M is NOT a valid multiplicity indicator.
- ? is NOT a valid multiplicity indicator.
- 0..* is exactly how to indicate zero or more.
- M is NOT a valid multiplicity indicator.
- Enums and arrays make use of object references
- A source file can have zero package statements or one
package statement.
- A source file automatically imports all classes of its
package.
- java -version com.example.MyProgram: The Java
interpreter prints the version information and exits.
- The Collections APIs contain interfaces for lists and
sets.
- The Collections APIs are in the java.util package.
- the classes for TCP and UDP communication are contained
in the java.net package.
- cell phone side of an application requires the micro
edition and the server side with EJB requires the
enterprise edition
- the J2SE platform has rich GUI capabilities, as well as
IP communication capabilities allowing multiple,
Internet-wide applications to exchange data.
- TCP/IP sockets are the basis of RMI.
- RMI may create new threads for each request.
- JMS is used to communicate with messaging services
asynchronously.
- HTML does NOT provide interactive capabilities.
- HTML does NOT provide a rich set of UI components.
- HTML does provide navigation capabilities, such as
hyperlinks.
- HTML does provide rich text formatting capabilities,
such as tables and cascading style sheets.
- J2me include APIs for playing audio media.
- J2ME provides limited user interface components.
- J2ME applications usually execute on small devices with
small screen resolution, which cannot support rich UI
components.
- an Applet executes within a security sandbox that, by
default, prohibits access to the user's filesystem.
- an Applet might fail to execute correctly (or at all)
if the web browser does NOT have the appropriate JRE
installed.
- an Applet does NOT have access to the web browser's
cookie information.
- the default security sandbox does permit communication
with the originating enterprise server.
- Applets execute in a security sandbox that does NOT
permit access to files on the client system.
- Applets can be used to create animated games. However,
Applets do NOT have access to gaming-specific APIs like
J2ME applications do.
- Applets cannot connect to arbitrary Internet servers.
- Applets may connect to the server that delivered the
Applet to access media files on that server.
- Applets can access other Applets on the same web page.
- Applets can access other Applets on the page through
the AppletContext object supplied by the web browser.
- Swing (Richest GUI components in j2SE) has a broader
GUI component set than AWT.
- MIDP is a J2ME (not J2SE) profile.
- JSF is a J2EE web-based UI component framework with
only a limited component set.
- AWT has a more limited GUI component set than Swing
- SWT is NOT a standard J2SE technology.
- JSP is used to create dynamic HTML content. It does NOT
handle business logic.
- JMS is the technology that handles asynchronous
requests and performs the business logic of these
requests.
- JDBC is a database communication technology and does
NOT handle business logic.
- JNDI is a naming and directory service interface. It
does NOT handle business logic.
- JNDI and JDBC support completely independent purposes
in an application. JNDI is an interface to directory
servers and JDBC is an interface to database servers.
- servlets and SQL support completely independent
purposes in an application. Servlets respond to HTTP
requests and SQL is used to communicate with relational
databases.
- JavaMail uses SMTP (simple mail transfer protocol),
which is used to send email from an application to
users.
- JavaScript and EJB support completely independent
purposes in an application. JavaScript provides
interactivity to web pages and Enterprise JavaBeans
provide business logic.
- JSP technology simplifies the creation of dynamic web
pages.
- JSP technology is a server-side technology.
- JSP technology is NOT intended to be used to create
business components.
- JSP technology is ideal for web designers who are NOT
familiar with Java programming.
- JSP technology is NOT an integration technology.
- JSP is NOT an EJB technology
- servlets are NOT an EJB technology
- MDBs do NOT record client conversational state
- stateful session beans are used to record client
conversational state
- stateless session beans do NOT record client
conversational state
- entity beans are used to represent persistent data.
- message-driven beans handle asynchronous events.
- Session beans only handle synchronous events.
- session beans represent business processes and
- stateless session beans are client-independent. That
is, they do NOT store conversational state.
- session beans do NOT exist in the web container
- stateless session beans are used to represent
client-independent business processes.
- J2EE provides a rich and flexible programming model,
but it is NOT simple
- J2EE infrastructure provides rich concurrency support
in both the web and EJB tiers, which supports highly
scalable application development.
- clustering is NOT directly supported by the J2EE
specification. However, most vendor implementations of
J2EE do support clustering.
- J2EE provides declarative transaction management.
- declarative transaction management is a required
feature of the EJB container
- declarative user interface construction - is NOT part
of the J2EE specification.
|
|