Home » Author Archives: Attila Mihaly Balazs (page 4)

Author Archives: Attila Mihaly Balazs

ArrayList vs LinkedList

I must confess the title of this post is a little bit catchy. I have recently read this blog post and this is a good summary of  discussions & debates about this subject. But this time I would like to try a different approach to compare those 2 well known data structures: using Hardware Performance Counters. I will not perform ...

Read More »

WebSocket and Java


WebSocket is a cool new(ish) technology that allows real-time, two-way communication between the browser and the server, with almost no overhead. What I want to do here, is to provide a very succint, but sufficient overview of how to start using the technology. So, a few things to start with: a tcp socket connection is opened between the browser and ...

Read More »

Applying ForkJoin – from optimal to fast

JDK 7 is well into the hands of developers by now and most people have heard of ForkJoin, yet not so many have the time or chance in daily work to try it. It caused, and probably still causes a bit of confusion on how is it any different than a normal thread pool.[1] My goal in this article is ...

Read More »

Anatomy of a Java Decompiler

A decompiler, simply put, attempts to reverse the transformation of source code to object code. But there are many interesting complexities—Java source code is structured; bytecode certainly isn’t. Moreover, the transformation isn’t one-to-one: two different Java programs may yield identical bytecode. We need to apply heuristics in order to get a reasonable approximation of the original source. (A Tiny) Bytecode ...

Read More »

Using Intel Performance Counters To Tune Garbage Collection

Introduction I have to admit that I was shocked. Indeed, quite shaken when I realised this advent calendar post would be about garbage collection. The topic of GC has raised such passion amongst the advocates of Java and those who believe memory management should be manual. Many an article has been written regarding tiny subtle changes in strange looking command ...

Read More »

Run, JUnit! Run!!!

JUnit together with JavaScript and SVN are some of the technologies that programmers often start using without even reading a single blog post let alone a book.  Maybe this is a good thing since they look simple enough and understandable so we can use them right away without any manuals, but this also means that they are also underused. In ...

Read More »

Mastering Java Bytecode

Hey! Happy Advent :D I’m Simon Maple (@sjmaple), the Technical Evangelist for ZeroTurnaround. You know, the JRebel guys! We’ll as a result of writing a product like JRebel which interacts with bytecode, more often than you care to imagine, there are many things we’ve learned about it which we’d love to share. Let’s start at the start… Java was a ...

Read More »

What Open Source is (and isn’t) and why you should use it?

Open Source software plays a big role in the Java ecosystem (just think Maven, all the libraries in Maven Central, Gradle, OpenJDK, Ant, Ivy, Eclipse, Ant and so on). There is also a periodic “oh sh*t” moment when people deride OSS and declare it unreliable, risky and other things (perhaps the most recent one being the discontinuation of GlassFish by ...

Read More »

(Part 1 of 3): Synopsis of articles & videos on Performance tuning, JVM, GC in Java, Mechanical Sympathy, et al

I have been contemplating for a number of months about reviewing a cache of articles and videos on topics like Performance tuning, JVM, GC in Java, Mechanical Sympathy, etc… and finally took the time to do it – may be this was the point in my intellectual progress when was I required to do such a thing! Thanks to Attila-Mihaly for giving ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns