A Practical Guide to Java Remote Debugging

Eugen Paraschiv Developer Tips, Tricks & Resources Leave a Comment

Introduction to Debugging Troubleshooting a problem on a remote server, especially in production, is not an easy task. Sometimes it involves debugging the application code directly on the server. But the production servers are usually run in a strict environment, where not all convenient developer tools are available. In this article, you’ll discover how to configure a running web server …

java developers are in high demand

5 Reasons You Won’t Starve as a Java Developer

Elena Ruchko Developer Career Development Leave a Comment

Despite being over 20 years old, Java is still one of the most widely-used programming languages. Just look at the stats: according to the 2017 Stack Overflow Developer Survey, Java is the third most popular technology in the world. The TIOBE index, which is a ranking based on the number of skilled engineers worldwide, courses, and third-party vendors, shows an …

Java OOP Concepts

OOP Concept for Beginners: What is Encapsulation

Thorben Janssen Developer Tips, Tricks & Resources Leave a Comment

Encapsulation is one of the fundamental concepts in object-oriented programming (OOP). It describes the idea of bundling data and methods that work on that data within one unit, e.g., a class in Java. This concept is also often used to hide the internal representation, or state, of an object from the outside. This is called information hiding. The general idea …

OOP Concept for Beginners: What is Abstraction?

Thorben Janssen Developer Tips, Tricks & Resources Leave a Comment

Abstraction is one of the key concepts of object-oriented programming (OOP) languages. Its main goal is to handle complexity by hiding unnecessary details from the user. That enables the user to implement more complex logic on top of the provided abstraction without understanding or even thinking about all the hidden complexity. That’s a very generic concept that’s not limited to …

Hit the Ground Running with the Spring Security Java Configuration

Eugen Paraschiv Developer Tips, Tricks & Resources Leave a Comment

Introduction to Spring Security In this article, you’ll learn how to quickly and easily configure and set up a Spring Security based web application using the Java configuration. Security is, not surprisingly, an evergrowing concern and certainly a core focus of any developer working on applications today. Project Setup The fastest way to get on track with Spring Security is …

Java custom exceptions

Why, When and How to Implement Custom Exceptions in Java

Thorben Janssen Developer Tips, Tricks & Resources Leave a Comment

We already talked a lot about exception handling on this blog and described the differences between checked and unchecked exceptions, best practices and common mistakes. If you’ve read these posts, you probably recognized a pattern. You should provide detailed information about the situation that caused the exception, and you should not remove anything that might be useful to the caller. …

Features of Spring Web MVC

How Spring Web MVC Really Works

Eugen Paraschiv Developer Tips, Tricks & Resources Leave a Comment

Introduction This is an in-depth look at the powerful features and internal workings of Spring Web MVC, which is a part of the Spring Framework. The source code for this article is available over on GitHub. Project Setup Throughout this article, we’ll use the latest and greatest Spring Framework 5. We’re focusing here on the Spring’s classic web stack, which …

Performance tuning tips for Java

11 Simple Java Performance Tuning Tips

Thorben Janssen Developer Tips, Tricks & Resources Leave a Comment

Most developers expect that performance optimization is a complicated topic that requires a lot of experience and knowledge. Okay, that’s not entirely wrong. Optimizing an application to get the best performance possible isn’t an easy task. But that doesn’t mean that you can’t do anything if you haven’t acquired that knowledge. There are several easy to follow recommendations and best …

Java application monitoring metrics

How To Track and Monitor Critical Java Application Metrics

Eugen Paraschiv Developer Tips, Tricks & Resources, Stackify Product & Company Updates Leave a Comment

Overview of Java application metrics Monitoring a running application is crucial for visibility and making sure the system is functioning as expected, as well as to identify any potential issues, tweak and optimize the running conditions, and resolve any errors that may occur. This is where Application Performance Monitoring (APM) tools can make your life a whole lot easier by …

Java Virtual Machine (JVM)

Java Virtual Machine: Critical Metrics You Need to Track

Eugen Paraschiv Developer Tips, Tricks & Resources, Popular Leave a Comment

Overview of JVM Metrics In this article, we’ll cover how you can monitor an application that runs on the Java Virtual Machine by going over some of the critical metrics you need to track. And, as a monitoring tool, we’ll use Stackify Retrace, a full APM solution. The application we’ll monitor to exemplify these metrics is a real-world Java web …

