I have written a lot of java tutorials here into many categories. Some of them are in core java tutorial whereas some of them are in J2EE tutorial or Java EE tutorial area. As the number of posts grows, keeping track of them becomes harder. So I have provided a summary post for most of the categories where you can read them in the order for better understanding.
This post is aimed to include all the summary posts in java tutorials that you should go through to have a clear understanding of that area.
Java Collections are one of the core frameworks of Java language. We use Collections almost in every application, this tutorial will explain Java Collections Framework in detail. Learn about collections framework interfaces, classes and algorithms in detail.
XML is widely used technology to store or transport data and it’s platform independent. Java provides various API’s to read, write or manipulate XML data. This tutorial explains about DOM Parser, SAX Parser, JDOM Parser, StAX Parser and misc xml tasks.
A regular expression defines a pattern for a String. Regular Expressions can be used to search, edit or manipulate text. A tutorial covering java.util.regex package classes, regular expression symbols, metacharacters, quantifiers and capturing groups in detail with example.
4. Java IO
Java IO package contains classes to work with Files, Stream data and File System. A comprehensive tutorial covering various aspects of Files, Directories, Create a File, Read a File, Write a File, Delete a File/Directory, RandomAccessFile, Temp File, ZIP and Unzip File/Directory, GZIP and Serialization/Deserialization examples.
Java Thread tutorial explains difference between Process and Thread, how we can create Thread by extending Thread class or implement Runnable interface, important methods of Thread class, different states of Thread, Thread safety and Synchronization, how to get thread dump in java, deadlock situation and how to analyze and avoid it, Timer Thread, Daemon Thread, ThreadLocal implementation, Producer-Consumer problem, Thread Pool, Executors framework and Callable interface returning value from thread execution.
6. Java Logging
Java Logging API was introduced in Java 1.4, a complete tutorial explaining Logger class, different Logging Levels, different Logging Handlers, Logging Formatters, Log Manager and Logging configuration property files.
Learn about the Java annotations and the benefits of using annotations. The post explains java built-in annotations, how to create custom annotations, meta annotations and how we can parse annotations of a class using Reflection API.
Generics was introduced in Java 5 to remove type-casting in using Collection classes and to provide means for type checking at compile time. We can use Generics to create generic type interface and classes and we can use it with methods too. Learn about features of Generics in great detail in this extensive post.
We don’t like exceptions but we always have to deal with them, great news is that Java Exception handling framework is very robust and easy to understand and use. Check out the post to learn about Exception Handling and best practices to follow for better exception handling.
10. Java Reflection
Reflection is a very powerful API and used in almost all the Java, J2EE frameworks like Spring, Hibernate, JUnit and Tomcat. It’s one of the advanced topics of core java and used in framework implementations, check out this post to learn about Java Reflection API with a lot of examples.
Design Patterns provide a standard solution for common software development recurring problems. There are 22 design patterns in java divided into three categories – creational, structural and behavioral design patterns. Check out the post to learn about these design patterns, their intent and how to implement them with an example.
12. JDBC Tutorial
Java DataBase Connectivity (JDBC) API provides industry standard and database-independent connectivity to work with relational databases. A comprehensive post with 12 tutorials explaining different aspects of JDBC API, DataSource and JDBC integration with Spring Framework.
Java EE Tutorial
Servlet and JSP are the at the heart of Java EE. All the Java EE frameworks are built on top of Servlets and JSPs. A comprehensive post with more than 20 tutorials to help you learn Servlets and JSPs backed with example programs.
Struts2 is one of the widely used web application framework. It’s built on top of WebWork and Struts1 and provides flexibility in developing web application. It’s an industry standard MVC framework. The article lists out 20+ tutorials for Struts2 that you can read to learn about Struts2 in detail. All the examples are tested with Struts2 version 188.8.131.52 and most of the tutorials have attached projects that you can download for better understanding.
Spring is the most widely used Java EE Web application framework. It’s built on the principles of Dependency Injection and Aspect-Oriented Programming. It’s an open-source framework and the best part is the different modules for integration with other frameworks, such as Spring ORM, Spring MVC, etc. This article lists more than 20 tutorials I have written for different components of the Spring framework. The articles are in the order and serve as a great resource for newbie as well as experienced ones. All the project comes with downloadable projects that you can use to learn more. Also, the projects are tested with latest Spring 4 versions and provide XML as well as annotation-based configuration details.
PrimeFaces is one of the top implementations of JSF 2. PrimeFaces is very easy to use and comes with a lot of components to create an awesome effect on view pages. One of the most useful features of PrimeFaces is the support for creating responsive view pages, that is a must-have for current web pages. We have more than 20 articles on PrimeFaces that you can read in the order to start as a beginner and become a pro.
Hibernate is the best Java ORM tool in the current market. Recently I have written a lot on the hibernate framework. So this article is as an index of all the posts. You can go through these in sequence to learn the hibernate from scratch. Most of these come with downloadable projects that you can use to learn more. All the projects are tested with Hibernate 4 version.
Apache Axis 2 is one of the widely used SOAP based web services framework. Learn how to use Apache Axis 2 to create SOAP based web services, complete tutorial with client program to test the web service.
Jersey is an open-source JAX-RS implementation for building Restful Web Services. Learn how to use Jersey to create Restful web services with the use of JAXB, Exception Handling approach and Jersey client program to test the web service.
Memcached is Free & open source, high-performance, distributed memory object caching system. Memcached is used by almost all the major websites with huge data, for example YouTube, Wikipedia, Twitter etc. Learn how to install memcached server on Windows, Unix, Mac OS and CentOS operating systems and how to use it’s Java and PHP API to connect to memcached server and use it as in-memory cache.
Java Testing Frameworks
There are many testing frameworks in Java. I have written a lot on the popular testing frameworks.
JUnit 5 has brought a lot of new features that were missing in JUnit earlier versions. This article goes in depth of the JUnit components, its architecture, and how to start using JUnit test cases in your java application.
TestNG is a testing framework for Java application that is inspired from JUnit and NUnit. You will learn about TestNG architecture, how to write TestNG test cases, creating test suites, running test suites through the command line, and many more features of TestNG.
Mockito is a java based mocking framework, used in conjunction with other testing frameworks such as JUnit and TestNG.
It internally uses the Java Reflection API and allows to create objects of service. A mock object returns a dummy data and avoids external dependencies. It simplifies the development of tests by mocking external dependencies and apply the mocks into the code under test.
EasyMock allows us to create mock objects of interfaces and concrete classes and specify their behaviors. Then we can use these mocks to write code to test our main classes. This way writing unit tests are simplified as we don’t need to care about external dependencies.