Welcome!

The Source for All Things Java

Joe Winchester

Subscribe to Joe Winchester: eMailAlertsEmail Alerts
Get Joe Winchester via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Top Stories by Joe Winchester

Java serialization was initially used to support remote method invocation (RMI), allowing argument objects to be passed between two virtual machines. RMI works best when the two VMs contain compatible versions of the class being transmitted, and can reliably transmit a binary representation of the object based on its internal state. When an object is serialized, it must also serialize the objects to which its fields refer - resulting in what is commonly called an object graph of connected components. Although the transient keyword can be used to control the extent to which the serialization process penetrates the object graph, this level of control is seldom enough. Many have tried to use Java's serialization to achieve the so-called "long-term persistence" of data - wh... (more)

User Interface Generation Tools: Silver Bullet or Fool's Gold?

User interface generation tools are something that has always been dear to my heart. I've enjoyed using them and have been fortunate enough to work on developing them. However, there's a huge tar pit to be avoided when using them on projects that I see people heading towards over and over again. The problem crops up when one tries to automatically generate GUIs from a model. It doesn't ma... (more)

The Trials of Software Testing

Software testing while one of the most important tasks done in a development project is often misunderstood and abused by everyone from programmers and managers to testers. Wikipedia calls testing "an empirical investigation conducted to provide stakeholders with information about the quality of the product or service under testing, with respect to the context in which it is intended to ... (more)

Should Java Assert that Network I/O Can't Occur on the UI Thread?

Doing network I/O on the user interface (UI) thread is bad. Most developers know that and can tell you why; unfortunately, it's still done. At this year's JavaOne, one of the keynote JavaFX demos bombed because the network was slow, something that would be forgivable had the entire application's UI not frozen, which required it to be restarted, only to trip up again a few minutes later. ... (more)

i-Technology Viewpoint: Java's Not Evolving Fast Enough

A programming API represents a documented contract between a function that provides some kind of computing service and those who wish to use it. In Java, once an API is used there is a physical contract between the two that the compiler and JVM enforce. If at some point in the future the author of the API wishes to make changes, they are limited in scope; if the author renames methods or... (more)