JSP/Java

This Afternoon

weblogs.java.net - 8 hours 2 min ago
Packing up for the drive to CodeMash... also:
Java Today: OpenMQ webinar Friday, M3DD newsletter #4, and OpenSSO policy agents
Weblogs: Styles for JavaFX, effects in JavaFX, and freezing JTable columns
Forums: JavaFX apps on USB drives, http proxies and Metro, scripting languages in Wonderland, and GlassFish to-dos
Categories: JSP/Java

The Audacity of Hope: Thoughts on the JCP

weblogs.java.net - Tue, 2009-01-06 03:17
December 2008 marks the 10th Birthday of the Java Community Process (JCP) Program. Java developers in Silicon Valley are invited to join the JCP Executive Committees and the Program Office in celebrating ten years of collaborative work from companies, academics, individual developers and not-for-profits from all over the world. The party will be at the Computer History Museum on January 13th in Mountain View, California. See the full post for registration information.
Categories: JSP/Java

The Audacity of Hope: Thoughts on the JCP

weblogs.java.net - Tue, 2009-01-06 03:17
December 2008 marks the 10th Birthday of the Java Community Process (JCP) Program. Java developers in Silicon Valley are invited to join the JCP Executive Committees and the Program Office in celebrating ten years of collaborative work from companies, academics, individual developers and not-for-profits from all over the world. The party will be at the Computer History Museum on January 13th in Mountain View, California. See the full post for registration information.
Categories: JSP/Java

It will be (Open)JDK7 where OpenJDK==JDK

weblogs.java.net - Mon, 2009-01-05 23:48
I'm listening to the 'holidays 2008ish' episode of Javaposse and in reviewing their last years predictions they have enough fumbling around the status of OpenJDK that I want to do a little bit of explaining. OpenJDK 6 != JDK 6...
Categories: JSP/Java

Recent Sun Videos on Some of Its Products and Technologies

weblogs.java.net - Mon, 2009-01-05 22:55
Here's a handy list from Storage Stop, the Sun OpenSolaris Storage News blog.
Categories: JSP/Java

JSF 2.0 Public Review Ballot Starts Tomorrow

weblogs.java.net - Mon, 2009-01-05 22:44
Notice that JSF 2.0 is almost done.
Categories: JSP/Java

Are you using Footprint project?

weblogs.java.net - Mon, 2009-01-05 20:00
If yes, please register that at Ohloh.
Categories: JSP/Java

Next Go Round

weblogs.java.net - Mon, 2009-01-05 16:17
Where's Java going in 2009? Also:
java.net Poll: What was the most important Java news of 2008?
Java Today: Calling JavaFX from Swing, criteria for small language changes, and JavaTools Commuinty Newsletter #187
Featured Podcast: Java Mobility Podcast 66: Sean Sheedy, JCP ME Executive Committee Feedback
Spotlight: Forum for ME EC discussion topics
Weblogs: Dragging nodes and windows in JavaFX, client/server Grizzly, and do you distribute your builds?
Forum posts: GlassFish or Tomcat, load balancing strategies, LWUIT drawing strategies, and new JavaTV forum
Categories: JSP/Java

Effects in JavaFX: The Basics

weblogs.java.net - Mon, 2009-01-05 09:12
The first installment in a new series on the filter effects package in JavaFX...
Categories: JSP/Java

Freezable JTables (are they extreme?)

weblogs.java.net - Mon, 2009-01-05 04:47
In this entry, I show how to implement a JTable that allows the user to freeze a column for the horizontal scrolling, similar that what common spreadsheet applications allows you to do. Let me know if you think this JTable is extreme...
Categories: JSP/Java

Do we need any tool to assist reuse process?

weblogs.java.net - Sun, 2009-01-04 22:44
When a developer needs to create applications based on a framework (Struts, for instance), what does he do? Does he read the entire documentation to understand how to benefit from the framework's extension points? What if the documentation is not fully available? What if he has a tool to guide him on the proper steps of using a framework? Does it help? So that's what this post is about.
Categories: JSP/Java

Template Code Generator : Apache Velocity - JET - JET2

weblogs.java.net - Sun, 2009-01-04 22:15
I wanted to use a template as input for my Code Generator, but the problem was to find one that worked in a stand alone mode, not a web based one. In my research a found few that do what I wanted. Apache Velocity and Eclipse JET/JET2. I'll explain in details theses Template Code Generator with a little application
Categories: JSP/Java

Revisiting Predictions for 2008

weblogs.java.net - Fri, 2009-01-02 19:30
Now that 2009 has just begun, it's fun to read back a few predictions for 2008 and see how those crystal balls fared.
Categories: JSP/Java

method handles == closures ??

weblogs.java.net - Fri, 2009-01-02 16:36
BGGA spec proposes a way to implement closure (no syntax war here) by translating closure into parameterized types. Recently, the JSR292 VM prototype allow to get a handle on a method without using reflection. This blog entry shows how closure can be implemented using these method handles.
Categories: JSP/Java

Software Transactional Memory: Debunked!

Brandon Werner - Fri, 2009-01-02 06:15