Multiple Media Types in Java Microservices with RESTEasy

Lyndsey Padget Developer Tips, Tricks & Resources Leave a Comment

Today we’ll be talking about microservices in Java. While it’s true that Java EE has a robust platform for writing, deploying, and managing enterprise-level microservices, in this article I will create a RESTful microservice that is as slim as possible. Don’t worry – we won’t be reinventing the wheel by marshaling our own data or anything. We’ll be using JBoss’ …

monitor JMX data exposed by third-party tools and write and expose your own.

Deep Dive into Java Management Extensions (JMX)

Eugen Paraschiv Developer Tips, Tricks & Resources Leave a Comment

1. Introduction In this article, we’ll have a look at a core Java technology – Java Management Extension (JMX). We’ll start with a quick intro to exactly what JMX is, and we’ll quickly move to some interesting things you can do with the technology. 2. What Is Java Management Extension Technology Introduced all the way back in Java 2, JMX …

10 Java Blogs

Top 10 Java Blogs for Programmers of All Levels

Ben Putano Developer Tips, Tricks & Resources Leave a Comment

The world of information technology is an ever-changing landscape. Simply thinking back to the infrastructure and functions of a webpage 5, 10, 15 years ago can make any programmer cringe. Staying current on industry strategies and best practices is essential for developers of all levels. Blogs can provide great insight and perspective from industry peers and colleagues. All over the …

How To Monitor Java Services with Retrace

How to Monitor Java Services – Performance, Errors, and more

Matt Watson Developer Tips, Tricks & Resources Leave a Comment

In the real world, a lot of mission-critical business logic lives in background services. Buying something from an e-commerce website, like Amazon, kicks off a wide array of tasks that must be completed after you click to confirm your order. Monitoring the performance of your web applications is only part of the puzzle if you want to proactively ensure your …

Tomcat Monitoring

A Step By Step Guide to Tomcat Performance Monitoring

Eugen Paraschiv Developer Tips, Tricks & Resources Leave a Comment

Overview Monitoring the metrics and runtime characteristics of an application server is essential to ensure the adequate functioning of the applications running on that server, as well as to prevent or resolve potential issues in a timely manner. As far as Java applications go, one of the most commonly used servers is Apache Tomcat, which will be the focus of …

Java Glossary and the Core Concepts in the Java Language

Eugen Paraschiv Developer Tips, Tricks & Resources Leave a Comment

Java Language and Terminology In this article, we’ll explore the foundations and core concepts of the Java language and terminology. The write-up is divided into sections, ordered alphabetically to enable fast and easy search for these definitions. A abstract – a keyword used in a class or method definition, which specifies that the method/class is not going to be instantiated, …

Finally, An Official Shell in Java 9 – Introducing JShell

Eugen Paraschiv Developer Tips, Tricks & Resources Leave a Comment

Introduction to JShell The shell or the REPL is a well-known tool in many programming languages. Typically, this is more common in scripting languages such as Python or Node, but more recently it’s been adopted by JVM languages like Clojure and Groovy as well. The upcoming Java 9 release finally brings this shell functionality to the Java language as well, in the form …

Java Microservices

Communication Between Microservices: How to Avoid Common Problems

Thorben Janssen Developer Tips, Tricks & Resources Leave a Comment

In one of the previous posts, I showed you how to build a microservice with Java EE and JBoss Forge. But building one microservice is obviously not enough. The overall idea of this architectural style is to implement an application as a system of services. In the beginning, that seems like an easy task. As long as each service solves only …

Spring 5 Reactive Programming

Doing Reactive Programming with Spring 5

Eugen Paraschiv Developer Tips, Tricks & Resources Leave a Comment

The upcoming Spring 5 Framework has a strong focus on Reactive Programming, allowing us to write both servers and clients using this paradigm. The Spring 5 implementation uses the popular Project Reactor as a base. This article will be an introduction to writing both Reactive Clients and Servers using the new tools available in version 5 of the framework. What Is …

Java 8 Optional

Understanding, Accepting and Leveraging Optional in Java

Eugen Paraschiv Developer Tips, Tricks & Resources Leave a Comment

Overview One of the most interesting features that Java 8 introduces to the language is the new Optional class. The main issue this class is intended to tackle is the infamous NullPointerException that every Java programmer knows only too well. Essentially, this is a wrapper class that contains an optional value, meaning it can either contain an object or it can …