Core Java Tutorials – Exceptions Handling and Errors
Simple examples on how to handle Exceptions and Errors in Java
Check out this Java Exception Handling Tutorials page to find examples and learn more.
Core Java Tutorials – Advanced Java
Become a great Java developer by studying Java’s more advanced concepts
Advanced Java Course
This course is designed to help you make the most effective use of Java. It discusses advanced topics, including object creation, concurrency, serialization, reflection and many more. It will guide you through your journey to Java mastery!
Check out this Advanced Java Tutorial course to help you make the most effective use of Java.
Java Servlet
A Java software component that extends the capabilities of a server. Although servlets can respond to any types of requests they most commonly implement web containers for hosting web applications on web servers and thus qualify as a server-side servlet web API. Such web servlets are the Java counterpart to other dynamic web content technologies such as PHP and ASP.NET.
Check out this Java Servlet Tutorials page to help you build up your Java Servlet knowledge.
XPath
A query language for selecting nodes from an XML document. In addition, XPath may be used to compute values (e.g., strings, numbers, or Boolean values) from the content of an XML document.
Check out this XPath Tutorials page to help you build up your XPath knowledge.
More Java advanced concepts
- Java Annotations Tutorial
Annotations in Java are a major feature and every Java developer should know how to utilize them. In this article we are going to explain what Java annotations are, how they work and what can be done using annotations in Java. - Abstraction in Java
Abstraction occurs during class level design, with the objective of hiding the implementation complexity of how the the features offered by an API / design / system were implemented, in a sense simplifying the âinterfaceâ to access the underlying implementation. - Java Reflection Tutorial
Reflection is a feature in the Java programming language. It allows an executing Java program to examine or âintrospectâ upon itself, and manipulate internal properties of the program. For example, itâs possible for a Java class to obtain the names of all its members and display them. - Reactive Java (RxJava) Tutorial: Introduction
Reactive Java or RxJava is an implementation and enhancement of the observer pattern. It was intended for use in event driven schemes where nesting synchronous or asynchronous callback methods becomes overly complex. - Reactive Java (RxJava) Tutorial: Advanced
This article will examine asynchronous or concurrency tasks that are made easier with RxJava. The concurrency problems that RxJava is suitable to solve and we will look at in this example include: Nested callbacks, Making asynchronous calls, Aggregating or combining asynchronous calls and Streaming - Java Performance Tuning Tutorial
Java application performance tuning is a complex subject. There are many articles and books dedicated on the details and research of performance tuning. There is no silver bullet and often fixing performance issues is a long and tedious process. This article attempts to suggest a few pointers to get started with performance tuning and discusses one tool for profiling Java applications.
Core Java Tutorials – JVM
Learn what is Java Virtual Machine (JVM) and what are its basic components
- JVM Architecture: Overview of JVM and JVM Architecture
In this tutorial, we will understand and learn the Java Virtual Machine (JVM) and its architecture. This tutorial will help you to correctly answer the below questions: What is JVM in Java?, Different components of JVM and Difference between JVM, JRE, and JDK. - JVM Architecture: JVM Class loader and Runtime Data Areas
This tutorial will help developers to correctly answer the questions on below topics: ClassLoader Subsystem and Runtime Data Areas. - JVM Architecture: Execution Engine in JVM
This tutorial will help developers to correctly understand the Execution Engine in JVM. - ByteCode primer for Java Class Files
In this article we will kick start our adventures in Java byte code. Byte code makes it possible for Java applications to run on varying hardware architectures. Very often we ignore the byte code layer. Understanding it just a little, can go a long way to help us write better Java code.
Core Java Tutorials – Java NIO
Learn how to handle I/O and networking transactions with Java NIO library
Check out this Java NIO Tutorials page to find examples and build your Java NIO knowledge.
Core Java Tutorials – JDBC
Examples on the Java Database Connectivity (JDBC)
Check out this JDBC Tutorials page to find examples and build up your Java Database Connectivity knowledge.
Core Java Tutorials – Java Logging
Learn how to create logs in a Java program using Java logging frameworks like SLF4J, Logback, Log4j and more
Check out this Java Logging Tutorials page to find examples and build up your Java Logging knowledge.
Core Java Tutorials – Scheduling
Learn how to use Quartz Scheduler, a Java library for job scheduling
Check out this Quartz Tutorials page to find examples and build up your Quartz knowledge.
Core Java Tutorials – Multi threading and Concurrency
Learn programming on Java using Multithreading and Concurrency techniques
Check out this Java Concurrency Tutorials page to find examples and build up your Java Concurrency knowledge.
Core Java Tutorials – Testing
Learn a variety of Testing tools and select which one is most suitable for your Java project
JMeter
An Apache project that can be used as a load testing tool for analyzing and measuring the performance of a variety of services, with a focus on web applications.
Check out this JMeter Tutorials page to find examples and build up your JMeter knowledge.
Selenium
A portable software-testing framework for web applications. It provides a playback (formerly also recording) tool for authoring tests without the need to learn a test scripting language (Selenium IDE).
Check out this Selenium Tutorials page to find examples and build up your Selenium knowledge.
JUnit
A unit testing framework for the Java programming language. JUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks which is collectively known as xUnit that originated with SUnit.
Check out this JUnit Tutorials page to find examples and build up your JUnit knowledge.
Mockito
An open source testing framework for Java released under the MIT License. The framework allows the creation of test double objects (mock objects) in automated unit tests for the purpose of test-driven development (TDD) or behavior-driven development (BDD).
Check out this Mockito Tutorials page to find examples and build up your Mockito knowledge.
TestNG
Simple examples on the TestNG testing framework
- TestNG Configuration Annotations Example
In this example we shall show you the TestNG Configuration Annotations. TestNG is a testing framework designed to simplify a broad range of testing needs, from unit testing to integration testing. - TestNG beforeTest Example
In this article, I will show you an example of the TestNG @beforeTest annotation. In TestNG, you can configure your tests using annotations that start with @Before or @After. TestNG defines many configuration annotations, each one belonging to a specific event in its lifecycle. - TestNG beforeSuite Example
In this article, we will show you how to use the TestNG @BeforeSuite annotation. If you have used JUnit annotations, you will be familiar with @BeforeClass. In TestNG, apart from @BeforeClass, we also have additional annotations like @BeforeTest and @BeforeSuite. - TestNG beforeMethod Example
In this article, I will show you an example of TestNG @BeforeMethod. This is one of the annotations provided by TestNG that gets invoked before the execution of each test method. It is very similar to JUnitâs setUp() and is useful if you want to setup some test data before the start of the test method. - TestNG DataProvider Example
In this article, I am going to show you some examples of DataProvider. It is one of the methods used in TestNG to support data-driven testing. Before I proceed with my examples, I will brief you on data-driven testing. - TestNG Listeners Example
This article aims to introduce you to TestNG listeners and show you an example for each of the listeners. In TestNG, a listener is represented by the marker interface org.testng.ITestNGListener.
Core Java Tutorials – Build and Automation Tools
Gradle
Simple examples on Gradle Build Automation Tool for Java
- Gradle âHello Worldâ Tutorial
In this post weâll look at Gradle, its installation and configuration, and how to automate stages of development and release of software through its base concept, the Gradle tasks. Gradle is a build and automation tool, that can automate our building, testing, deploying tasks and many more. - Gradle SourceSets Example
Gradle SourceSets are a key concept for the Gradle Java Plugin which define the structure of Java Source Files. In this example will see how to use this concept, customize them through gradle properties, create a new sourceset, get documentation and assembling them in a JAR. - Gradle Properties: Build and Configuration Example
In this detailed Gradle Properties tutorial, we shall see how to access several default properties in Gradle, and how to set our custom properties. Also, what methods are to set these properties and how Gradle processes them. - Gradle Wrapper Example
In this example, we will understand how Gradle can be used to build projects even if the developer machine doesnât have Gradle installed, by using Gradle Wrapper. This is a best practice to unify the Gradle version used by the entire development team.
Core Java Tutorials – Design Patterns
Simple examples to learn Java Design Patterns
Check out this Java Design Patterns Tutorials page to find examples and learn more about Java Design Patterns.
Core Java Tutorials – Java Versions
Check some of the latest versions of Java language
Java 11
Check out these Java 11 articles to enhance your Java knowledge with the new features.
Java 9
Java 9 should include better support for multi-gigabyte heaps, better native code integration, a different default garbage collector (G1, for âshorter response timesâ) and a self-tuning JVM. In early 2016, the release of Java 9 was rescheduled for March 2017, later again postponed four more months to July 2017, and changed again to be finally available on September 21, 2017, due to controversial acceptance of the current implementation of Project Jigsaw by Java Executive Committee, which led Oracle to fix some open issues and concerns, and to refine some critical technical questions.
Check out this Java 9 Tutorials page to find examples and build up your Java 9 knowledge.
Java 8
Java 8 (codename: Spider) was released on March 18, 2014, and included some features that were planned for Java 7 but later deferred.
Work on features was organized in terms of JDK Enhancement Proposals (JEPs).
Check out this Java 8 Tutorials page to find examples and build up your Java 8 knowledge.
Core Java Tutorials – Applets and Other Java Related Topics
- An Introduction to Apache Lucene for Full-Text Search
Lucene is an open-source project that provides Java-based indexing and search technology. Using its API, it is easy to implement full-text search. - âDid you meanâ feature with Apache Lucene Spell-Checker
This feature can be implemented in Java using Lucene project and this tutorial will show you how. The implementation will be based on one of Luceneâs sub-projects, named SpellChecker (see spell checker API). - Debugging a Production Server â Eclipse and JBoss showcase
Do you write code that has bugs? No, of course not. For the rest of us, mere mortals, who do write code with bugs, I would like to address a very sensitive issue: debugging an application that runs on a production server. - Findbugs Eclipse Example
In this tutorial, we will learn to install the FindBugs Eclipse Plugin and use it for code analysis within Eclipse. As most of us know, FindBugs is a static code analyser which operates on Java bytecodes, and helps identify a range of potential errors / bad code practice in Java programs. - GPGPU Java Programming
Before we dive into coding some background. There are two competing GPGPU SDKs: OpenCL and CUDA. OpenCL is an open standard supported by all GPU vendors (namely AMD, NVIDIA and Intel), while CUDA is NVIDIA specific and will work only on NVIDIA cards. - GPGPU with Jcuda the Good, the Bad and ⊠the Ugly
In this article we will see how we can utilize a GPU do what is doing best: parallel processing. Through this example we will take some metrics and see where GPU processing is stronger or weaker than using a CPU âŠand of course as the title suggests there is an ugly part at the end.
[undereg]