Foojay Today

What are Hidden Classes in Java 15?

As we know, sun.misc.Unsafe APIs are not recommended to use outside the JDK, with a slight mistake it may result in a JVM crash. In some cases, code may not be portable across different platforms and many other problems that may occur.

Classes that cannot be used directly by the bytecode of other classes are hidden classes. Hidden classes allow frameworks/JVM languages to define classes as non-discoverable implementation details, so that they cannot be linked against by other classes.

author avatar
Vipin Sharma
  • MicroProfile Metrics with Prometheus and Grafana

    In a distributed microservices architecture, it is important to have an overview of your systems in terms of CPU, memory management and other important metrics.

    This is called Observability, measuring the internal state of a system, in this case, the micro-services instances.

    The goal of MicroProfile Metrics is to expose monitoring data from the implementation in a unified way. It also defines a Java API so that the developer can define and supply his own values.

    Jadon Ortlepp
    Jadon Ortlepp
  • Java Logging: What To Log & What Not To Log?

    Logs are a handy tool to spot mistakes and debug code. For engineers and, specifically, in a DevOps environment, the logs are a very valuable tool.

    In this article, I am going to guide you through a pragmatic approach to Java logging—what should we log, what shouldn’t we log, and how to implement Java logging properly.

    Brian Vermeer
  • Why I Love IntelliJ IDEA for Java Development

    If you’re a Java developer like me, you like to crank out code and get shit done. I like many things about IntelliJ IDEA, but I thought it’d be fun to write about the ones that make me most productive.

    When I first started doing Java development in the late 90s, I used HomeSite as my editor. HomeSite was an HTML editor initially developed by Nick Bradbury. I liked it because it defaulted to a view of your code rather than being WYSIWYG like Dreamweaver and FrontPage. It’s funny to look back now and laugh about how inefficient I was: I used to google for import statements, then copy/pasted them into the editor.

    Matt Raible
  • The Second Wave Breaks in Europe

    In Europe, the number of people who tested positive is now declining.

    With the Software ECG Covid-19 Edition, you can evaluate the most important Covid-19 time series across countries.

    The ECG offers the possibility to display several metrics via logical expressions and to limit them to time periods. Currently you can observe very nicely the breaking of the 2nd wave in Europe.

    Johannes Weigend
    Johannes Weigend
  • Apple Silicon with Zulu OpenJDK and IntelliJ IDEA

    Azul has been leading the OpenJDK community effort (JEP 391) initiated in August 2020 to add support for Apple Silicon, Arm-based Macs, in future versions of OpenJDK.

    In addition to targeting future Java versions, such as Java 16 via JEP 391, Azul has made OpenJDK builds of currently popular Java versions, including Zulu builds of OpenJDK 8, 11, and 13, as well as 16-ea, widely available for use on Apple Silicon, Arm-based Macs.

    Geertjan Wielenga
  • Native Applications for Multiple Devices from a Single JavaFX Project with Gluon Mobile and GitHub Actions

    The power of JavaFX combined with the Gluon tools and GitHub actions is amazing. Building and distributing a truly cross-platform application has never been easier!

    Really not a single code change is needed to run on different platforms. As you can see from the build processed, the exact same code is used to create native applications for both Windows, Linux, MacOS, iOS, and Android!

    Frank Delporte
  • IntelliJ IDEA Made Me Lazy

    I haven’t always been lazy; it’s a fairly recent addition to my repertoire of skills. And do you know who I blame? I blame IntelliJ IDEA. I used to check that I’d completed a statement correctly, I used to look at javadoc, I used to check I’d closed my parentheses correctly, but now I don’t give things a second glance.

    Being lazy isn’t a bad thing, it’s an efficiency gain that allows me to focus on the things that matter, which isn’t checking my parentheses are correct or remembering to put a semi-colon after my statement. No, it’s taking time for myself and those around me. Sure, it’s IntelliJ IDEA’s fault, but I am happy that we’re here!

    Helen Scott
  • Use Query Parameterization to Prevent Injection

    When looking at a typical SQL injection in Java, the parameters of a sequel query are naively concatenated to the static part of the query. The following is an unsafe execution of SQL in Java, which can be used by an attacker to gain more information than otherwise intended.

    To prevent this in Java, we should parameterize the queries by using a prepared statement. This should be the only way to create database queries. By defining the full SQL code and passing in the parameters to the query later, the code is easier to understand. Most importantly, by distinguishing between the SQL code and the parameter data, the query can’t be hijacked by malicious input.

    Brian Vermeer
  • COVID-19 Time Series Analysis with Software EKG

    We are not offering yet another dashboard. What we are offering is our best and most powerful tool for time series analysis, combined with the latest, comprehensive data on COVID-19.

    Our goal is to provide you with the raw data on COVID-19, included in a tool that lets you analyze, visualize and interpret the impacts of the pandemic on a long term basis.

    By providing Software EKG – COVID-19 Edition free of charge, QAware wants to contribute to a better understanding of the pandemic and support the global efforts against it.

    Johannes Weigend
    Johannes Weigend
  • Using Java Flight Recorder and Mission Control (Part 3)

    While from JDK 14 events can be consumed on the fly, previous JDK versions (from JDK 11) offer a public API useful enough to control Flight Recorder programmatically or to read events from a JFR file.

    Such API facilities are useful especially when combined with other technologies like Spring Actuators. Yet when there’s available integration or when using these integrations is too late, like recording startup, the most actionable way to get recording is from the command line.

    Brice Dutheil
    Brice Dutheil

Subscribe to foojay updates:
Copied to the clipboard