4. Sun Java Certification
Advanced
Specialty
Sun Certified Enterprise Architect (SCEA)
Sun Certified
Java Developer
(SCJD)
Sun Certified
Web
Component
Developer
(SCWCD)
Sun Certified
Business
Component
Developer
(SCBCD)
Sun Certified
Developer for
Java Web
Service
(SCDJWS)
Foundation
Sun Certified Java Programmer (SCJP)
Entry Level
Sun Certified
Mobile
Application
Developer
(SCMAD)
Sun Certified Java Associate (SCJA)
Java SE
Java EE
Java ME
5. Oracle Certification Program Categories
Oracle
Certified
Associate
Oracle
Certified
Professional
Oracle
Certified
Master
Oracle
Certified
Expert
Oracle
Certified
Specialist
6. Oracle Java Certification
Java SE 6 Developer
Java EE 6 Web
Component Developer
Java SE 5 Programmer
Java SE 6 Programmer
Java SE 7 Programmer
Java SE 7 Programmer
Oracle
Certified
Associate
Oracle
Certified
Professional
Oracle
Certified
Master
Oracle
Certified
Expert
10. Get Certified Step 1
Prior Certification
Complete Training
Complete Assignment
Complete Essay
Complete Form
OCM
Oracle Certified Professional
Java SE 5, 6, 7 Programmer
!
Sun Certified Java Programmer
Any Edition
11. Get Certified Step 2
Prior Certification
Complete Training
Complete Assignment
Complete Essay
Complete Form
OCM
Complete one of approved courses
Instructor-led in class,
Recorded courses
(LWC, LVC, Training On-Demand)
12. Get Certified Step 3
Prior Certification
Complete Training
Complete Assignment
Complete Essay
Complete Form
OCM
1Z0-855
Java SE 6 Developer Certified Master
Assignment
13. Get Certified Step 4
Prior Certification
Complete Training
Complete Assignment
Complete Essay
Complete Form
OCM
1Z0-856
Java SE 6 Developer Certified Master Essay
Exam
14. Get Certified Step 5
Prior Certification
Complete Training
Complete Assignment
Complete Essay
Complete Form
OCM
Complete the Course Submission Form
15. Oracle Certified Master
Prior Certification
Complete Training
Complete Assignment
Complete Essay
Complete Form
OCM
16. Step 3 - Assignment
•
Exam Number: 1Z0-855
•
Duration: 6 months from assignment purchase
•
BOTH assignment and essay must be submitted
within 6 months of assignment purchase date. No
exceptions
•
Assignment must be submitted before you can
register for the essay
17. Assignment Exam Topics
•
A graphical user interface demonstrating good
principles of design
•
A network connection, using a specified protocol, to
connect to an information server
•
A network server, which connects to a previously
specified Java technology database
•
A database, created by extending the functionality of a
previously written piece of code, for which only limited
documentation is available
18. Step 4 - Essay
•
Exam Number: 1Z0-856
•
Duration: 120 minutes
•
BOTH assignment and essay must be submitted
within 6 months of assignment purchase date. No
exceptions
•
Assignment must be submitted before you can
register for the essay
19. Essay Exam Topics
•
List some of the major choices you must make
during the implementation of the above.
•
List some of the main advantages and
disadvantages of each of your choices.
•
Briefly justify your choices in terms of the
comparison of design and implementation
objectives with the advantages and disadvantages
of each
23. Breakfast and Sandwich
public abstract class Breakfast {
protected String name = "Unknown";
!
!
public String getName() {
return name;
}
public abstract int price();
}
public class Sandwich extends Breakfast {
public Sandwich() {
name = "三明治";
}
!
@Override
public int price() {
return 15;
}
}
25. Move to Super Class
public abstract class Breakfast {
protected String name = "Unknown";
Breakfast
{abstract}
#name:String
#egg:boolean
#ham:boolean
#corn:boolean
#lettuce:boolean
+getName():String
+price():double
!
!
!
protected
protected
protected
protected
boolean
boolean
boolean
boolean
...
public int price() {
int result = 0;
if (egg) { result += 10; }
else if (ham) { result += 15; }
else if (corn) { result += 10; }
else if (lettuce) { result += 20; }
!
return result;
}
}
egg;
ham;
corn;
lettuce;
26. Move to Super Class
Breakfast
{abstract}
#name:String
#egg:boolean
#ham:boolean
#corn:boolean
#lettuce:boolean
+getName():String
+price():double
Sandwich
+price():double
public class Sandwich extends Breakfast {
public Sandwich() {
name = "三明治";
}
!
@Override
public int price() {
return super.price() + 15;
}
}
30. Chaining Stream Together
Reader reader =
new BufferedReader(
new InputStreamReader(
new FileInputStream("Decorator.txt")));
!
int c;
!
while ((c = reader.read()) != -1) {
System.out.print((char)c);
}
34. Chaining Stream Together
public class MyInputStream extends FilterInputStream {
public MyInputStream(InputStream is) {
super(is);
}
!
@Override
public int read() throws IOException {
int data = super.read();
if (data != -1) {
data = data + myMagicCode();
}
return data;
}
}
...
35. Chaining Stream Together
InputStream is =
new BufferedInputStream(
new FileInputStream("readme.txt"));
!
// send to intranet
InputStream is =
new BufferedInputStream(
new MyInputStream(
new FileInputStream("readme.txt")));
!
// send to internet
40. Breakfast
public abstract class Breakfast {
!
protected String name = "Unknown";
!
public String getName() {
return name;
}
!
public abstract int price();
}
41. Sandwich
public class Sandwich extends Breakfast {
public Sandwich() {
name = "三明治";
}
!
public int price() {
return 15;
}
}
43. Breakfast and Ingredient
public abstract class Breakfast {
!
protected String name = "Unknown";
!
public String getName() {
return name;
}
!
public abstract int price();
}
public abstract class Ingredient extends Breakfast {
!
public abstract String getName();
!
}
44. Ingredient - Egg
public class Egg extends Ingredient {
Breakfast breakfast;
!
public Egg(Breakfast breakfast) {
this.breakfast = breakfast;
}
!
public String getName() {
return breakfast.getName() + "加蛋";
}
!
public int price() {
return 10 + breakfast.price();
}
}
45. Ingredient - Ham
public class Ham extends Ingredient {
Breakfast breakfast;
!
public Ham(Breakfast breakfast) {
this.breakfast = breakfast;
}
!
public String getName() {
return "⽕火腿" + breakfast.getName();
}
!
public int price() {
return 15 + breakfast.price();
}
}
49. A Sandwich with many Ingredients
X2
X3
X2
Breakfast
!
!
breakfast
breakfast
!
breakfast
breakfast
breakfast
!
breakfast
breakfast
breakfast = new Sandwich();
= new Egg(breakfast);
= new Egg(breakfast);
= new Ham(breakfast);
= new Ham(breakfast);
= new Ham(breakfast);
= new Lettuce(breakfast);
= new Lettuce(breakfast);