I am a Sun Certified Java associate and would like to share my knowledge and recommendations with you. I think the exam evaluates your IT and Java knowledge. The Sun Certified Associate (SCJA) for the Java Platform provides an ideal entry into an application development or a software project management career using Java technologies. Thats why it is a good certificate to have. After I used the resources, pointed out below, I was quite ready for the real exam and I got 90 % success.
Since I am a computer engineer and has several years programming experience, becoming a SCJA was not that hectic for me. But I recommend you to practice a lot and solve sample tests. I think, Sun Microsystems’ certificate exams are prestigious enough in the market and help professionals to find better positions.
Never the less, lets come to my recommendations:
1- Write codes as much as possible by using NetBeans IDE (I have used NB and it was quite cool).
2- Study through Sun SAI courses web site (online learning services)
3- Solve lots of mock up exams and questions (You can find examples from the links below)
4- Be careful about the details during the real exam
SCJA Resource 1
SCJA Resource 2
SCJA Resource 3
SCJA Resource 4
SCJA Resource 5
SCJA Resource 6
SCJA Resource 7
SCJA Resource 8
SCJA Resource 9
Exam Objectives
Section 1: Fundamental Object-Oriented Concepts
For this part, write lots of codes by NetBeans IDE and learn the OO principles.
Section 2: UML Representation of Object-Oriented Concepts
For this section read only this UML document and it will be more than enough
Section 3: Java Implementation of Object-Oriented Concepts
Study by using links above
Section 4: Algorithm Design and Implementation
Write codes and try to be careful even about the small details like “string or String” and ” ; ”
Section 5: Java Development Fundamentals
Use link above
Section 6: Java Platforms and Integration Technologies
SAI is enough and read documents to learn a bit more
Section 7: Client Technologies
SAI is enough and read documents to learn a bit more
Section 8: Server Technologies
SAI is enough and read documents to learn a bit more
Try to memorize these notes. Some of them will be the answer of real SCJA exam.
* 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
o ? is NOT a valid multiplicity indicator.
o 0..* indicates zero or more multiplicity.
o 0..1 indicates zero or one multiplicity, which is how you can represent an optional association.
o ?..1 is NOT a valid multiplicity indicator.
o ? is NOT a valid multiplicity indicator.
o * is an abbreviation for 0..*.
o M is NOT a valid multiplicity indicator.
o ? is NOT a valid multiplicity indicator.
o 0..* is exactly how to indicate zero or more.
o 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 includes 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.
[…] SCJA […]
it was free for students but i am not sure if it is free or not for others
Thanks for all the information given above.
You are welcome Vishnukanth,
I hope i will be able to help people to get good grade from the SCJA exam
Hi ALper
I just wanted not to break the harmony of English , however i have to confess ; this entry for SCJA is completely tremendous if i have to name it with a word
Thanks a lot for your effort
Thank you so much. But what books should we use to prepare for SCJA ?
I did not use any book for SCJA exam. I studied from Sun’s web site (SAI) and from the links above
Ok, thanks. How about SCJP? Have you ever taken an SCJP? What materials we need for SCJP?
I have never taken the SCJP exam but as far as I know 50-60% of SCJA exam is very similar to SCJP exam. SCJA is more to have a common understanding of OOP and J2EE, but I think SCJP is more J2EE programming, coding based exam.
OK, thank you so much ^_^
teşekkürler 🙂
I want to know the Sun SAI web site. Also is it free?
[…] Certified Java Associate test at 10 AM tomorrow, and I’ve come across this really cool blog. https://celikalper.wordpress.com/scja_tips/ No TweetBacks yet. (Be the first to Tweet this post) :Certification, Java, SCJA, Sun No comments […]
that was amazing and very generous. glad i stumbled here.
Hello, I belive this may be a great online site with really good stuff. That is definitely why I like to request you if I can talk about your web pages on my weblog if I present you with link back?
pls let me know which is sun SAI website…. I am also preparing for scja.
thanks in advance….
pls let me know which is sun SAI website…. I am also preparing for scja.
thanks in advance….
Which books should be referred ? Im jst new dont know from wer to start,,what preparations must do,wt basic knowledge required? Is there any site for studying SCJA?
Thanks……….