A Java compiler compiles a Java Source code into bytecode and stores it in a .class file which is then get executed by JMV.
Well, we all know this, but do you know that all Java classes start with a magic word called – CAFE BABE?
During the last few weeks I have shown how to create a proxy object using Java reflection API and cglib. In this article I will show you how this can be done using djcproxy.
Oh, not again, another proxy implementation!
This post describes my recent experience with Hibernate ORM. Over the years the framework has not stopped to amaze me in regards of performance problems you can end up with while using it. I thought I had seen it all, but this time I was again caught off guard.
The foundation for the problem was built while troubleshooting a completely unrelated library causing problems in one of our production servers. To gather more insight about the original issue at hand, we increased the verbosity in the logback configuration.
JavaFX is the new standard library for building graphical applications in Java, but many programmers out there is still stuck with Swing or even (tremble) AWT. Here are a few tips on how you can use many of the new awesome features in the JavaFX toolkit to build reactive and fast applications!1. Property Values
If you have snooped around in the JavaFX components you must have come across the term Property. Almost every value in the FX library can be observed, the width of a divider, the size of an image, the text in a label, the children of a list as well as the status of a checkbox. Properties come in two categories; Writables and Readables. A writable value can be changed either using a setter or by directly modifying the property. JavaFX will handle the event processing and make sure every component that depends on the property will be notified. A readable value has methods that allow you to receive notifications when the value changes.
Every Java programmer worth the name knows about the Factory Pattern. It is a convenient and standardized way to reduce coupling by teaching a component how to fish rather than giving it to them. When working with large systems, the pattern does, however, add a lot of boilerplate code to the system. For every entity, you need a number of different factories for producing different implementations of that entity, which is both tiresome and unnecessary to write.
Here is a typical example where you want a car trader to be able to create instances of the Car interface without knowing the exact implementation.
At the end of December 2015, Google announced that they were replacing their implementation of the Oracle JavaAPI with the open source OpenJDK version. This change in direction appears to be related to the ongoing legal battle between Sun/Oracle and Google regarding copyright and patent infringement with Google's use of Java in developing the Android operating system.
This article isn't about the Sun/Oracle v Google legal battle. Instead, realizing that Google has now joined IBM, RedHat, and Apple (among others) in focusing on OpenJDK - I wonder if now is the time to consider OpenJDK as an option for JDK users.
LinkedIn has been an invaluable resource for me over the past 10+ years. I've used it to:
Recently several people have asked me to help them optimize their profiles as they've become aware of what they can accomplish on LinkedIn.
It has been 7 years now since I taught my first Spring class. At that time almost everything was XML and configuring JPA or Spring Security, for example, could be a lot of hard work. Spring has matured a great deal in the meantime with component-scanning, Java Configuration and Spring Boot making it much more fun to use.
At every stage, we have updated our Spring courses to reflect these changes and I am pleased to announce that our most popular Spring training courses - Core Spring, Spring Web, and Enterprise Spring - have been revised to align with the latest Spring 4.2 release. These courses include much more Spring Boot material and expanded coverage of features like Spring Data, Spring HATEOAS, Spring MVC Websockets, Spring XD, Spring Cloud and microservices.