Friday Apr 12, 2013

OpenJDK Governing Board Elects At-Large Members

The OpenJDK Governing Board, which oversees the structure and operation of the OpenJDK Community, has elected two At-Large Members: Andrew Haley and Doug Lea. Both were previously serving as at At-Large members and began new one-year terms on April 1.

Andrew Haley, of Red Hat, wrote in his candidate statement that his goal is to “stand up for freedom and steer the governing board toward helping people who crank out code to get their job done.”

Lea, of SUNY Oswego, wrote that he hoped “to continue my role as an advocate for continuing improvements in OpenJDK processes and mechanisms, especially as they impact the academic, research, and individual contributor communities.”

The OpenJDK Governing Board oversees the structure and operation of the OpenJDK Community. It has two At-Large Members who serve for a term of one calendar year, nominally starting on the first day of April each year.

Thursday Mar 07, 2013

OpenJDK Test Fest and Devoxx UK

The London Java user group is organizing the first Test Fest on March 23rd in London with the collaboration of Oracle and IBM. "Contributors to OpenJDK need to be confident that their changes are sound and do not cause problems elsewhere." explains event host Martijn Verburg. Many test cases are already available but each application has different characteristics, environment and other attributes. The goal is to provide a larger and more comprehensive series of tests for Open JDK. 

If you cannot attend this event, the organizers and some of the guest presenters from Oracle and IBM - among them Oracle engineer Stuart Marks - will be at Devoxx UK starting Monday evening until Thursday (from March 25th until the 27th). Stuart Marks will present a Bird-of-a-Feather (BoF) session about "the testing of OpenJDK" on Tuesday, March 26th at 8:00pm and Martijn Verburg will talk about OpenJDK Hack Session Tuesday evening at 8:00pm and 9:00pm. Don't forget to register for Devoxx UK!

Additional online resources: Collaborate with the OpenJDK Quality team Online information FAQ


Thursday Feb 28, 2013

Java Tsunami on the Thames

London prepares for a surge of developer brainpower during the Devoxx UK conference on Tuesday and Wednesday, March 26th and 27th. Meet & Greet, global Java community, and Hackergarten are nice add-ons. Don't miss it - Register today

The fun really starts on Monday evening with an attendee Meet & Greet where attendees can relax, grab a drink and something to eat and, of course, meet fellow attendees and the speakers. 

In addition to U.K speakers, many international guests are scheduled, notably from the US. Twenty-eight user groups from across Europe are attending too. A veritable army of experts will be on hand to share their expertise with Devoxx attendees.  

Hackergarten takes place during the conference. There's no time limit; participants can stay and code for as long as they want. Just bring a laptop and write a plugin, a tutorial, a small feature, or a bug fix for a project that interests you alongside several open-source experts willing to share their knowledge. The organizers of two community projects called Adopt-a-JSR and Adopt Open JDK will be there to explain how to contribute to the future Java releases. 

Monday Feb 04, 2013

FOSDEM 2013



The annual Free Open-Source Developers' European Meeting took place last weekend in Belgium. The free event brought together 5,000 hackers from the open source community. There were 477 speakers and 488 sessions with a mix of keynotes, lightning talks, certification exams and developer rooms talks.


Tasha Carl, Java architect and the leader of the Brussels Java user group, wrote a blog about FOSDEM and the Free Java developer room. She mentioned Java talks and posted pictures making you feel as if you were there. "The Free Java dev room at FOSDEM is since many years the biggest OpenJDK meet-up around. You can not only see, but really high-five celebrities like – this year – Mark Reinhold, Chief Architect of the Java Platform Group at Oracle, Sean Coffey, Oracle JDK engineer and maintainer of OpenJDK 7u, Steve Poole, developer and evangelist working since ever  for IBM on the JVM, Simon Phipps, Andrew Haley, Charles Nutter, JRuby lead developer speaking about InvokeDynamic,…" she commented.


In another blog, Mani mentioned that "the OpenJDK topic has got massive coverage with 17 speakers, speaking and holding events covering various topics." Java community leaders including Martijn Verburg and Ben Evans were involved in the Java track. In addition to Brussels JUG, members of LJC JUG, CEJUG and others participated at the event.


In her blog, Heather VanCura shares the Java Community Process (JCP) presentation titled "JCP State of the Nation and Future Directions," as well as links to JCP.Next and the community program Adopt-a-JSR programs.


