20 Aug 2025
DZone Java Zone
Filtering Java Stack Traces With MgntUtils Library
Introduction: Problem Definition and Suggested Solution Idea
This article is a a technical article for Java developers that suggest a solution for a major pain point of analyzing very long stack traces searching for meaningful information in a pile of frameworks related stack trace lines. The core idea of the solution is to provide a capability to intelligently filter out irrelevant parts of the stack trace without losing important and meaningful information. The benefits are two-fold:
1. Making stack trace much easier to read and analyze, making it more clear and concise
20 Aug 2025 8:00pm GMT
15 Aug 2025
DZone Java Zone
Java JEP 400 Explained: Why UTF-8 Became the Default Charset
A JDK Enhancement Proposal (JEP) is a formal process used to propose and document improvements to the Java Development Kit. It ensures that enhancements are thoughtfully planned, reviewed, and integrated to keep the JDK modern, consistent, and sustainable over time. Since its inception, many JEPs have introduced significant language and runtime features that shape the evolution of Java. One such important proposal, JEP 400, introduced in JDK 18 in 2022, standardizes UTF-8 as the default charset, addressing long-standing issues with platform-dependent encoding and improving Java's cross-platform reliability.
Traditionally, Java's I/O API, introduced in JDK 1.1, includes classes like FileReader
and FileWriter
that read and write text files. These classes rely on a Charset
to correctly interpret byte data. When a charset is explicitly passed to the constructor, like in:
15 Aug 2025 7:00pm GMT
12 Aug 2025
DZone Java Zone
Scoped Values: Revolutionizing Java Context Management
In an application meant for concurrent execution need of sharing data (or context) between threads is imperative. The available design choices are to pass the context as method parameter(s) or enable the context to be universally accessible (viz. global variable or equivalent).
While former choice (i.e. context as method argument) is easiest it doesn't scale well. As the application evolves, the context too grows and thus the method parameters. Moreover, the method is required to accept parameters which aren't utilized by itself directly but instead some method deep down the call hierarchy. Thus, overall data flow isn't clean or intuitive. In case the context is mutable any of the callee potentially could corrupt the context. Identifying this rouge behavior is unpleasant at best.
12 Aug 2025 12:00pm GMT
30 Jun 2025
Lua: news
Lua 5.5.0 (beta) released
Lua 5.5.0 (beta) released The beta version of Lua 5.5 has been released for testing.
30 Jun 2025 1:07pm GMT
04 Jun 2025
Lua: news
Lua 5.4.8 released
Lua 5.4.8 has been released. It fixes all known bugs in Lua 5.4.7.
04 Jun 2025 10:34am GMT
25 Jun 2024
Lua: news
Lua 5.4.7 released
Lua 5.4.7 has been released. It fixes all known bugs in Lua 5.4.6.
25 Jun 2024 1:01pm GMT