Skip navigation the development of Java EE 7 has required reading lots of different posts about the different JSRs that are part of Java EE 7. On Wednesday, June 12 (or Thursday, depending on where you live), you'll have an opportunity to familiarize yourself with Java EE 7 in one sitting, by attending Introducing Java EE 7, a live global interactive webcast that will happen twice: at 9 AM Pacific Time (17:00 UT, June 12) and at 9 PM Pacific Time (05:00 UT, June 13). So, no matter where you live, you'll be awake for at least one of the webcasts.

The keynote address will include speakers from Oracle, IBM, Infosys, and Java User Groups (which have participated actively in Java EE 7 through the Adopt-a-JSRinitiative). The webcasts will also include hour-long interactive chats on the following topics:

  • Scalable, Dynamic HTML 5
  • Increasing Productivity
  • Meeting Enterprise Demands

In addition, 17 on-demand JSR breakout sessions that provide an overview of the key Java EE 7 features will be available. These breakout sessions will each be about 15-20 minutes long. The topics include:

  • JSON
  • WebSocket 1.0
  • JAX-RS 2
  • JSF 2.2
  • Servlet 3.1
  • Expression Language 3.0
  • Batch 1.0
  • Concurrency 1.0
  • JMS 2
  • JPA 2.1
  • Admin Console
  • EL 3.0
  • EJB 3.2
  • CDI 1.1
  • BV 1.1
  • JTA 1.2
  • Interceptors 1.2

You need to register for the webcasts in order to attend.

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can also subscribe to the Java Today RSS feedand the blogs feed.

-- Kevin Farnham (@kevin_farnham)

In the just-completed poll, most developers identified performance and scalability as being strong determinants of the success of the applications they develop. A total of 242 votes were cast in the poll. The exact question and results were:

How critical is performance/scalability to the success of the apps you develop?

  • 45% (110 votes) - Absolutely critical - we spend lots of time and effort tuning performance
  • 27% (66 votes) - It's important - profiling performance is part of our normal development process
  • 12% (29 votes) - We probably should allocate more time to performance issues
  • 7% (17 votes) - Performance doesn't matter that much for our apps
  • 7% (16 votes) - I don't know
  • 2% (4 votes) - Other

Summing the top three options yields 84% of the voters indicating that performance is important -- compared with only 7% who think they work on applications where performance doesn't matter that much. Of course, saying that "performance doesn't matter that much for our apps" actually implies that they already run fast enough to meet the needs of the users. Break that performance in a new release, and performance might suddenly matter quite a lot!

72% of the voters indicate that performance tuning and/or performance profiling are regular activities in the process of developing their apps, or new releases. The 12% who indicated that they probably should allocate more time to performance issues perhaps don't that right now due to their company wanting to put out new releases sooner.

It is somewhat risky, though, to put out a new release without being sure that a new modification or enhancement hasn't drastically undercut the application's performance. Having customers be the first ones to notice a performance problem typically does not produce a satisfying result.

In addition, it's one thing for a customer to discover an obscure bug, and another thing entirely if a new version performs poorly. A bug can typically be isolated, fixed, and a new software release can be quickly delivered. Diagnosing the cause of a previously unknown, serious performance issue is another thing entirely. It's typically not going to be a quick fix.

But, based on the results of this poll (which is, of course, not scientific), it sounds like a lot of developers understand the importance of monitoring and tuning performance. That's a good thing!

New poll: Java and the JVM 15 years from now...

Our current poll asks you to look into the future and tell us what you see... The poll asks: Will Java and other JVM languages still be widely used for new software development projects 15 years from now?. Voting will be open until Friday, June 7.

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can also subscribe to the Java Today RSS feedand the blogs feed.

-- Kevin Farnham (@kevin_farnham)

The results of the most recently completed poll suggest that awareness of the Adopt-a-JSReffort within the Java developer community continues to increase, albeit at a perhaps modest pace. Still, growing awareness is a strong positive for any long-term effort. And the Adopt-a-JSR program is certainly intended as a long-term effort in promoting and guiding the future of Java.

A total of 185 votes were cast in the poll. The exact question and results were:

How familiar are you with the Adopt-a-JSR program?

  • 15% (28 votes) - I participate in it
  • 21% (38 votes) - I know what it is, but I don't participate
  • 23% (42 votes) - I've heard of if, but don't know much about it
  • 38% (71 votes) - Never heard of it
  • 3% (6 votes) - Other

On the one hand, you could say "Aha! 'Never heard of it' received the most votes!" But, that's a bit misleading, since the first three options all represent gradations of familiarity with the Adopt-a-JSR effort. Summing up the voting for the first three options results in 59% of the voters expressing at least some familiarity with the Adopt-a-JSR effort (they've at least heard of it), whereas 38% of the voters said they'd never heard of Adopt-a-JSR.

