From the lowest-level language to one of the highest
Understand and believe that when articles are proposed, I do make the author justify "why it matters" to readers, so that you don't see 2,000-word treatises on concepts of purely academic interest with little or no practical application. I bring this up because the premise of today's new article -- calling Java from assembly language -- might well bring hackles of impracticality.
Biswajit Sarkar has already covered invoking assembly code from Java, which has a straightforward usefulness to those seeking performance in critical sections of code. But when he proposed going in the opposite direction, from assembly to Java, I had to ask "why would anyone ever need to do that". He replied in his second draft with an anecdote to say that he'd already been in a position where this was the right approach:
Some time ago, I was associated with an application to collect real-time data from a number of sources and save them in circular buffers so that new data would overwrite old data once the buffer got filled up. If a designated trigger event was sensed through a digital input, a fixed number of data samples would be saved in the buffers so that a snapshot of pre- and post-trigger data would be available. The original application was written in assembly language. After the application was used for a few months, it was felt that it would be very useful to have the application mail the snapshots to authorized supervisors whenever the trigger event occurred. Of course, it would have been possible to write this extension in assembly, but the team felt that in that particular instance it was easier to write that extension in Java and hook it up with the ASM program. As I had earlier worked with ASM-oriented JNI, I knew this could be done and, indeed, the project was implemented quickly and successfully.
Even if you're not an assembly language programmer with an occasional need to call out to Java's many capable libraries, taking another tour into the specifics of how JNI manages interfaces to native code may be useful for understanding just how your Java code interacts with the system.
So I hope you'll enjoy this Feature Article,
Launch Java Applications from Assembly Language Programs. Actually, with a lot of legacy assembly code out there, it's entirely possible that there could be some novel uses for the idea. Perhaps an assembly language program on an old mainframe could be exposed as an SOA by writing a small amount of new assembly to call out to Java-based SOA libraries? Who knows... we'll see if this is an idea that gains traction.
Unknown and undocumented properties are the focus of two of today's Weblogs, starting with
Customizing GlassFish v2 with 23 unpublished properties.
"Grizzly in GlassFish v2 has 23 unpublished properties that can be used to improve performance, switch the thread pool, configure the tcp stack, etc. Why hide them?"
In a similar vein, SergeyÂ Malenkov discusses
JavaBeans: feature attributes.
"Let's talk about the FeatureDescriptor class, the superclass for all other descriptors. It enables to add extra metadata to describe the beans. The builder tool could use such metadata to provide enhanced functionality."
In a good news update, DavidÂ Herron reports on
OpenJDK Encumbrances being cleared.
"The OpenJDK project is about 95% of a complete Java implementation. That last 5% or so is what we've called 'encumbrances', code which we weren't able to open source. The last two weeks have seen a lot of interesting movement..."
Speaking of the JDK, the latest java.net Poll asks "Have you tried out the Java SE 6.0 Update N (aka, "Consumer JRE") Early Access?" Cast your vote on the front page, then visit the
results page for current tallies and discussion.
In today's Forums,
jfbriere wonders about 6.0uN's QuickStarter feature in
This is really great.
"First I want to thank Sun for this JQS feature. It works pretty smooth on Windows 2003 and also on XP (both witth Firefox 2 and IE 7 or 6). I think it's an important milestone in the Java client evolution ( or revolution. Just curious about one thing. It is said that JQS is : "periodically prefetching some of the most heavily used Java Runtime Environment files into memory". Although I executed many Java applications, webstarts or applets I failed to see in the task manager the jqs.exe memory usage going more than 1.5 Mb. Which files are typically prefetched?"
jmelvinexplains the status of QuickStarter code in
Re: Why is the quickstarter not available on non-windows platform.
"The JDK source for all supported platforms is available through the OpenJDK project. However, the Sun deployment code (installers, plugins, and java web start) are not. We plan to make these components available as resources become free. JQS is part of the deployment component."
fester volunteers for some localization work in
JFileChooser dutch translation.
"JFileChooser seems to be translated by default in Spanish, German and French (maybe others too, I have not checked). When the Locale is Dutch, there is no translation. How can I provide one?"
In Java Today,
the NetBeans Portal Pack 2.0 Beta is now available. The zip archive of Portal Pack plug-ins can be downloaded from Portal Pack project site. These plug-ins are also available on NetBeans 6.0 Beta 1 Auto Update Center. Features include support for both Portlet 1.0 (JSR-168) and 2.0 (JSR-286) standards, a new wizard to create portlet filters, an option for adding a new Public Render Parameter through UI, and drag and drop support to map Public Render Parameters/Filters to portlets.
The latest issue, number 141, of the JavaTools Community Newsletter is out, with tool-related news from around the web, announcements of new community projects and graduations (AntUtility and Textile-J), a reminder about the Mobile & Embedded Developer Days Conference, and a ToolTip about SCPlugin, which brings Subversion access to the Mac OS X Finder.
Current and upcoming Java
- OctoberÂ 5-7 - Greater Atlanta Software Symposium 2007
- OctoberÂ 12-14 - Twin Cities Software Symposium 2007: Fall Edition
- OctoberÂ 11 - J-Fall 2007
- October 16 - Midwest Java Technology Days: Minneapolis, MN
- OctoberÂ 17-19 - Grails eXchange 2007
- OctoberÂ 18 - Midwest Java Technology Days: Chicago, IL
- OctoberÂ 19-21 - Bay Area Software Symposium 2007
- OctoberÂ 19-21 - Greater Toronto Software Symposium 2007
- OctoberÂ 21-25 - ooPSLA 2007
- OctoberÂ 21-26 - Colorado Software Summit 2007
- OctoberÂ 22-24 - Sun Tech Day - Shanghai
- OctoberÂ 24-26 - The Ajax Experience
- OctoberÂ 26-27 - IndicThreads.com Conference On Java Technology
- OctoberÂ 26-28 - Lone Star Software Symposium 2007: Dallas Edition
- OctoberÂ 29-31 - Sun Tech Day - Beijing
- NovemberÂ 2-4 - Northern Virginia Software Symposium 2007: Fall Edition
- NovemberÂ 6-8 - Sun Tech Day - Tokyo
- NovemberÂ 9-11 - Rocky Mountain Software Symposium 2007: Fall Edition
- NovemberÂ 16-18 - Great Lakes Software Symposium 2007
- NovemberÂ 26-27 - JAX ASIA 2007
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
Archives and Subscriptions: This blog is delivered weekdays as
Today RSS feed. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.
From the lowest-level language to one of the highest