-
Core Java
Make agents, not frameworks
Ever since their introduction, Java annotations have become an integral part of the APIs of larger application frameworks. Good examples…
Read More » -
Core Java
Java 8 default methods can break your (users’) code
At first glance, default methods brought a great new feature to the Java Virtual Machine’s instruction set. Finally, library developers…
Read More » -
Core Java
Memory leaks and memory management in Java applications
One of the more prominent features of the Java platform is its automatic memory management. Many people translate this feature…
Read More » -
Core Java
Extending Guava caches to overflow to disk
Caching allows you to significantly speed up applications with only little effort. Two great cache implementations for the Java platform…
Read More » -
Core Java
Advanced Java generics: retreiving generic type arguments
After their introduction in the JDK5, Java generics quickly became an integral element of many Java programs. However, as easy…
Read More » -
Core Java
The infamous sun.misc.Unsafe explained
The biggest competitor to the Java virtual machine might be Microsoft’s CLR that hosts languages such as C#. The CLR…
Read More » -
Core Java
Subtyping in Java generics
Generic types introduce a new spectrum of type safety to Java program. At the same type, generic types can be…
Read More » -
Core Java
Object-based micro-locking for concurrent applications by using Guava
One of the presumably most annoying problems with writing concurrent Java applications is the handling of resources that are shared…
Read More » -
Core Java
cglib: The missing manual
The byte code instrumentation library cglib is a popular choice among many well-known Java frameworks such as Hibernate (not anymore)…
Read More »