Everybody can author a new question

JavaBlackBelt

Subscribe to JavaBlackBelt: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get JavaBlackBelt: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Top Stories

Graphical user interface (GUI) testing is a potentially problematic area because constructing effective test cases is more difficult than the corresponding application logic. The roadblocks to effective functional GUI testing are: Traditional test coverage criteria like "80% coverage of the lines of code" may not be sufficient to trap all the user interaction scenarios. End users often use a different user task interaction model than the one conceived by the development team. Functional GUI testing needs to deal with GUI events as well as the effects of the underlying application logic that results in changes to the data and presentation. The common methods for functional GUI testing are the "record and execute" script technique and writing test programs for different scenarios. In the "record and execute," the test designer interacts with the GUI and all the eve... (more)

Java Kicks Ruby on Rails in the Butt

This article tries to demonstrate that Java can be more productive than Ruby. We are going to develop the same application of the article Rolling with Ruby on Rails Revisited (part 1 [1] and part 2 [2]) but using POJO [3]s annotated with JPA [4] and a Model Driven Framework, OpenXava [5] in this case. The result is that with less code, and less time you obtain a more powerful application. Ruby and rails: The regressive framework Ruby on rails [6] is so elegant, so easy, so productive. I cannot avoid read and heard continuously these comments. For example, the article Rolling with Ruby on Rails Revisited of Bill Walton says: “What would you think if I told you that you can develop a web application at least ten times faster with Rails than you can with a typical Java framework?” Oops! Ten times faster! Well, after these comments I decided to learn Ruby on Rails. I ne... (more)

How to Diagnose Java Resource Starvation

We can visualize resource starvation using an elaborate rendition of the Dining Philosophers Problem. This classic metaphor of resource allocation among processes was first introduced in 1971 by Edsger Dijkstra in his paper "Hierarchical Ordering of Sequential Processes." It's been a model and universal method for verifying theories on resource allocation ever since. The metaphor goes like this: There are three well-known philosophers in an Asian bistro. Dinner is served but they are only given three chopsticks because the restaurant's supply truck has been stuck in a snow storm for a couple of days. Naturally each philosopher needs two chopsticks to eat his dinner and each is protected from interference while he uses a chopstick. Plato skipped lunch that day and insists that he should have priority or else he'll faint. If he doesn't give up his chopsticks, the other ... (more)

Anatomy of a Java Finalizer

A couple of patterns that could cause Java heap exhaustion were identified from years of research at IBM. One interesting scenario was observed when Java applications generated an excessive amount of finalizable objects whose classes had non-trivial Java finalizers. What Is a Java Finalizer? A Java finalizer performs finalization tasks for an object. It's the opposite of a Java constructor, which creates and initializes an instance of a Java class. A Java finalizer can be used to perform postmortem cleanup tasks on an instance of a class or to release system resources such as file descriptors or network socket connections when an object is no longer needed and those resources have to be released for other objects. You don't need any argument or any return value for a finalizer. Unfortunately the current Java language specification does not define any finalizers for a... (more)

Interviewing Java Developers With Tears in My Eyes

During the last week I had to interview five developers for a position that required the following skills: Flex, Java, Spring, and Hibernate.  Most of these guys had demonstrated the 3 out of 10 level of Flex skills even though each of them claimed a practical experience on at least two projects. But this didn’t surprise me – Flex is still pretty new and there is only a small number of developers on the market who can really get Flex things done. What surprised me the most is a low level of Java skills of most of these people. They have 5-8 years of Java EE projects behind their belts, but they were not Java developers. They were species that I can call Robot-Configurator.  Each of them knew how to configure XML files for Spring, they knew how to hook up Spring and Hibernate and how to map a Java class to a database entity. Some of them even knew how to configure laz... (more)

Reflections on Java Command Line Options

