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)
The first part of this article (JDJ, Vol. 8, issue 4) introduced the Standard
Widget Toolkit (SWT), and showed how graphical user interfaces can be created
using some of the basic widgets found in SWT. In addition, layout classes
were described that allow widgets to be arbitrarily positioned and sized
within their parent.
In Part 2, we continue where the previous article left off, describing some
of the more advanced controls and concepts, including multithreading in the
user interface. We conclude with a brief discussion of SWT graphics.
Items
Many of the advanced controls in SW... (more)
One of the most fundamental design principles of Java is captured in its
motto "Write Once, Run Anywhere." It describes how a .class file encodes its
instructions at the bytecode level, allowing portability between different
machines that, through a specific virtual machine implementation, resolve the
bytecodes into executable instructions to give the program life. It's a goal
that's almost enshrined in the Java fundamental commandments, as Sun took out
a high-profile advertising campaign to back up the "100% Pure Java" slogan
and engaged Microsoft in battle for their proprietary... (more)
Imagine you are a contestant on a TV game show and your grinning quiz master
pops the question: "Name the one thing you most associate with Google?" Think
about your answer - write it on a card (don't show me yet). Turning your card
over, it's likely to be one of the following:
Great Internet search engine on google.com Wicked share price, wish I'd
bought some a few years ago Powerhouse of innovation for Java The first two
are fairly obvious. The last one might not have been your first choice, but
looking more closely it possibly should be.
Things probably started when some of Jav... (more)
Essential to the development of complex systems are tools that help the
developer locate, analyze, and fix problems. Debuggers provide support for
this by letting a developer inspect the internal state of a program at
runtime, as well as suspend and resume execution statement by statement.
The originators of the Java programming language defined a debugging
architecture, but since its conception Java has advanced into new areas of
deployment topologies and optimization technologies that present a further
set of problems. This article covers some of the background behind these
is... (more)