Main Menu

java.net Spotlight

The March/April issue of Java Magazine jam-packed with information to get you started with Java SE 8, a revolutionary release of the world’s #1 development platform. The biggest change in Java SE 8—what some have called the most significant upgrade to the Java programming language ever—is lambda expressions, or closures. In “Java 8: Explore the Possibilities,” we give you an overview of lambdas, the Nashorn JavaScript engine, Compact Profiles, the new date and time API, the role of community, and more...

The Java™ platform provides excellent support for concurrent programming in all JVM-based languages. Scala extends the concurrency support in the Java language with even more ways to share work among processors and coordinate the results. This first article in a new series on JVM concurrency covers the state of the art in concurrent programming in Java 7 and introduces some of the Scala enhancements. The article also helps prepare the way for understanding concurrency features in Java 8...

JAXenter met with Régis Latawiec, COO of embedded systems solutions providers IS2T, at embedded world this spring to discuss, among other things, the evolution of embedded technology, why Java was their language of choice for in-device software solutions, and what the company envisions for the future of the IoT...

JFXtras has a TimePicker that uses a number of Sliders to represent hours, minutes and seconds. And even though this is functionally an OK user interface, it is visually not very appealing. Recently I changed my phone and ran into this Android TimePicker. Basically the hour picker consists of two round sliders, but I find it visually much more appealing than my slider UI. So I set out to create something similar...

The big news at the latest edition of EclipseCon North America, which wrapped up in San Francisco on Thursday, was Oracle's Java 8 announcements. The conference planners devoted an entire day at the show to Java 8 (George Saab's opening presentation on "Java Day" was standing room only). The Foundation itself is providing Java 8 language support as an add-on to the Eclipse IDE...

To celebrate the release of Java 8 which was released just minutes ago, I am publishing a draft version of my Java 8 Lambdas Tutorial. It is a nice visual way to learn the Streams API, and will help you get started taking advantage of lambdas in your own applications from day 1. This article is scheduled to appear in the next Java Magazine release, so please look forward to the final version...

Two years, seven months, and eighteen days after the release of JDK 7, production-ready builds of JDK 8 are now available for download! Thanks! A major new release of a software system as large as the JDK is the direct work of many hundreds of developers, with indirect contributions from thousands more. By way of thanks I’d like to mention the major contributors here specifically...

This is a good time to consider new options for a “native interconnect” between code managed by the JVM and APIs for libraries not managed by the JVM. Notably, Charles Nutter has followed up on his JVM Language Summit talk (video on this page) by proposing JEP 191, to provide a new foreign function interface for Java. To access native data formats (and/or native-like ones inside the JVM), there are several projects under way including...

Someone once said that: Junior programmers think concurrency is hard. Experienced programmers think concurrency is easy. Senior programmers think concurrency is hard.That is quite true. But on the bright side, Java 8 will at least improve things by making it easier to write concurrent code with lambdas and the many improved APIs. Let’s have a closer look...

This time of the year. Finally. It was about time. The 2014 JavaOne Call-For-Papers opened a few days back. And it is going to be a great one. Plenty of changes upcoming and it will have a huge focus on community speakers. The rolling acceptance process from last year is back, so submit early! There is a new dedicated track for Agile development this year, making a total of nine Java tracks. This year's tracks are...

The long awaited, much anticipated release of Java SE 8 is nearly upon us. March 18th is the official release date, though numerous "launches" and other events will follow. A lot of work went into this release, with contributions coming from many quarters -- including Java User Groups (JUGs) around the world who participated in the Adopt-a-JSR program. The Java Community Process (JCP), which manages the development of standard technical specifications for Java technology, launched the program in December 2011...

JSR 337 which defines the content of Java SE 8 is now Final! That means that Java 8 is about to be released. Over the coming months, a lot of events will take place across the globe to celebrate this important release. Here's a recap of the initial Java 8 events that are taking place over the next 2 weeks. NightHacking Java 8 Tour (March 11th - Apr 19th); Java 8 Day at EclipseCon (March 18th - San Francisco)...

As many of you are aware, we have been running the Java EE 8 survey as a way to solidly kick start the next round of standardization for the platform. We would now like to wrap up the survey and move on to the next logical steps. To that end, we will be closing the third and final part of the survey in the next two weeks (specifically on Monday the 24th, midnight Pacific time). If you still have not filled out the survey, please do now: glassfish.org/survey...

February was a busy month with all of the preparations for the upcoming Java 8 release in March. The four new JSRs being developed through the JCP for the Java SE 8 Platform, have completed their JCP Executive Committee (EC) Final Approval Ballots and published their Final Release milestones. Java SE Final Releases: JSR 308, Annotations on Java Types; JSR 310, Date and Time API; JSR 335, Lambda Expressions for the Java Programming Language...