If I go in to my excellent academic article organizer, Papers, and search for “software transaction memory” or “stm” I get at least 30 results of papers both high level and detailed regarding this next big thing that will allow us to finally, without any effort, take advantage of our multi-core CPUs and handle all the nasty locking and synchronization issues for us with nothing more than a language keyword. So much publicity has been given to this idea that no less than three presenters at the Google Scalability Conference mentioned it, with one presentation being nothing but a glimpse in to the STM future.

As I wrote then:

This was the trend though, as all of the presentations had a bit of hand waving regarding performance metrics and distribution of computation. This was highlighted by the talk of Vijay Menon of Google - whose work at Intel I was familiar with - discussing Software Transactional Memory. He illustrated the challenges of implementing this in an imperative language (I’m suspicious you can even do STM well in an imperative language with state - as I discussed before) but beyond suggesting the keyword “atomic” to replace “synchronized” in the Java language there was very little real content discussed for those already familiar with the issue of locks and multiprocessors. Concurrent Haskell wasn’t even mentioned.

It turns out that, according to a paper published in the Communications of the ACM, Software transactional memory: why is it only a research toy?, Software Transactional Memory may not work at all. The article presents research from IBM, who built the IBM XL C/C++ for Transactional Memory for AIX, known as IBM STM, and also takes benchmarks from the Intel STM and the SUN TL2 STM. In the paper, they put the STM implementations through the ringer using b+tree and the Delaunay Mesh Refinement algorithm. It’s well worth a read.

Their final analysis puts a deep nail in the coffin of STM:

Based on our results, we believe that the road ahead for STM is quite challenging. Lowering the overheads of STM to a point where it is generally appealing is a difficult task and significantly better results have to be demonstrated. If we could stress a single direction for further research, it is the elimination of dynamically unnecessary read and write barriers—possibly the single most powerful lever toward further reduction of STM overheads. However, given the difficulty of similar problems explored by the research community such as alias analysis, escape analysis, and so on, this may be an uphill battle. And because the argument for TM hinges upon its simplicity and productivity benefits, we are deeply skeptical of any proposed solutions to performance problems that require extra work by the programmer.

Many academics takes the approach that most developers don’t need to be aware of, much less optimize for, atomic transactions in their code. Much like pointers and Aunt May’s apple pie, it’s best to leave those things to the professionals and their compilers. This is the approach argued by Bryan Cantrill and Jeff Bonwick from Sun Microsystems in their article Real-world concurrency. Seeing as these are the same people who brought us D-Trace and lockstat in Solaris OS, so it’s probably best to take their word on it.

From the article:

The most important conclusion from our foray into the history of concurrency is that concurrency has always been employed for one purpose: to improve the performance of the system. This seems almost too obvious to make explicit. Why else would we want concurrency if not to improve performance? And yet for all its obviousness, concurrency’s raison d’être is seemingly forgotten, as if the proliferation of concurrent hardware has awakened an anxiety that all software must use all available physical resources. Just as no programmer felt a moral obligation to eliminate pipeline stalls on a superscaler microprocessor, no software engineer should feel responsible for using concurrency simply because the hardware supports it. Rather, concurrency should be considered and used for one reason only: because it is needed to yield an acceptably performing system…

…To make this concrete, in a typical Model/View/Controller application, the View (typically implemented in environments like JavaScript, PHP, or Flash) and the Controller (typically implemented in environments like J2EE or Ruby on Rails) can consist purely of sequential logic and still achieve high levels of concurrency provided that the Model (typically implemented in terms of a database) allows for parallelism. Given that most don’t write their own database (and virtually no one writes their own operating system), it is possible to build (and indeed, many have built) highly concurrent, highly scalable MVC systems without explicitly creating a single thread or acquiring a single lock; it is concurrency by architecture instead of by implementation.

However, I think that some easy atomic transactional wrappers would be helpful for developers, and hope that the research in to some way of implementing atomic transactions in an easy and accessible way continues. Of course, I am still skeptical that any imperative language with living objects that have state can easily have their transactions atomic and it would appear this paper agrees with this skepticism. Anyone for Concurrent Haskell?

Categories: JSP/Java

JavaFX in Style

weblogs.java.net - Wed, 2008-12-31 21:21
JavaFX aims to reduce the gap between coders and designers, to the extent that controls can be styled using CSS-like files. Examples are thin on the ground, however; so before the year ends (and on the assumption I'll be too hung over tomorrow to care/remember) here's a quick guide to creating your own styled controls.
Categories: JSP/Java

SwingX 0.9.5 Released

weblogs.java.net - Wed, 2008-12-31 15:31
New version of SwingX have been released.
Categories: JSP/Java

FREE NetBeans Platform Training

weblogs.java.net - Wed, 2008-12-31 11:12
Egyptian Java User Group is organizing a Free NetBeans platform training by Geertjan Wielenga.
Categories: JSP/Java

Do you distribute your builds?

weblogs.java.net - Tue, 2008-12-30 22:23
When organisations first set up a Continuous Integration environment, distributed builds are often fairly low down on the list - more in the "nice-to-have" category, or considered too advanced to look at initially. However, distributed builds are actually more than...
Categories: JSP/Java

M3DD: Less than 4 weeks to go

weblogs.java.net - Tue, 2008-12-30 15:57

Less than 4 weeks to go: Java Mobile, Media, and Embedded Developer Days (M3DD)

Categories: JSP/Java
Syndicate content