Friday Feb 01, 2013

The JCP Evolution!

Recent changes to the Java Community Process (JCP) program "focus on the way the organization itself is structured and organized" explained Patrick in this interview.  The changes will result from the implementation of three Java Specification Requests (JSRs). The first JSR, the JSR 348, makes the process more open and transparent to facilitate developers' participation. It was released a year ago and Heather witnessed increased transparency in projects,  additional participation and a simplified release process. "They are using public issue trackers and public discussion alias on projects. More people from the community are commenting and participating in the JSRs. The process of releasing final and maintenance releases is more agile," she commented.

She explained the different options for developers' participation in the JCP. Java user groups may become JCP members at no charge and contribute as a group. Individuals and user groups can contribute to the community initiative Adopt-A-JSR. Developers can give feedback on the transparency of a JSR process. Individuals, corporations and non-profit organizations (JUGs for example) can join the JCP. They then can comment on specs, join an expert group and become a spec lead





Information about the JCP program is available at jcp.org. Watch the recent presentation about Adopt-a-JSR with Martin Verburg and Java EE 7 JSR projects with Arun Gupta

Wednesday Jan 30, 2013

Nashorn, the JavaScript Implementation in Java 8

In this Interview, Marcus Lagergren, who works on the dynamic language team at Oracle, discussed the Nashorn project.  "Nashorn is the JavaScript runtime based on InvokeDynamic for the Java Virtual Machine (JVM)" he explains. The Nashorn project is now part of the OpenJDK

The performance is much better than its predecessor Rhino. "We totally blow it out of the water now that we have specific tools to run other things than Java on the JVM." Marcus commented. "The pluggability between JavaScript and Java is another good thing" he added.

His Devoxx talk about Nashorn is now freely accessible at Nashorn - implementing dynamic languages on the JVM
Marcus Lagergren's twitter handle is @lagergren. Nashorn blog has the latest on the project

Thursday Jan 24, 2013

OpenJDK, Adopt-A-JSR and Adopt OpenJDK Projects!

In two interviews, Martijn Verburg, leaders of the London Java user group and Cecilia Borg, Project Manager at Oracle explain the OpenJDK and two community projects Adopt-a-JSR and Adopt OpenJDK.  

"The Java Platform is huge and, to a lot of people, it is too big" explained Cecilia. "OpenJDK is divided into 22 different groups and 40 different projects to make it easy to participate." She recommends starting small by "subscribing to one of the mailing lists at openjdk.java.net" and contributing small bug fixes, for example.  It is important that contributors learn as much as possible and pick a project that feels right for them.


"The idea of Adopt-a-JSR is to have ordinary Java developers get involved with the creation of standards" indicates Martijn.  "Adopt-a-JSR is about Java EE and ME standards."  "The work on the Java language and the JVM is done as part of OpenJDK and Adopt OpenJDK projects," Verburg continues. He outlines how to start on those projects. Contributors can be individuals but also JUG leaders, who organize coding events to work on Java standards. 

Sunday Sep 30, 2012

The Java Specialist: An Interview with Java Champion Heinz Kabutz

Dr. Heinz Kabutz is well known for his Java Specialists’ Newsletter, initiated in November 2000, where he displays his acute grasp of the intricacies of the Java platform for an estimated 70,000 readers; for his work as a consultant; and for his workshops and trainings at his home on the Island of Crete where he has lived since 2006 -- where he is known to curl up on the beach with his laptop to hack away, in between dips in the Mediterranean.

Kabutz was born of German parents and raised in Cape Town, South Africa, where he developed a love of programming in junior high school through his explorations on a ZX Spectrum computer. He received a B.S. from the University of Cape Town, and at 25, a Ph.D., both in computer science.

He will be leading a two-hour hands-on lab session, HOL6500 – “Finding and Solving Java Deadlocks,” at this year’s JavaOne that will explore what causes deadlocks and how to solve them.

Q: Tell us about your JavaOne plans.

A: I am arriving on Sunday evening and have just one hands-on-lab to do on Monday morning. This is the first time that a non-Oracle team is doing a HOL at JavaOne under Oracle's stewardship and we are all a bit nervous about how it will turn out. Oracle has been immensely helpful in getting us set up. I have a great team helping me: Kirk Pepperdine, Dario Laverde, Benjamin Evans and Martijn Verburg from jClarity, Nathan Reynolds from Oracle, Henri Tremblay of OCTO Technology and Jeff Genender of Savoir Technologies.