But, then again, this poll drew a fairly small number of votes. If people aren't familiar with the topic of a poll, they're more likely to decide not to cast a vote at all. So, it would not be surprising if more than 38% of the Java developer community has never heard of the Adopt-a-JSR effort. In fact, if it was true 59% of the Java developer community actually has some awareness of Adopt-a-JSR (they've at least heard of it), that would undoubtedly be a cause for excitement among the core members of the Adopt-a-JSR effort!

Of course, the normal caveat applies: this is not a scientific poll... I doubt that 59% of the Java developer community has at least heard of Adopt-a-JSR. But, if anyone who hadn't previously heard of the Adopt-a-JSR program is reading this blog post, then that's one more developer helping us work toward that level of awareness...

The next -- and, of course, much more important -- step is to get involved in the Adopt-a-JSR program!

New poll: performance and the apps you develop

Our current poll asks How critical is performance/scalability to the success of the apps you develop?. Voting will be open until Friday, May 24.

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can also subscribe to the Java Today RSS feedand the blogs feed.

-- Kevin Farnham (@kevin_farnham) Thamura is a leader of JUG Indonesia, a Java Champion, an entrepreneur, and the founder of Meruvian. He has implemented the JEDI program in Indonesia under the goverment's Java education services JENI Project.

In this fourth "Lightning Interview" I asked Frans about starting and leading a Java User Group.


1. Why did you decide to start JUG Indonesia?

Frans: I posted an ad in the newspaper for a Java programmer, and the only person who replied was a telecenter operator who know only to run Windows. There were around 125 people in a mailing list called JavaJob. These became the first members of JUG Indonesia. Then in 3 months we had our first meeting, and around 500 people came! People wanted to know what Java is and learn. 10 years later, the situation is still same.

2. If someone wants to start a JUG, what obstacle that they might not think about in advance would you recommend that they prepare for?

Frans: They must think about the ecosystem and link the stakeholders, and manage conflicts between people who are interested in including vendors, especially multi-national companies like Oracle, IBM, Redhat.

3. Once a JUG has been started, it needs to acquire a core membership, and some corporate sponsorship is also quite beneficial. Do you have a few comments about sustaining and growing a JUG in relation to these areas?

Frans: Time and patience will bring good people, but first you must work to make a good program, to make sure that people who join are confident that this is the right community... If you do this, the rest is like a snow ball: just follow it, and boom, a big community is born. The next phase is to link with other communities. Your leadership will then become a contributor to those communities, and vice versa. Once that happens, your JUG will eventually sustain itself without a lot of contribution required from the original founder (which was needed at the start).

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can also subscribe to the Java Today RSS feedand the blogs feed.

-- Kevin Farnham (@kevin_farnham) Engels works for OptionsCity, which develops financial service platforms using Java. Their products include Freeway, a multi-asset algorithmic trading platform that won the 2012 Chicago Innovation Awards. Robert is the Chief Architect for Freeway development. If you're familiar with modern automated trading, you'll also be quite aware of the necessity to achieve maximal performance.

Building low-latency communications systems and large-scale information retrieval systems is something Robert's been doing for more than 25 years, working with a variety of Fortune 500 companies before he came to OptionsCity. Robert studied Computer Science and Mathematics at the University of Illinois, Champaign-Urbana.

In this third "Lightning Interview" I asked Robert about the Java performance tuning his team has implemented in Freeway.

1. Can you describe the performance you've attained for Freeway?

Robert: A really excellent example of the raw throughput, is that in "almost live" testing we are able to pump across the network to the exchange more than 75k quotes per second sustained, including the processing of all resulting market data, and quote/price generation. This is on fairly commodity server hardware, 2x6 core 3.2 Ghz with 1Gb ethernet. It's hard to judge real-world performance, as our customer's current needs are more than an order of magnitude lower. In our "low latency mode", the throughput is about half that, but the average response time to a single piece of market data is less than 30 microseconds.

2. What types of tweaking/tuning did you apply to Java to achieve this performance?

Robert: The major performance advances were obtained using lock-free data structures, and managing the thread priorities. When you are attempting to shave microseconds, the performance is greatly affected by memory cache hits, which is affected by cpu affinity. Modern linux kernels do a pretty good job of scheduling on their own, but for certain subsystems being able to assign cores to work can make a big difference.

3. Can you describe in more detail the single change that made the greatest difference in improving the performance?

Robert: Since most of our customers are more concerned with latency rather than throughput, a Linux 3.x kernel, coupled with realtime thread priorities makes all the difference. You just don't want low priority or housekeeping work to interrupt or delay your critical path. Lastly, I would be remiss if I didn't mention using the Azul Systems Zing JVM with its "pause-less garbage collector", Java GC pauses are killers in a low latency environment, and Zing does wonders here.


OptionsCity Director of Client Technology Freddy Guime told me that once in a while, Robert takes time off from performance tuning Java: "If Roberts's thinking linearly, he's probably on the golf course." But then again, who knows what Robert's reallythinking about as he's out on the course tuning his drives, approaches, chips, and putts?


Also: coming up on June 12 is the 2nd Annual Chicago Algorithmic Trading Conference, which is presented by OptionsCity. Last year's conference was certainly impressive (watch the video to see one of last year's sessions).

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can also subscribe to the Java Today RSS feedand the blogs feed.

-- Kevin Farnham (@kevin_farnham)

Filter Blog

By date: