Java Programming Language

Learn the fundamental concepts of Java, including Object-Oriented Programming (OOP), J2SE (JDBC), J2EE (Servlet, JSP), and the MVC pattern. This course provides a comprehensive understanding of Java syntax, data types, control flow, collections, and advanced Java features.

Objective

  • Understand the core concepts of Java and OOP principles.
  • Learn Java syntax, data types, and control flow statements.
  • Implement collections, generics, and exception handling in Java.
  • Develop multithreaded applications using Java Threads.
  • Explore advanced Java features, including Java 8-11 updates and File I/O.
  • Build Java applications following the MVC design pattern.

Curriculum

Java Fundamental

  • Characteristics
  • JDK/JRE
  • J2SE/J2EE/J2ME
  • JVM & Java Memory
  • Java Running Process
  • Installing IntelliJ
  • First Java Program
  • Variable declaration
  • Java Naming Rule
  • Comment

Java Syntax and Data Type

  • Primitive Data Type/Wrapper Class
  • Auto Boxing
  • Casting
  • Enumeration
  • Regular expression
  • Operators
  • System Class input / output
  • Scanner Class

Control Flow Statement

  • If-then/if-then-else Statement
  • Switch-case Statement
  • For loop
  • Do-while loop
  • Break, continue & return keyword
  • static & final keywords
  • Nested loop

Array

  • Concept of array
  • One-Dimensional array
  • Many-Dimensional array

Java Method

  • Structure
  • Return type
  • Access modifier
  • Parameter & Varargs
  • Recursion

Class & Object

  • Class Structure
  • Constructor
  • this & this()
  • Object creation
  • Nested class
  • Anonymous inner class

OOP Concept

  • object
  • class
  • Encapsulation
  • Inheritance
  • Polymorphism

Inheritance & Polymorphism

  • Inheritance (is-a relationship)
  • Composite (has-a relationship)
  • super Keyword
  • Type of Inheritance
  • Overriding Method
  • Polymorphism Implementation

Abstract Class & Interface

  • Abstract Class
  • Interface
  • Abstract Class vs. Interface

Collections

  • List: Vector, ArrayList, LinkedList
  • Set: HashSet, TreeSet
  • Map: HashMap, TreeMap, HashTable

Generic

  • Introduction to Java Generic
  • Advantages of Java Generic
  • Parameter Naming Convention
  • Multiple Type Parameter
  • Generic Methods
  • Generic Class
  • Bounded Type Parameter

Exception

  • Exception Hierarchy
  • Checked Exceptions
  • Unchecked Exception
  • User-Defined Exception
  • Throwing Exception
  • Try-catch statement
  • Try-finally statement
  • Try-catch-finally statement
  • Try-with-resource statement
  • Multi-catch clause

Thread

  • Program, process, thread concept
  • Two ways of implementation thread (Thread/Runnable)
  • Commonly used methods in Thread class (sleep, join, wait, notify, etc.)
  • Synchronization

JAVA 8 - 11

  • Lambda expression
  • Method references
  • Functional interface
  • Default method
  • New Date Time API
  • Base64
  • Stream API
  • forEach() Method
  • what is Optional
  • why use Optional instead of try-catch, if-else
  • Optional Methods
  • http client

File I/O

  • Path Class
  • File Class
  • Read/Write File
  • FileOutputStream
  • FileWriter/FileReader
  • InputStreamReader/OutputStreamWriter
  • InputStream/OutputStream
  • Serialization
  • Random Access

Database Modeling (Conceptual/ Logical/Physical Modeling)

  • JDBC Driver setting
  • Basic procedure of JDBC
  • DAO & DTO
  • Connection

MVC Model

  • View
  • Model
  • Controller