Slashdot is powered by your submissions, so send in your scoop


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×

Submission + - Doctor Who? Find out this Sunday... (

b06r011 writes: The 12th actor to play Doctor Who will be revealed on BBC1 this Sunday at 1900. Rupert Grint and Peter Capaldi have been tipped as favourites to replace Matt Smith but that is no reason to stop idle speculation on a Friday afternooon. This all raises an interesting point though — particularly for Dr Who, where the replacement of an actor whilst maintaining the character is a key part of the plot. Would you rather find out in advance or wait until the end of the regeneration sequence?

Submission + - Using Java in Low Latency Environments

twofishy writes: Something I've noticed amongst financial service companies in London is a growing use of Java in preference to c/c++ for exchange systems, High Frequency Trading and over low-latency work. InfoQ has a good written panel discussion with Peter Lawrey, Martin Thompson, Todd L. Montgomery and Andy Piper. From the article:

Often the faster an algorithm can be put into the market, the more advantage it has. Many algorithms have a shelf life and quicker time to market is key in taking advantage of that. With the community around Java and the options available, it can definitely be a competitive advantage, as opposed to C or C++ where the options may not be as broad for the use case. Sometimes, though, pure low latency can rule out other concerns. I think currently, the difference in performance between Java and C++ is so close that it's not a black and white decision based solely on speed. Improvements in GC techniques, JIT optimizations, and managed runtimes have made traditional Java weaknesses with respect to performance into some very compelling strengths that are not easy to ignore.

Submission + - G1: One Garbage Collector To Rule Them All (

twofishy writes: Monica Beckwith, the performance lead for Garbage First Garbage Collector, describes the collector in detail. Many articles describe how a poorly tuned garbage collector can bring an application's SLA commitments to its knees. Oracle's new G1 Collector in HotSpot moves away from the conventional GC model, where a Java heap splits into (contiguous) young and old generations, and instead introduces the concept of “regions”, for a generally more performant and manageable GC. From the article:

G1 GC is an incremental parallel compacting GC that provides more predictable pause times compared to CMS GC and Parallel Old GC. By introducing a parallel, concurrent and multi-phased marking cycle, G1 GC can work with much larger heaps while providing reasonable worst-case pause times. The basic idea with G1 GC is to set your heap ranges (using -Xms for min heap size and -Xmx for the max size) and a realistic (soft real time) pause time goal (using -XX:MaxGCPauseMillis) and then let the GC do its job. With the introduction of G1 GC, HotSpot moves away from its conventional GC layout where a contiguous Java heap splits into (contiguous) young and old generations. In G1 GC, HotSpot introduces the concept of “regions”. A single large contiguous Java heap space divides into multiple fixed-sized heap regions. A list of “free” regions maintains these regions. As the need arises, the free regions are assigned to either the young or the old generation. These regions can span from 1MB to 32MB in size depending on your total Java heap size. The goal is to have around 2048 regions for the total heap. Once a region frees up, it goes back to the "free" regions list. The principle of G1 GC is to reclaim the Java heap as much as possible (while trying its best to meet the pause time goal) by collecting the regions with the least amount of live data i.e. the ones with most garbage, first; hence the name Garbage First.

Submission + - Oracle Reinstates Free Time Zone Updates for Java 7 (

twofishy writes: The internet has been buzzing this week with the news that Oracle has ceased to provide free time zone updates outside of the standard JDK release cycle. However, at the end of yesterday the firm appeared to have a change of heart.

We never intended for a support contract to be required to keep JDK 7 up to date. TZUpdater was made unavailable on March 8 as part of the End of Public Updates for JDK 6, and as soon as we learned that this affected JDK 7 users we initiated the process of making it available for JDK 7 again.

Submission + - Brian Goetz Discussea Bringing Lambda to Java (

twofishy writes: Oracle's Brian Goetz, JSR-335 spec lead, talks to InfoQ about his observations of Project Lambda, the effort to add Lambda functions to Java.

"...unlike with some earlier platform evolution efforts, where we had to implement everything via syntactic sugar in the compiler, JSR-335 was able to undertake a coordinated co-evolution of the language, libraries, and Virtual Machine (VM), yielding a much better overall result."

Submission + - Oracle Introduces Insane New Java Numbering Scheme ( 1

twofishy writes: "To avoid the confusion caused by renumbering releases", Oracle has announced that it is adopting a new numbering scheme for JDK 5.0, JDK 6 and JDK 7. "The next Limited Update for JDK 7 will be numbered 7u40, and the next 3 CPUs after that will be numbered 7u45, 7u51, and 7u55.” The vendor notes that a more elegant solution would require the changing of the version numbering scheme to accommodate different kinds of changes (for example by using 7u44-2 ). However this cannot be implemented outside of a major release, since doing so might break existing code that parses version strings (possibly including the Java auto-update system)

Submission + - LMAX Exchange Getting Up To 50% Improvement in Latency From Azul's Zing JVM ( 2

An anonymous reader writes: LMAX Exchange is one of a growing number of firms to use Java in a low latency environment. It has become well known, even outside of financial services, at least in part by dint of being willing to talk publicly about technology choices. The firm open-sourced a key component of its software stack, the Disruptor framework, in March 2011. At the end of last year, LMAX Exchange completed the latest re-build of its production data centre, moving from Hewlett-Packard servers with Intel's HexaCore Dunnington processor to Dell 520 and 720 with dual socket, 8 core, Intel Sandy Bridge CPUs. The Dells have 64 and 128 GB of memory respectively. CentOS 6 is used as the OS. Recently the firm have begun testing Azul's Zing JVM in place of Oracle's HotSpot as a way of improving their already impressive response times and throughput rates. The results are impressive; a 10-20% improvement in the mean latency, increasing to around a 50% improvement at the 99th percentile.

Submission + - SPAM: 3 reasons to exercise in the morning

Adil Ben Moussa writes: When the weekend arrives, most people settle for a rest and relaxing. But in reality, they are upset because the day becomes much shorter. Rather than linger in bed in the morning when the sun shines, it is better for you to exercise your body. Well, here are three good reasons to enjoy the morning sun with exercise. 1. Burn caloriesResearch...
Link to Original Source

Submission + - SPAM: Your Favorite Comedy Site Has A New Design Now

comedy.cooked writes: Over the years, we’ve yearned for an easy way to navigate Laugh Factory’s website and our prayers have finally been answered because Laugh Factory just received a new design along with some great changes. However, the real reason for writing about ‘just a design change’ is because the design is changed because of us, so it seems right that we appreciate it any way possible.
Link to Original Source

Submission + - LMAX Getting Up To 50% Improvement in Latency From Azul's Zing JVM

twofishy writes: Developers at the LMAX Exchange, an execution venue for trading FX established in the City of London in October 2010, have begun testing Azul's Zing JVM as a way of improving their already impressive response times and throughput rates.

Accoridng to the article the firm uses Dell 520 and 720 with dual socket, 8 core, Intel Sandy Bridge CPUs. The Dells have 64 and 128 GB of memory respectively with CentOS 6 as the OS. They handle an average load of 1,000-2,000 orders per second with peaks of over 5,000. On rare occasions it has gone to over 20,000 orders/second. They currently gets order latency at 1.5ms on average, whilst the trade latency is less than 3ms end to end, including real time pre-trade risk control. With Zing they see around a 10-20% improvement in the mean latency, increasing to around a 50% improvement at the 99th percentile.

The improvement is down to eliminating stop-the-world GC pauses. Based on the Azul C4 (Continuously Concurrent Compacting Collector) garbage collection algorithm the Zing collector improves application performance and removes barriers to Java scalability by eliminating pause times even at very large heap sizes. Using a combination of software techniques and hardware emulation features, the Azul garbage collector uses ‘concurrent compaction’ to allow applications to continue processing while remapping memory.

Another article describes the algorithim in a bit more detail. C4 uses a Loaded Value Barrier (LVB) to verify each heap reference as correct when loaded. Any heap references that point to relocated objects are caught and fixed in this self-healing barrier. C4 has a guaranteed single pass concurrent marker. The C4 collector also performs concurrent reference processing (including weak, soft and final references) and relocation and remapping are both concurrent. It also uses ‘quick release’ to make freed memory available quickly to the application and for the relocation of objects. This enables ‘hand over hand’ compaction that does not require empty memory to function.

Comment Re:Discussion TFA/TFS is perhaps a proxy for (Score 1) 61

Honestly it doesn't make that much difference these days. Spring and Java EE are both good choices. Java EE needs an app server but there are plenty of free options including Glassfish which is the reference implementation. I'd tend to choose Java EE over Spring because it is easier to "grow" as you need to in my opinion, and I don't think the learning curve is any bigger really. Plus the fact that it is backed by the major vendors means that if you need to tie into a banks MQ Series/CICS/whatever back-end it is that much easier to do. There is pretty much nothing you need to do in enterprise software that Java EE doesn't handle reasonably well with the possible exception of HFT - even in low latency environments Java is a pretty decent choice. 10 years ago I'd have gone the other way mainly because Spring was just so much simpler. These days Spring has got really kind of complex, the two more-or-less have feature parity, and Java EE has got simper, and they've kind of met in the middle. One downside of Java EE is the standard web framework - JSF. Whilst it has its uses for the most part there are simpler options for a "typical" architecture - JSON over REST being presented via JQuery. Spring MVC is a good choice, as is Struts 2.

Submission + - Apache Terminates Struts 1 (

twofishy writes: Struts 1, the venerable Java MVC Web framework, has reached End Of Life status, the Apache foundation has announced. In a sense, the move simply formalises what has already happened, as the Struts team have focused their efforts on version 2; the last release of Struts 1 was version 1.3.10 in December 2008. The change of status does mean however that, whilst the code and documentation will still be available, no further security patches or bug fixes will be issued.

Slashdot Top Deals

In the realm of scientific observation, luck is granted only to those who are prepared. - Louis Pasteur