Oracle, in partnership with IBM and Red Hat, has announced its intention to move Java EE technologies to the Eclipse Foundation, following the delivery and completion of Java EE 8. The Eclipse EE4J top level project charter has just recently been published. Attend this session to hear from representatives of Oracle, IBM, Red Hat, and the Eclipse Foundation on the status of the project, what to expect over the next three to six months, and how this will benefit the Java EE community. Come learn how you can participate.
Java & JDT
For years IBM has developed an independent implementation of the Java Virtual Machine which fostered rapid improvements in the Java ecosystem. IBM has open sourced language agnostic components such as JIT and GC technologies as part of the Eclipse OMR project. The next step in this evolution is open sourcing the rest of the J9 Java VM in the newly created Eclipse OpenJ9 project. Come to this session to learn about Eclipse OpenJ9, what it can do for your Java application's performance, how to try it out, and even how to build it yourself!
Java concurrency has evolved a lot from Java 1 to Java 9. Very sophisticated tools became part of the JDK providing developers with various design opportunities.
Still many of these tools and the underlying concepts are unknown to many of us.
In this talk I’m gonna show a brief overview about the evolution of concurrency tools and concepts findable in the JDK, explain some scenarios for the tools I recommend and show the new Reactive Streams concept coming up with Java 9.
Java SE 9 has just been announced with it's major feature of modularity, also known as Jigsaw. If you listen to Oracle, you would think that moving to this totally different JDK and JRE is as simple as writing your first "Hello World!" program. Depending on your application's needs, it may turn out to be this straight-forward. But, as we continue to experiment with this new Java SE 9 paradigm, we are discovering several hiccups, hurdles, and surprises.
Are you tired of null pointer exceptions, unwanted side effects, SQL injections, broken regular expressions, concurrency errors, mistaken equality tests, and other runtime errors that appear during testing or in the field? Do you wonder why every production code base needs its own implementation of money and currency types, physical units, or string processing? Aren’t all these simply indicators for missing features in Java’s typesystem? Turns out they are. And even better: Annotation processing to the rescue - there is a standardized way to fix it!
The JDT team is dedicated to delivering full support for Java™ 9 right when the new version is released, just as we did for every version. In this session we will share some of the things we learned while working from an evolving specification. We will also discuss the impact of this new version specifically on tool-smithing for Java.
We’ve been successfully using annotation based null analysis for more than 5 years on a code base that is now more than 15 years old. In this talk I’d like to share our experiences and give some details on how we use them in practice.
Writing code only comes second when talking about the developer work. The main and first task is reading and debugging. For that purpose, the Eclipse Java development tools are wonderful. Its most powerful tools are often unknown though. This talk will help you unleash this power and help you debug your Java code like a pro. The talk will also cover the new debugging features coming with Eclipse 4.8 (code name Oxygen, released last June). So, even if you're an experienced Java programmer, you will learn some tips and tricks.
Writing good code is the most important task of software development and this does not complete without debugging and fixing bugs. The Eclipse Java IDE provides many debugging tools and views for users to debug effectively and efficiently. Eclipse users spend a lot of time in debugging code and every new debugging feature in Eclipse helps the users to be productive in fixing bugs. Debugging in Eclipse Platform and JDT is continuously evolving to provide tooling which can help users debug complex scenarios and spend less time in routine tasks.