JavaFX In Action #16 with Chris Newland about DemoFX and JitWatch

Chris Newland has a long history in Java and JavaFX development. I invited him to talk about two of his JavaFX projects: DemoFX and JITWatch. While the demos are already impressive, Chris also gives a “crash course” in this video about Java and Byte code and how the Just-In-Time compiler converts these to native code in the Java Virtual Machine.

About Chris

Chris Newland is a FinTech Java developer, Java Champion, and creator of open-source JVM tools, including JITWatch. He regularly speaks at conferences and is a published author on Java performance techniques.

You can find him on LinkedIn, Mastodon, and his videos on YouTube.

About DemoFx

DemoFX is a performance test platform for JavaFX. It can layer and schedule effects on a timeline. It is used to discover the best techniques to optimize JavaFX performance on the Raspberry Pi and Desktop.

DemoFX contains a long list of effects: blur, bobs, bounce, burst, checkerboard, chord, chromakey, cogs, colourbackground, concentric, credits, creditssprite, cubefield, cyclebackground, diamonds, doomfire, equaliser, equalisercubes, falling, feedback, fireworks, flash, fractalrings, glowboard, grid, hexagons, honeycomb, hue, imagebackground, inversechromakey, mandala, mandelbrot, mask, maskstack, mirrorx, mirrory, moire, moremoire, pentagons, picinpic, quadplay, rain, rainbow, rawplayer, raytrace, rings, rotations, sea, sheet, shift, sierpinski, sinelines, snowfieldsprite, spin, sprite3d, spritewave, squares, starfield, starfieldsprite, stars, texcube, texsphere, textbounce, textlabel, textlayers, textring, textwave, textwavesprite, tiles, triangles, tubestack, tunnel, twister, typetext, vumeter, wordsearch.

About JITWatch

JITWatch is a log analyser and visualiser for the HotSpot JIT compiler. It helps you to inspect inlining decisions, hot methods, bytecode, and assembly. You can view the results in a JavaFX user interface.

Video content

00:00 Who is Chris?

02:20 Demo of DemoFX

03:32 Shaders are coming in JavaFX 25

04:17 More demos included in DemoFX

05:02 Intro to JitWatch: How Java byte code gets compiled to native code

06:55 Demo of JitWatch

08:38 How JetBrains want to integrate JitWatch

09:21 Understanding how Java code gets executed

12:07 Alternatives like GraalVM and Gluon to build apps

14:17 TooManyPetProjectsException …

YouTube: MelodyMatrix presentation for the JChampions online conference

15:16 More on Chris’ GitHub!

16:24 Future of JavaFX

More JFX In Action…

Click here for more posts with JFX In Action videos.