Skip to content

Latest commit

 

History

History
155 lines (133 loc) · 3.22 KB

File metadata and controls

155 lines (133 loc) · 3.22 KB

Java Application Development

51 ак. ч.

Java application documenting

  • Java application structure recap
  • Documenting
  • JavaDoc comments demo
  • Maintainability with documentation

Procedure style

  • Key concepts
  • Package
  • Class
  • Method declaration
  • JVM memory structure
  • Calling methods
  • Parameters passing while calling methods
  • Methods overloading

Java syntax for procedure style: primitive types system

  • Variable declaration
  • Memory allocation size
  • Evens and literals
  • Fractions and literals
  • Character and literals
  • Logical and literals
  • Wrappers

Java syntax for procedure style: operators for data processing

  • Type operators
  • Arithmetics
  • Bitwise
  • Logical

Java syntax for procedure style: controlling execution flow

  • Switching
  • Looping
  • Breaking switches and loops
  • Design considerations

Java reference types

  • Java reference types
  • Reference argument passing
  • Java Array reference type
  • Varargs
  • Strings

OOAD style

  • Core concepts
  • Dealing with state
  • Enumerated types in Java

Java syntax for OOAD: Encapsulation

  • Data and Behavior encapsulation
  • Object instatiation

Java syntax for OOAD: Polymorphism

  • Polymorphism concept
  • Type-switching
  • Interfaces as a case of Abstract Type

Java syntax for OOAD: Inheritance

  • Polymorphism with subclassing
  • Code Reuse with subclassing
  • Constructors issue with subclassing

OOAD Principles and Patterns: Revisiting

  • OOAD Principles: SOLID
  • Creation Patterns
  • Structural Patterns
  • Behavioral Patterns

Error handling in Java

  • Exception concept
  • Trowing and handling exceptions
  • Syntax sugar
  • Exceptions type system

Unit testing overview

  • Test scopes
  • Test structure with JUnit
  • Isolating tests with Mockito test doublers
  • Coverage reporting

Java syntax for Generic Programming style

  • Problem statement
  • Type safety with generic programming

Java syntax for Functional style

  • Nested classes
  • Local classes as closures
  • Lambda syntax for anonymous inner classes
  • Demo for lambda use-cases

System library core classes overview

  • Core classes
  • Object

Collections API

  • Built-in types overview
  • Sets
  • Lists
  • Maps
  • Queues

Blocking IO

  • IO Stream API overview
  • File IO
  • Serialization

Networking with TCP/IP

  • Socket
  • ServerSocket

Annotations and Reflection API

  • Annotations
  • Reflection API: introspection
  • Reflection API: class loading/unloading

Parallelism

  • Miltithreading in Java
  • Thread API
  • Thread pool API
  • JMH intro

Concurrency

  • Data Race issue
  • Visibility and Reordering issues
  • JMM intro
  • Non-blocking concurrency
  • Thread syncronization
  • Concurrent collections