Java and Microprocessor Exam Notes
1. Introduction to Java
- Why Java: Platform-independent, secure, robust, OOP-based
- History: Developed by Sun Microsystems (1995), now Oracle
- JVM: Executes bytecode; JRE: JVM + Libraries; JDK: JRE + Dev tools
- Java Environment: IDEs, JDK, JRE, Java tools
- Source File: Class name = Filename if public
- Compilation: .java -> javac -> .class -> java
2. Java Programming Structures
- Classes: Blueprint for objects
- Constructors: Initialize objects
- Methods: Define behavior
- Access Specifiers: public, private, protected, default
- Static & Final: Shared, Constant
- Comments: //, /* */, /** */
- Data Types: Primitive (int, float), Non-primitive (String, Arrays)
- Operators: Arithmetic, Logical, Relational, Unary
- Control Flow: if, switch, loops (for, while)
- Arrays & Strings: Arrays store data, Strings are immutable
3. Object-Oriented Concepts
- Class & Object: Template & Instance
- Inheritance: Parent-child relation (extends)
- Super & Sub Class: Parent and child classes
- Overriding & Overloading: Redefine methods, Same method with diff params
- Encapsulation: Hide data using private vars + public methods
- Polymorphism: Same method behaves differently based on object
- Abstraction: Hiding internal details (abstract class, interface)
- Interface & Abstract Class: Full vs Partial abstraction
4. Packages
- Creating packages: package name;
- CLASSPATH: Set environment for class file location
- JAR files: jar cf file.jar *.class
- Import: import package.ClassName;
- Static Import: import static package.Class.method;
- Naming: lowercase, domain reversed (com.example)
5. Microprocessor Concepts
- Evolution: 4-bit to 64-bit processors
- Architecture: ALU, CU, Registers, Buses
- Addressing Modes: Immediate, Direct, Indirect, Register
- Interrupts: Hardware & Software based task interrupts
- Data Transfer: Programmed I/O, Interrupt-driven, DMA
- Instruction/Data Flow: Fetch-Decode-Execute
- Timer & Timing Diagrams: Timing signals for operations
- Interfacing Devices: Connect peripherals to CPU