Java

JEP 457 Hello World

October 5, 2023 - 17:45

This is an updated version of the Java Advent 2022 "JVM Hello World" using the JEP 457 Class-File API.

Writing a “Hello World” program is often a rite of passage for a software engineer when learning a new language.

If you’re a Java developer,  you might even remember the first time you typed public static void main(String[] args) in your editor of choice. But did you ever wonder what’s inside that “.class” file that the compiler spits out? Let’s look at how we can write a JVM “Hello World” by creating a class file programmatically.

We’ll work through creating a class file for the following simple Java Hello World application.

JVM Hello World

January 9, 2023 - 17:47

Writing a “Hello World” program is often a rite of passage for a software engineer when learning a new language.

If you’re a Java developer,  you might even remember the first time you typed public static void main(String[] args) in your editor of choice. But did you ever wonder what’s inside that “.class” file that the compiler spits out? Let’s look at how we can write a JVM “Hello World” by creating a class file programmatically.

We’ll work through creating a class file for the following simple Java Hello World application.

How To Build A Log4Shell Detector

February 3, 2022 - 21:25

Log4Shell (CVE-2021-44228) is a zero-day vulnerability in Log4J, a popular open-source Java logging framework used by many organizations around the world. Though the vulnerability has been patched, and upgrading to a newer Log4J version solves the problem, not everyone has completed the necessary upgrade.


I've written a Guardsquare blog post showing how you can be build a Log4Shell detector using ProGuardCORE to determine if applications are using an older Log4J version that is susceptible to the vulnerability.

 

Advent of Code 2018

December 26, 2018 - 00:00

I am taking part in Advent of Code 2018 and you can find my answers on my Github, written in Scala.

Advent of Code 2017

December 27, 2017 - 10:49

I am taking part in Advent of Code 2017 and you can find my answers on my Github, written in either Java, Scala or Python.

Coding Tasks

December 27, 2017 - 10:42

You can find on my Github some answers to various coding tasks from interviews and/or online coding test websites, coded in Java, Scala and/or Lisp.

Static Source Code Analysis Tools and their Application to the Detection of Plagiarism in Java Programs

July 10, 2008 - 18:11

This project develops a system for detecting plagiarism in sets of student assignments written in Java. Plagiarism is viewed as a form of code obfuscation where students deliberately perform semantics preserving transformations of an original working version to pass it of as their own. In order to detect such obfuscations we assume we have a set of programs in which we attempt to find transformations that have been applied. We investigate tools for static analysis and transformation of Java programs to build a system for plagiarism detection.

Artificial Ants: Simulating Ant Behaviour and Investigating Applications In Computing

July 10, 2007 - 18:15

Ants are excellent route finders, with the ability to find the shortest path between their nest and a food source, by using pheromone trail clues to organize themselves collectively. By applying behaviour observed in ant colonies to the field of computing, these ant-based techniques can provide a base for network routing algorithms, as well as algorithms to solve graph problems such as the travelling salesman problem.

Subscribe to Java