Enter your keyword

Oracle OCP Java Certification

Oracle OCP Java Programmer• Introduction to Java Programming
• Object-Oriented Programming
• Identifiers, Keywords, and Types
• Expressions and Flow Control
• Arrays· Class Design
• Advanced Class Features
• Exceptions and Assertions
• Text-Based Applications
• Building Java GUIs
• GUI Event Handling
• GUI-Based Applications
• Threads
• Advanced I/O Streams
• Networking

Oracle OCP Java Programmer Exam
– Oracle Certified Associate, Java SE OCA Exam (1Z0-850)
– Oracle Certified Professional Java Programmer Exam (1Z0-851)

Java Programming

Introduction to Java Programming
– Describe the key features of Java technology
– Write, compile, and run a simple Java technology application
– Describe the function of the Java Virtual Machine (JVM)
– Define garbage collection
– List the three tasks performed by the Java platform that handle code security

Object-Oriented Programming
– Define modeling concepts: abstraction, encapsulation, and packages
– Discuss why you can reuse Java technology application code
– Define class, member, attribute, method, constructor, and package
– Use the access modifiers private and public as appropriate for the guidelines of encapsulation
– Invoke a method on a particular object
– Use the Java technology application programming interface (API) online documentation

Identifiers, Keywords, and Types
– Use comments in a source program
– Distinguish between valid and invalid identifiers
– Recognize Java technology keywords
– List the eight primitive types
– Define literal values for numeric and textual types
– Define the terms primitive variable and reference variable
– Declare variables of class type
– Construct an object using new
– Describe default initialization
– Describe the significance of a reference variable
– State the consequence of assigning variables of class type

Typesafe Enums
– Describe a common enumerated type pattern before J2SE platform and the problems involved
– Create a simple enum
– Create an enum with attributes and constructors
– Create an enum with value-specific methods
– Use enum sets (ranges) and maps
– Write a simple program using typesafe enums

– Describe the issues with variable-argument methods before J2SE platform
– Use variable argument methods
– Create variable argument methods
– Rewrite a sample program to use varargs

Java Static Import
– Describe the purpose of static imports
– Use static imports with constants (static attributes), static methods, and enums
– Describe the drawbacks of using static imports
– Rewrite a sample program to use static imports

– Describe a thread
– Create separate threads, controlling the code and data that are used by that thread
– Control the execution of a thread and write platform-independent code with threads
– Describe some of the difficulties that arise when multiple threads share data
– Use the keyword synchronized to protect data from corruption
– Use wait() and notify() to communicate between threads

Metadata (Annotations)
– Compare annotations before J2SE platform 5.0 with the new annotations
– Use built-in annotations
– Create your own annotation type
– Use your own annotation type in source code
– Use your own annotation type at runtime
– Describe the Annotation Processing Tool (apt)
– Use annotations to deprecate a method

Expressions and Flow Control
– Distinguish between instance and local variables
– Describe how to initialize instance variables
– Identify and correct a Possible reference before assignment compiler error
– Recognize, describe, and use Java software operators
– Distinguish between legal and illegal assignments of primitive types
– Identify Boolean expressions and their requirements in control constructs
– Recognize assignment compatibility and required casts in fundamental types
– Use if, switch, for, while, and do constructions and the labeled forms of break and continue as flow control structures in a program

– Declare and create arrays of primitive, class, or array types
– Explain why elements of an array are initialized
– Explain how to initialize the elements of an array
– Determine the number of elements in an array
– Create a multidimensional array
– Write code to copy array values from one array to another

Class Design
– Define inheritance, polymorphism, overloading, overriding, and virtual method invocation
– Use the access modifiers protected and the default (package-friendly)
– Describe the concepts of constructor and method overloading
– Describe the complete object construction and initialization operation

Advanced Class Features
– Create static variables, methods, and initializers
– Create final classes, methods, and variables
– Create and use enumerated types
– Use the static import statement
– Create abstract classes and methods
– Create and use an interface

Exceptions and Assertions
– Define exceptions
– Use try, catch, and finally statements
– Describe exception categories
– Identify common exceptions
– Develop programs to handle your own exceptions
– Use assertions
– Distinguish appropriate and inappropriate uses of assertions
– Enable assertions at runtime

Text-Based Applications
– Write a program that uses command-line arguments and system properties
– Write a program that reads from standard input
– Describe the C-type formatted input and output
– Write a program that can create, read, and write files
– Describe the basic hierarchy of collections in Java 2 Software Development Kit (Java 2 SDK)
– Write a program to iterate over a collection
– Write a program that uses generic collections

Building Java GUIs
– Describe the Abstract Windowing Toolkit (AWT) package and its components
– Define the terms containers, components, and layout managers, and describe how they work together to build a GUI
– Use layout managers
– Use the FlowLayout, BorderLayout, and GridLayout managers to achieve a desired dynamic layout
– Add components to a container
– Use the Frame and Panel containers appropriately
– Describe how complex layouts with nested containers work

GUI Event Handling
– Define events and event handling
– Write code to handle events that occur in a GUI
– Describe the concept of adapter classes, including how and when to use them
– Determine the user action that originated the event from the event object details
– Identify the appropriate listener interface for a variety of event types
– Create the appropriate event handler methods for a variety of event types
– Understand the use of inner classes and anonymous classes in event handling

GUI-Based Applications
– Identify the key AWT components and the events that they trigger
– Describe how to construct a menu bar, menu, and menu items in a Java GUI
– Understand how to change the color and font of a component

– Define a thread
– Create separate threads in a Java technology program, controlling the code and data that are used by that thread
– Control the execution of a thread and write platform-independent code with threads
– Describe the difficulties that might arise when multiple threads share data
– Use wait and notify to communicate between threads
– Use synchronized to protect data from corruption

Advanced I/O Streams
– Describe the main features of the java.io package
– Construct node and processing streams, and use them appropriately
– Distinguish readers and writers from streams, and select appropriately between them

Concurrency Features
– Compare the concurrency utilities before J2SE platform with the new concurrency utilities
– Use an Executor or ExecutorService for thread management
– Use Futures and Callables for asynchronous computation
– Use locks and conditions as an improvement over the wait and notify methods
– Use atomic variables an an improvement over volatile variables
– Implement concurrency features

– Develop code to set up the network connection
– Understand the Transmission Control Protocol/Internet Protocol (TCP/IP)
– Use ServerSocket and Socket classes for implementation of TCP/IP clients and servers