Abstract There are many different types of command line options that programs need to recognize. Many languages (e.g.: bash and perl) has built-in processing of command line options; Java does not. The Java Command Line Options (JCLO) package performs this task for a variety of option styles. It also uses Java's reflection capability to automatically assign values to variables in a specified class. Introduction Even in these days of sophisticated graphical user interfaces, many programs have a wide variety of command line options that help specify their behavior. It is also the case that command line only programs continue to enjoy wide use. It is also the case the command line arguments can become quite complicated, e.g.: -Djava.util.logging.config.file=All.finest -1 --list --this=that Some languages have built-in parsers for command line options; perl and bash ar... (more)

Sun Launches JavaFX Mobile

Sun Microsystems announced the availability of the JavaFX Mobile platform, enabling the Java wireless ecosystem to create expressive solutions, which leverage the power and ubiquity of the Java Platform Micro Edition (Java ME). The JavaFX Mobile platform delivers rich content and services across a range of mobile devices - from mass market feature phones to smart phones. Sun also announced that several leading handset manufacturers, service providers and ISVs are working with Sun to ship JavaFX Mobile handsets. The Java platform is supported by global mobile operators and device manufacturers, is available on more than 2.6 billion mobile phones and is supported by 6.5 million software developers. Built on top of a consistent Java ME platform implementation, JavaFX Mobile allows companies to create immersive mobile content, while leveraging their existing investment i... (more)

Java for Managers -- What Should They Know?

Last month, JavaBlackBelt completed a survey where developers said their teams would be 25% more productive if their management committed to skills management... which led me to consider: Which Java technologies do developers think that managers should understand better in order to make great decisions about skills management? I'll suggest, as a start: -- Java SE and EE basics -- ORM's (Hibernate, ...) -- Web Frameworks (lStruts 2, ...) -- IDEs (Eclipse, ...) -- Source Code Mgmt -- Testing Methods -- JavaScript -- Ajax Very open to your thoughts, and who might find such a course useful... feel free to comment here and/or send email to [email protected] ... (more)

Walter Cronkite's IT Career Advice

The late Walter Cronkite as a role model for IT managers? At first glance, we might not see the connection between "the most trusted man in America" and high tech management. But if we pull back the layers of how Cronkite approached his job, there are solid day-to-day career lessons for those working in IT. Seven Best Practices Straight From the Desk of Uncle Walter 1. Explain things in a simple way so everyone can understand. CBS' Bob Schieffer said people "understood Cronkite was guiding you through events." He translated the complex or hard to understand in a way that made you nod and think, "I get I now." When explaining the impact of an IT project for your organization, break it down so the non-techies get the light bulb over their heads. Explain it so your mother can understand it--use the criteria: how would Cronkite say this? 2. Have an unbridled enthusiasm. N... (more)

Why Cops and Java Developers Have Low Salaries?

I've read an interesting article by Felipe Gaucho called "Good Java Developers Deserve Better Salaries," where he states that employers have to increase salaries for Java developers. Unfortunately, in the market economies such demands won't work. In enterprise IT no one just raises salary if there is a way to hire someone else for less money. It's just not in the corporate culture where people are treated as nameless resources. Have you ever wondered why policemen get lower salaries than Java developers even though people in the uniform risk their lives on daily basis?  It's because there are many people who apply for jobs in the police. Preparing a mediocre policemen takes about the same time as preparing a mediocre Java programmer. The same holds true for good policemen and Java developers. Market rules.  If no one will want to go to police, their salaries and per... (more)

JavaOne 2006: Partying at JavaOne!

JavaOne 2006 - Partying at JavaOne! After the opening session,  I've attended one hands-on lab on performance tuning, the gave and took an interview at the Java Community Corner and attended the session on Java 5 concurrent utilities. This year's JavaOne attendance must be the best ever. I have my own little indicator: SYS-CON Media put 6,000 copies of the JDJ - Java Developer's Journal's May's issue, by the end of the first day all magazines were gone. They are shipping another 6,000 copies today! In the morning, one of the presenters said that if you had a lunch with someine you know, take away a point for this day. You must meet new people! The next important task was to attend as many parties as possible. I had plans for four, but managed to attend only three. The first one was a cocktail reception for the press at 5PM. This was a really interesting gathering. I've ... (more)