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 - where the serialized form of a Java data structure is written to a file for later use. One such area... (more)

Joe Winchester's Java Blog: Is the AJAX Bullet Coated in Fool's Silver?

Is the AJAX Bullet Coated in Fool’s Silver? Ajax is an odd beast, because it gives a very rich user experience when compared to a traditional web page (Yakov writes wonderfully about this at http://java.sys-con.com/read/163232.htm), however apart from that it’s hard to figure out what is so great about it.  Good technology wins in the long run because of tooling (something Microsoft know and excelt at), so what is the lure of Ajax ?  I think it’s simply that it allows logic be put in one file – in your HTML (or servlet, JSP, ASP or whatever kicks out HTML)... (more)

Those Who Can, Code; Those Who Can't, Architect

At the moment there seems to be an extremely unhealthy obsession in software with the concept of architecture. A colleague of mine, a recent graduate, told me he wished to become a software architect. He was drawn to the glamour of being able to come up with grandiose ideas - sweeping generalized designs, creating presentations to audiences of acronym addicts, writing esoteric academic papers, speaking at conferences attended by headless engineers on company expense accounts hungrily seeking out this year's grail, and creating e-mails with huge cc lists from people whose signatur... (more)

SWT - A Native Widget Toolkit for Java Part 1 of 2

The Standard Widget Toolkit (SWT) is a Java class library that allows you to create native user interfaces. It's designed to provide efficient, portable access to the underlying facilities of the operating system on which it's implemented. SWT uses native widgets wherever possible, giving an SWT program a native look and feel and a high level of integration with the desktop. In addition, SWT includes a rich set of controls such as tree, table, and tab folder. This article introduces SWT by describing some of the basic concepts and classes. Hello World: A Simple SWT Program The e... (more)

Turkish Java Needs Special Brewing

On a recent trip to Turkey to meet with a customer, I heard a comment that one of the reasons Java is being held back in that country is because of an almost ubiquitous local bug. In the Turkish alphabet there are two letters for "i," dotless and dotted. The problem is that the dotless "i" in lowercase becomes the dotless in uppercase. At first glance this wouldn't appear to be a problem; however, the problem lies in what programmers do with upper- and lowercases in their code. The two lowercase letters are \u0069 "i" and \u0131 (dotless "I") and are totally unrelated. Their uppe... (more)