Concise, practical notes and runnable examples to prepare for the Oracle Java SE 8 Programmer certification. This guide distills concepts into bite‑sized Markdown overviews with focused Java snippets you can build and run.
-
A study guide built from personal notes for the Java SE 8 Programmer exam (OCA 1Z0-808 style topics)
-
Organized by topic with a short explanation and hands-on code examples
-
Kept simple, direct, and easy to skim when revising
-
Learners preparing for the Java SE 8 certification
-
Developers refreshing Java fundamentals with small, runnable demos
- Open a topic folder and read the corresponding Markdown (overview and key rules).
- Explore
CodeExamples/in that topic and run the demos locally.- Compile:
javac MyDemo.java - Run:
java MyDemo
- Compile:
- Come back to the notes before/after practice questions to reinforce edge cases.
Each topic directory pairs a quick-reference Markdown file with a CodeExamples/ folder to reinforce concepts with minimal, focused programs.
Contributions are very welcome—whether it’s fixing a typo, adding a tiny demo, or clarifying a tricky edge case.
Ways to contribute:
- Improve explanations in the Markdown notes
- Add or simplify a demo in
CodeExamples/ - Report ambiguities, edge cases, or exam‑relevant gotchas
Guidelines (keep it simple):
- Stick to Java 8 features and syntax for examples
- Keep demos short, runnable, and focused on a single idea
- Use clear filenames like
FeatureConceptDemo.java - Prefer comments that highlight rules and edge cases over verbose prose
Submitting changes:
- Fork the repo and create a branch:
feature/short-description - Make your changes with small, focused commits
- Open a Pull Request describing what changed and why (link to topic if relevant)
- If you’re adding code, note how to run it and the expected output
Thanks for helping make these notes clearer and more helpful for everyone preparing for the exam!
. ├─ README.md ├─ 1-Building Blocks/ ├─ Building Blocks.md └─ CodeExamples/ ├─ HelloWorld.java ├─ InstanceInitializerDemo.java ├─ PrimitivesVsReferencesDemo.java ├─ PublicClassAndFileDemo.java └─ StaticAndThisDemo.java ├─ 2-Operatprs & Statements/ ├─ Operators & Statements.md └─ CodeExamples/ ├─ CompoundAssignmentDemo.java ├─ EqualityDemo.java ├─ IncrementDecrementDemo.java ├─ LogicalOperatorsDemo.java ├─ LoopsAndLabelsDemo.java ├─ NumericPromotionDemo.java ├─ OperatorPrecedenceDemo.java ├─ SwitchDemo.java └─ TernaryDemo.java ├─ 3-Core Java/ ├─ Core Java.md └─ CodeExamples/ ├─ ArrayListAndAutoboxingDemo.java ├─ ArraysAndSearchDemo.java ├─ DateTimeAndFormattingDemo.java ├─ StringsAndStringBuilderDemo.java └─ WrapperParsingAndNumberDemo.java ├─ 4-Encapsulation & Methods/ ├─ Encapsulation & Methods.md └─ CodeExamples/ ├─ ConstructorsChainingAndVisibilityDemo.java ├─ EncapsulationImmutableDefensiveCopyDemo.java ├─ LambdaAndPredicateDemo.java ├─ OverloadingAndVarargsResolutionDemo.java └─ StaticAndInitializationOrderDemo.java ├─ 5-Classes/ ├─ Class Design.md └─ CodeExamples/ ├─ AbstractAndInterfaceDemo.java ├─ ConstructorsAndSuperDemo.java ├─ FieldHidingAndFinalDemo.java ├─ OverridingVsHidingDemo.java └─ PolymorphismAndCastingDemo.java ├─ 6-Exceptions/ ├─ Exceptions.md └─ CodeExamples/ ├─ CatchAndFinallyFlowDemo.java ├─ CheckedAndThrowsDemo.java ├─ FinallyOverrideExceptionDemo.java ├─ MultiCatchDemo.java ├─ RuntimeExceptionsDemo.java └─ TryWithResourcesSuppressedDemo.java └─ misc/ └─ Gotcha Rules.md