Recently, we released Early Access #2 versions of Java ME 8 and Java ME SDK 8. As expected... there are still bugs and deficiencies and we have been busy fixing them … many are already taken care of. In order to enable the developer community to follow along and benefit from the latest improvements and fixes we decided to provide semi-regular developer drops alongside the Early Access #2 release...

It's that special time of the year again - the JavaOne 2014 call for papers is now officially open! JavaOne will be held September 28 - October 2 in San Francisco. You can read about the details and submit here... This year, I have the privilege to lead the Java EE track along with Lance Andersen. Please do consider this a personal invitation from me to submit your best ideas to one of the most prestigious gatherings of the minds for server-side Java...

It’s time for another ControlsFX release, this time taking the version number to 8.0.5. As always, ignore the minor version increment – this is a massive release. This release has new controls and a number of bug fixes, so it is recommended that everyone upgrade as soon as possible. As per usual, the latest version is always available in maven central and you can download the release directly from the ControlsFX website...

Show the world your embedded Java + Internet of Things (IoT) application for a chance to win a trip to JavaOne 2014! 12 winners will receive a trip to JavaOne 2014, the #1 place to meet world-renowned Java experts. In addition, six students will receive laptops and certification vouchers. Team up and submit the video and code of your project by May 30, 2014. Don't know how to start? We are providing eight free online training sessions in March and April...

Memory mapped files are a good and often overlooked tool. I won’t go into the details here on how they work, but I will quickly summarize their advantages: lazy loading and write caching provided by the OS (you don’t have to write your own and it’s a safe bet that the OS’s one is well performing); easy reading for complicated binary data (for example one which has all kind of relative offsets encoded in it); can be used as a very high performance IPC mechanism...

Early Access builds of JDK 7u60 have been updated with Build b07. This build updates HotSpot in JDK 7u60 to HotSpot 24.60 build 09, updates time zone support data to tzdata2013i, and fixes various issues, one of which was reported by Groovy developers - thanks! If you find issues during your own testing of this build, please report a bug...

The results of our recent Java EE 8 Community Survey are in! As we promised earlier, the final phase of this outreach is an opportunity for you to let us know your priorities among the most frequently requested of the features from the surveys... So today, we are launching the final survey (intelligently named 'Part 3'). The idea is very simple, we are granting you a budget of 100 points to tell us which proposed improvement(s) you think is (are) important...

If the following method thread-safe? How to make it thread-safe?... ... This post explains a general interview question that has been asked by Google and a lot of companies. It’s low-level and not about how to design concurrent program. First of all, the answer is NO. The method is not thread-safe, because the counter++ operation is not atomic, which means...

One of the common questions asked during my #JavaEE7 presentations around the world is how do WebSockets compare with REST ? First of all, REST is a style of architecture so what really people mean is RESTful HTTP. As an architecture cannot be compared with a technology. But the term is so loosely used that they are used in place of each other commonly. Lets start with a one line definition for WebSocket …

During this blog post I will reveal the two most important reasons why I write automated tests... Automated tests prove that my code works in the future as well. Manual testing only proves that my code worked when I tested it. Automated tests document the expected behavior of my code. This is extremely valuable information for the developer who has to maintain the application...

The JavaScript folks often abuse anonymous functions to create local scope. Like any other language feature, this can be abused, but in some contexts, local scoping is really awesome. Java also allows for local scoping, although until Java 8, this has been equally cumbersome...

Jersey is the excellent Java JAX-RS specification reference implementation from Oracle. Last year, when we were starting to build RESTful backend web services for a high-volume website, we chose to use the JAX-RS API as our REST framework and Spring framework for dependency injection. Jersey was our JAX-RS implementation of choice...

Ready to dive into the Internet of Things? Take the new, free, online course "Develop Java Embedded Applications Using a Raspberry Pi." The Oracle Learning Library has created this course which provides code, examples, and experts to teach you and answer your questions. Java experts Stephen Chin, Jim Weaver, Simon Ritter, Angela Caicedo, and Tom McGinn will lead you through basic exercises...

The difference between Stress and Load Testing is already clearly defined by wikipedia. Stress testing (sometimes called torture testing) is a form of deliberately intense or thorough testing used to determine the stability of a given system or entity. It involves testing beyond normal operational capacity, often to a breaking point, in order to observe the results...

Today we’re announcing new update releases: Oracle Java ME Embedded 8 Early Access #2 and Oracle Java ME SDK 8 Early Access #2. These releases are designed to continue to drive Java ME 8 momentum in the industry by giving the community access to the latest Java ME 8 functionality and to demonstrate Oracle’s commitment to delivering Java ME 8 as a modern and purpose-built embedded software platform that addresses...

Querydsl is a framework that allows us to create elegant, type-safe queries for a variety of different data-sources like Java Persistence API (JPA) entities, Java Data Objects (JDO), mongoDB with Morphia, SQL, Hibernate Search up to Lucene. In the following tutorial we’re implementing example queries for different environments...