ADS BY GOOGLE

Yakov Fain's popular online tutorial series continues. This lesson he discusses the basics of threads, including how to create them, how to get them to step aside, and how to stop them.
Yakov Fain, in Lesson 9 of his immensely popular online 'Java Basics' series for JDJ Industry Newsletter, talks about using threads for creating more advanced programs than those already discussed in Lesson 8. He analyzes the role they play in major Internet portals like Yahoo, CNN, or...
We'll build a servlet that will demo some new Java 5.0 features and do some basic tasks like creating a session to track user visits to multiple Web pages. This code can easily be extended to store a user ID in the session that will travel with her as the site is navigated. The value o...
The single thing that Adam Kolawa in 2004 (prophetically) said he'd like to change about Java's history is its separation from Microsoft. 'I think it is a shame that the technologies from both sides cannot be used together,' he says, in an exclusive interview with JDJ. 'Java seemed to ...
Developers using Java on clients or in small projects may not believe that there is a fundamental problem with Java's robustness. People working with huge applications and application servers written in Java know about the problem but may doubt that it's possible to build something lik...
In the five years that I have worked in Web solutions practices, a typical business problem has changed from 'we need a new Web site' to 'we need to regain control over our existing sites.' It's not uncommon for large corporations to have hundreds or even thousands of different Web sit...
Language tools such as compilers, interpreters, and code generators are a critical part of the software development landscape. Any software project will include several procured tools and very likely several in-house tools. Experience shows that the only guarantee with such tools is ch...
Application architects have heard about the increased importance of security, but in many cases they really don't know how to approach this issue. In this article, I'll share my experience and define a few basic steps and checkpoints for building application architecture with security ...
I'm really jazzed about Java 5.0! We've been treated over the years to incremental improvements in JVM performance. JDK 1.2 brought us the collections framework as well as Swing, the thread context class loader, and improvements in RMI. JDK 1.3 and 1.4 continued in the same vain with l...
Pattern matching using 'regular expressions' can help automate a number of text-processing operations like search and replace, input validation, text conversion, and filters. What otherwise requires significant amounts of code can be done in just a few lines with regular expressions be...
Are your Java programs littered with a multitude of randomly placed System.out.println statements and stack traces? When you add debugging messages to a class in a project, are the outputs of your messages interleaved among dozens of messages from other developers, making your messages...
This article describes how to host an ActiveX/.NET control in a Java application that is targeted for the Microsoft Windows Platform. I'll assume you know the fundamentals of Java, C++, JNI (Java Native Interface), Win32, COM (Component Object Model), and ATL (Active Template Library).
'Ease of Development' is one of the main focuses in J2SE 5. Accordingly, J2SE 5 introduces several new features designed to simplify the developer's life. If you use these new constructs, your code will become more compact and expressive, hence easier to understand and debug. This arti...
Enterprises for the first time have the ability to deploy wired and wireless security access on a per user basis, with Aruba Wireless Networks' grid security controllers.
Java's implementation of Remote Method Invocation (RMI) is easy to use and powerful. Java makes setting up an RMI server an almost trivial task because the JVM handles complex tasks such as networking and object serialization. Once running, connecting client applications to the RMI ser...
You know how to write good Java code and deployment to a server is no mystery either. But have you ever had to work in large development teams, maybe geographically dispersed (off-shoring...)? Ever had to address the pain of application software updates?
Have you looked at the certificate that your neighbor has so proudly displayed in his or her office? Have you ever wondered if getting certified in Java is worth the time and effort?
These days Calvin Austin is one of the busiest people in the Java world: J2SE 5.0, that was also known as the 'Tiger' project, is being officially released today! JDJ's Yakov Fain was able to catch Austin, spec lead for Java 5.0, right before the plane from San Francisco to New York wh...
Those familiar with the java.util.Comparator interface of the Java API realize its capabilities for sorting a collection of objects based on an attribute of the objects in the collection. This works well when there is only a single field in which sorting is required. When more complex ...
Though most Java developers think of the Java Native Interface (JNI) as a framework for developing native libraries that can be called from Java, relatively few know that JNI also supports communication in the reverse direction: it provides native programs written in C with the ability...
In the late 1990s, a GUI design pattern emerged for choosing multiple objects from long lists. In GUI Design Essentials, Susan Weinschenk, Pamela Jamar, and Sarah Yeo called this the Selection Summary pattern. In 'A Dual Listbox Selection Manager' by Steve Aube, it's also known as the ...
Modern GUI programs enable you to easily access status information and functionalities through various menus, toolbars, and information panels. However, as a program becomes more complex or when users have the possibility of configuring and extending these components, they tend to get ...
'I was sick of hearing people say Java was slow,' says Keith Lea, 'so I took the benchmark code for C++ and Java from the now outdated Great Computer Language Shootout (Fall 2001) and ran the tests myself.' Lea's results three years on? Java, he finds, is significantly faster than opti...
We are fortunate to be part of a vibrant and healthy community, one worth investing in, and one whose integrity we are willing to fight for.
High-performing software teams use code reviews to improve the quality of their code and to keep team members informed of what's going on in the larger application. However, keeping track of which packages, classes, and methods have been reviewed can be a real headache, especially if a...
Fuego has achieved a record 331 percent license revenue growth during Q1 2004 as compared to the same quarter of last year.
When Java was first released, it was immediately attractive due to its ease-of-use and the promise of WORA (write once, run anywhere). As it evolved, the value of the JRE abstraction has manifested itself in many ways not immediately apparent from the days of animated applets.
With the introduction of the EJB 2.0 specification, the classic composite entity bean design pattern became outdated overnight. In this article, I present a new pattern that can serve as a proper replacement. This pattern, called Delegation-Managed Persistence bean (DMP bean), allows d...
As Jason Bell pointed out in his editorial 'A Modern Day Cinderella' (JDJ, Vol. 8, issue 9), the spotlight is on J2EE and as a result many programmers are ignoring the foundation of the JDK. J2SE is the Java equivalent of C/C++ standard libraries. Here we deal with the lower-level enti...
Enterprise Information Integration (EII) represents a new category of software that enables disparate data silos to be integrated into a single virtual database for applications. This approach gives developers a powerful tool for simplifying data integration and building flexible appli...
Complex enterprise applications are generally hard to maintain, and risky and difficult to change. As a new developer on a team, a large legacy code base is often difficult to understand, especially when the code has evolved over a long period and new functionality has been grafted ont...
Today marks the European debut of the SunNetwork Conference and Pavilion, a.k.a. 'SunNetwork Berlin' - with Scott McNealy, Greg Papadopoulos, Mark Tolliver, and Jonathan Schwartz due to hold forth to the Java faithful at ICC Berlin, the International Conference Center over the next two...
Asks Henry Roswell, after a closer look at some of Sun's claims for Java Studio and comparing them with the realities of Eclipse and SWT.
In the first of a new series, Yakov Fain takes a look at the basics of coding in Java with the traditional 'Hello World' programming.
Vectored I/O is a technique through which bytes can be read from a stream into a set of buffers (vectors) with a single read( ) invocation and bytes can be written from a set of buffers to a stream with a single write( ) invocation, thus reducing the CPU usage. In C Language it is impl...
Lately Sun and The JBoss Group have been rather publicly sparring over the use of the J2EE brand, culminating in quite a bit of heat (and little light) in the press and in the blogosphere.
There's a a carefully understated saying, attributed to the ancient Chinese: 'May you live in interesting times.' While at first glance living in interesting times might have been construed as a blessing, we who live in the present times know that interesting can be a curse. We've take...
While designing Enterprise frameworks, you ought to be very cautious about exposing runtime instances of classes encompassing secure transaction or management core, outlining Intellectual Property of the enterprise.
If you have a bounty of creative energy and way too much time on your hands, why not explore the new Java 1.4 APIs by creating a video game. That's exactly what I did when I produced a parody of Street Fighter II called Meat Fighter.
Some of the more commonly asked questions on the various forums for J2ME seem to be 'What is J2ME?' and 'Is <so-and-so-product> a part of J2ME?' Here is where you will find all the APIs that fall beneath J2ME's umbrella, and the packages you will find within those APIs.


ADS BY GOOGLE