Basic Java But Essential Knowledge for exams like SCJA, or to the project managers new to Java technologies
5 min readNov 26, 2019
- 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 object.
- 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.