Monday will be hard work, but after that, I will hopefully get to network with fellow Java experts, attend interesting sessions and just enjoy San Francisco. Oh, and my kids have already given me a shopping list of things to get, like a GoPro Hero 2 dive housing for shooting those nice videos of Crete. (That's me at the beginning diving down.)

Q: What sessions are you attending that we should know about?

A: Sometimes the most unusual sessions are the best. I avoid the "big names". They often are spread too thin with all their sessions, which makes it difficult for them to deliver what I would consider deep content. I also avoid entertainers who might be good at presenting but who do not say that much.

In 2010, I attended a session by Vladimir Yaroslavskiy where he talked about sorting. Although he struggled to speak English, what he had to say was spectacular. There was hardly anybody in the room, having not heard of Vladimir before. To me that was the highlight of 2010. Funnily enough, he was supposed to speak with Joshua Bloch, but if you remember, Google cancelled. If Bloch has been there, the room would have been packed to capacity.

Q: Give us an update on the Java Specialists’ Newsletter.

A: The Java Specialists' Newsletter continues being read by an elite audience around the world. The apostrophe in the name is significant.  It is a newsletter for Java specialists. When I started it twelve years ago, I was trying to find non-obvious things in Java to write about. Things that would be interesting to an advanced audience.

As an April Fool's joke, I told my readers in Issue 44 that subscribing would remain free, but that they would have to pay US$5 to US$7 depending on their geographical location. I received quite a few angry emails from that one. I would have not earned that much from unsubscriptions. Most readers stay for a very long time.

After Oracle bought Sun, the Java community held its breath for about two years whilst Oracle was figuring out what to do with Java. For a while, we were quite concerned that there was not much progress shown by Oracle. My newsletter still continued, but it was quite difficult finding new things to write about. We have probably about 70,000 readers, which is quite a small number for a Java publication. However, our readers are the top in the Java industry. So I don't mind having "only" 70000 readers, as long as they are the top 0.7%.

Java concurrency is a very important topic that programmers think they should know about, but often neglect to fully understand. I continued writing about that and made some interesting discoveries. For example, in Issue 165, I showed how we can get thread starvation with the ReadWriteLock. This was a bug in Java 5, which was corrected in Java 6, but perhaps a bit too much. Whereas we could get starvation of writers in Java 5, in Java 6 we could now get starvation of readers. All of these interesting findings make their way into my courseware to help companies avoid these pitfalls.

Another interesting discovery was how polymorphism works in the Server HotSpot compiler in Issue 157 and Issue 158. HotSpot can inline methods from interfaces that have only one implementation class in the JVM. When a new subclass is instantiated and called for the first time, the JVM will undo the previous optimization and re-optimize differently.

Here is a little memory puzzle for your readers:

public class JavaMemoryPuzzle {
  private final int dataSize =
      (int) (Runtime.getRuntime().maxMemory() * 0.6);

  public void f() {
    {
      byte[] data = new byte[dataSize];
    }
    byte[] data2 = new byte[dataSize];
  }

  public static void main(String[] args) {
    JavaMemoryPuzzle jmp = new JavaMemoryPuzzle();
    jmp.f();
  }
}


When you run this you will always get an OutOfMemoryError, even though the local variable data is no longer visible outside of the code block.

So here comes the puzzle, that I'd like you to ponder a bit. If you very politely ask the VM to release memory, then you don't get an OutOfMemoryError:

public class JavaMemoryPuzzlePolite {
  private final int dataSize =
      (int) (Runtime.getRuntime().maxMemory() * 0.6);

  public void f() {
    {
      byte[] data = new byte[dataSize];
    }

    for(int i=0; i<10; i++) {
      System.out.println("Please be so kind and release memory");
    }
    byte[] data2 = new byte[dataSize];
  }

  public static void main(String[] args) {
    JavaMemoryPuzzlePolite jmp = new JavaMemoryPuzzlePolite();
    jmp.f();
    System.out.println("No OutOfMemoryError");
  }
}


Why does this work? When I published this in my newsletter, I received over 400 emails from excited readers around the world, most of whom sent me the wrong explanation. After the 300th wrong answer, my replies became unfortunately a bit curt. Have a look at Issue 174 for a detailed explanation, but before you do, put on your thinking caps and try to figure it out yourself.

Q: What do you think Java developers should know that they currently do not know?

A: They should definitely get to know more about concurrency. It is a tough subject that most programmers try to avoid. Unfortunately we do come in contact with it. And when we do, we need to know how to protect ourselves and how to solve tricky system errors.

Knowing your IDE is also useful. Most IDEs have a ton of shortcuts, which can make you a lot more productive in moving code around. Another thing that is useful is being able to read GC logs. Kirk Pepperdine has a great talk at JavaOne that I can recommend if you want to learn more. It's this: CON5405 – “Are Your Garbage Collection Logs Speaking to You?”

Q: What are you looking forward to in Java 8?

A: I'm quite excited about lambdas, though I must confess that I have not studied them in detail yet. Maurice Naftalin's Lambda FAQ is quite a good start to document what you can do with them. I'm looking forward to finding all the interesting bugs that we will now get due to lambdas obscuring what is really going on underneath, just like we had with generics.

I am quite impressed with what the team at Oracle did with OpenJDK's performance. A lot of the benchmarks now run faster.

Hopefully Java 8 will come with JSR 310, the Date and Time API. It still boggles my mind that such an important API has been left out in the cold for so long.

What I am not looking forward to is losing perm space. Even though some systems run out of perm space, at least the problem is contained and they usually manage to work around it. In most cases, this is due to a memory leak in that region of memory. Once they bundle perm space with the old generation, I predict that memory leaks in perm space will be harder to find. More contracts for us, but also more pain for our customers.

Originally published on blogs.oracle.com/javaone.

Thursday Jan 19, 2012

A File I/O Tutorial Featuring NIO.2

A tutorial on the front page of otn/java titled “A File I/O Tutorial Featuring NIO.2” explains the new file I/O mechanism introduced in the Java 7 release. The java.nio.file package and its related package, java.nio.file.attribute, provide comprehensive support for file I/O and for accessing the default file system. Though the API has many classes, developers need only focus on a few key entry points. The tutorial makes it clear that the API is intuitive and easy to use.

The tutorial begins by asking, “What is a path?” and then introduces the Path class, which is the primary entry point for the package. It explains Methods in the Path class related to syntactic operations and moves on to the other primary class in the package, the Files class, which contains methods related to file operations. It then introduces some concepts common to many file operations and explains methods for checking, deleting, copying, and moving files.

The tutorial offers a concise summary of the API with suggestions for further learning.

“The java.nio.file package provides extensive support for file and file system I/O. This is a very comprehensive API, but the key entry points are as follows:
•    The Path class has methods for manipulating a path.
•    The Files class has methods for file operations, such as moving, copy, deleting, and also methods for retrieving and  setting file attributes.
•    The FileSystem class has a variety of methods for obtaining information about the file system.”

More information on NIO.2 can be found on the OpenJDK: NIO project website on java.net. This site includes resources for features provided by NIO.2 that are beyond the scope of this tutorial, such as multicasting, asynchronous I/O, and creating your own file system implementation.


Read the complete article here.

Tuesday Oct 18, 2011

"Looking Back on JavaOne 2011" feature article

A JavaOne “afterglow” article, “Looking Back on JavaOne 2011” is up on otn/java. The article reviews the spirit, highlights, and feel of the 2011 JavaOne Conference.

From the article itself:

“It was at times difficult to take in all that has been achieved in the last year. The announcements at this year’s JavaOne came fast and furious -- the summer release of JDK 7 (including preview release for Mac OS X), the debut of JavaFX 2.0 (Oracle’s premier development environment for rich client applications), and ongoing progress on Java EE 7 (including taking Java EE into the Cloud). Meanwhile, at Monday’s Technical Keynote, it was pointed out that there are now 5 billion Java Cards in the world --contrasted with a global population of 6.5 billion. And then Tuesday’s Strategy Keynote brought Oracle’s announcement that it will open source JavaFX -- first the components, and then the rest of the framework -- as soon as there is approval from the OpenJDK community. And all the while, the OpenJDK community continues to grow, with recent members including IBM, Apple, SAP, and Twitter.”

Read the complete article.

About

Insider News from the Java Team at Oracle!

duke
javeone logo
Links


Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
2
5
6
7
12
13
17
18
19
20
22
25
26
27
28
29
30
   
       
Today