Java Tutorials

Java Logo

Code-Tag java tutorials: A study guide for beginners and professionals to learn the java programming language. This tutorials have been made to cover the basics of java all the way to advanced topics such as concurrency, Input/Output streams and JDBC. In addition the tutorials include examples and practical lessons on java latest features such as functional programming and java new date and time API and how to utilize java SE 8 new features to build great applications.


  • Class Design

    An introduction to java class design, building blocks and access modifiers.  Examples that covers and explain abstraction, encapsulation, inheritance and polymorphism (OOP pillars). The usage of instanceof operator, Enums and nested classes.


  • Java Design Patterns:

    How to write a good code and solve common problems using java design patterns. Examples on Functional interfaces, design principles and how to implement polymorphism.  Different types of design patterns and how to implement them.


  • Exception Handling: 

    Exceptions Categories in java and how to handle different types of exceptions. Try with resources and Multi catch statement. Assertion when to use it and how to benefit from it.


  • Generics and Collections:

    Java collections framework, when and how to use it. generic classes, interfaces and methods. comparator vs. comparable. Interacting with legacy Code (the old vs. the new).


  • Functional Programming:

    Functional programming  has finally arrived to java world giving us the ability to do much more with java. In this tutorial we’ll learn  about functional programming and what type of features have been added to support it in java. We’ll go in depth on lambda expression, built-in functional interfaces and java 8 streams.


  • Java 8 new date and time API:

    An introduction to java 8 new date and time API, which is some how similar to our good old friend Joda-Time. How to use the new time package, Localization and  resource bundle.


  • IO and NIO.2: package and how to deal with different file systems. Why java introduced NIO.2 and how to benefit from it. Different types of streams, stream operations and classes.


  • Concurrency:

    Thread interactions management is quite difficult even for the most experienced programmers.  we’ll try to simplify the concept of multi-threads management and how to utilize Java concurrency API to manage and handle your threads.


  • JDBC:

    Relational databases and SQL. JDBC interfaces, statements and data manipulation capabilities.