Eclipse JDT & Java 9 - The Story so far.
Java 9 introduces a major enhancement for modularity that helps define modules - The modular structure brings out a new paradigm shift in the way the programmer would program. From the perspective of JDT and its friends, this change means a relook at the existing concepts - starting from Java Model, through other core pillars of JDT. With the inputs from the EclipseConNA 2016, the JDT core is undergoing a change to incorporate these change both conceptually and at the core implementation level. In this talk, we will provide a brief introduction to the Java 9, especially to those parts which affect JDT, we would also "redefine" some of the concepts in the Java Model, and then we will talk about the challenges faced and the solutions provided in JDT as a whole for Java 9.
Outline/Structure of the Talk
- Introduction to Java 9 concepts with emphasis on those parts affecting JDT.
- Concept Changes - Project Vs Module
- How each of JDT submodules change to incorporate Java 9 changes -
- Challenges faced.
- Java 9 Migration Path
- Demo.
Learning Outcome
- Java 9 Modularity concepts.
- Project Vs Module concepts
- Java 9 Migration path
Target Audience
Current and future users of Java 9 using Eclipse.
schedule Submitted 5 years ago
People who liked this proposal, also liked:
-
keyboard_arrow_down
Vidyasagar Machupalli - Build, run and manage MobileFirst apps using Eclipse
45 Mins
Talk
Beginner
IBM MobileFirst Platform enables developers/enterprises to build, enhance and continuously deliver mobile apps more efficiently. It can be used on premises environment or as a cloud offering.
IBM MobileFirst Platform Studio (previously Worklight Studio), for eclipse is an award-winning, open standard mobile application platform for smartphones and tablets that helps you efficiently build, run, and manage mobile applications.In this talk, we will demo MobileFirst Studio, which is an Eclipse plug-in that supports the development of rich, mobile web, native, and hybrid apps. It contains an embedded version of MobileFirst Server.
-
keyboard_arrow_down
Sergey Prigogin - Faster index for Java, from crazy idea to reality
45 Mins
Talk
Beginner
Did you ever have to cancel Open Type dialog because you didn't have time to wait for the search indices to initialize? Does slowness of populating the Call Hierarchy view annoy you? We suspect that for the majority of Eclipse Java users the answer to these questions is yes.
The proposed solution to these and many other JDT sluggishness problems is a new index containing an order of magnitude more information about Java code than the old JDT indexes and caches. The technology chosen for the new, faster JDT index is heavily influenced by the CDT index that has been in use for almost a decade and proved to be very efficient and flexible. CDT borrowed a lot of code and ideas from JDT. Now it's time to pay back.
Come to this talk to learn about the design of the new index and to see how it makes JDT blazingly fast.
-
keyboard_arrow_down
Allahbaksh Asadullah / Avitash Purohit - Java 9 a boon to Enterprises
Allahbaksh AsadullahPrincipal Product ArchitectCorp Tech, InfosysAvitash PurohitTeam LeadLitmus World Marketing Technologies Pvt. Ltd.schedule 4 years ago
45 Mins
Talk
Intermediate
Java is the language of choice in enterprises. Many of the large software systems are built using Java. The key reason for Java being language of choice was the tool support, robust JVM, statically typed language and modularity. Modularity is one of the key aspects of the design. Eclipse (built on Java) is the wonderful example of a modular software system based on OSGi specification (Equinox). Project Jigsaw which is umbrella project is aimed to design and develop a standard module system which is compatible with OSGi. Brining modularity within the platform will add many improvement and will also provide the ability to run it down to small devices. Jigsaw has been one of the major features of JDK 9.0. The talk will cover details of project Jigsaw.
Java is mostly used presently at server side. Improvement in the server side processing and ability to evolve with the new specification and protocol would boost the performance. HTTP/2 which is the latest specification makes use of streams. Java 9 brings native support of HTTP/2.
Java has been a programming language of choice for many years in academia, till the less verbosity, better interpreters and tools for JavaScript, Python evolved. The language evolved a bit 2014 with the introduction of Lambda in Java 8, which provided less verbosity. Still the absence of Read-Eva-Print Loop (REPL) moved the academia to embrace python as the language of choice for teaching problem solving to the students. Java 9 is bringing jShell which provides REPL functionality in Java 9.
-
keyboard_arrow_down
G Bhanu Prakash - JDK-9 - Modules and Java Linker (JLink)
45 Mins
Talk
Intermediate
Java 9 is going to provide several developer tools which complement the modular system and enhance developer productivity.
I plan to give overview of new Java Linker tool that would assist in creating a modular Java runtime. "jlink" assembles and optimizes a set of modules and their dependencies and "jmod" for creating modular packages with class files and resources. "jimage" which is 5x more performant than zip or jar formats.
I plan to give interactive session in how to create a modular JDK image with specified root modules using jlink. Describe the plugin api for extension using custom modules.
I shall give insights on tools usage and internals which would help developers in decision making along with benchmark results.
-
keyboard_arrow_down
Nadeesh TV - Invokedynamic under the hood
45 Mins
Talk
Intermediate
To exploit the cross platform nature and powerfulness of the JVM, most of the nonJava programming languages (python, ruby, clojure etc) had ported themselves to run on JVM. But performance of these nonJava languages were poor compared to their nonJVM version. Java 7 introduced a new byte code instruction invokedynamic (indy) to support dynamic languages running on the JVM. The
invokedynamic
instruction simplifies and potentially improves implementations of compilers and runtime systems for dynamic languages on the JVM. Later in Java 8, indy became the backbone of the Java 8's most popular feature lambda expression. -
keyboard_arrow_down
Vaibhav Choudhary - Welcoming G1 Garbage Collector With Eclipse
45 Mins
Talk
Intermediate
Java Platforms team is all set for JDK9 release. I am associated with G1 from last 6 years. Finally G1 is a default collector in JDK9. From 2009, G1 has improved a lot and the bench-marking says its the best we can offer :). Eclipse gives a very beautiful view of G1 in working.
-
keyboard_arrow_down
Sravan Kumar Lakkimsetti - Release Engineering at Eclipse
Sravan Kumar LakkimsettiAdvisory Software EngineerCommitter, Eclipse SWT and Releng (IBM)schedule 5 years ago
20 Mins
Talk
Intermediate
Have you ever wondered how the results automatically appear in the website? This talk will take you through this journey from the code to the results –the multi-stage, multi-tech release engineering process internals.
There two different streams producing three different regular builds ( not taking into account the special P and Y) with the final bits running four different platforms making it a gruesome 32 hour journey optimized by parallelization. This process has four pipelined stages, with each stage driven by separate owners – one of them being Maven-Tycho configuration and the rest being a combination of shell Scripts, Ant, Junit in sync with multiple Hudson servers (HIPP).
To give a peek into the stages : The first stage has private as well as publicly visible parts, using two stage cloning with bare bones and normal git repos owned by Scripts. Second Stage, owned by Maven-Tycho, is responsible for three maven-tycho builds. This output feeds into the next phase, owned by shell-scripts, which does a few things resulting in a transient pseudo-private download zone which again feeds into the last stage owned by Hudson-Ant-Junit Config and is responsible for actual firing of the tests in multiple platforms. Finally you have the publicly viewable html based downloads and results.
-
keyboard_arrow_down
Pradeep Balachandran - Cloud development using Eclipse
20 Mins
Demonstration
Intermediate
Eclipse IDE is ubiquitous and the IDE of choice for application development no matter whether you are developing in Java/JEE or Python or Ruby or PHP - Eclipse IDE has a flavour that suits your taste. In recent times, the landscape of applications have undergone a significant change. More and more applications are developed by composing services and are deployed on specialized "Cloud" environments known as "Platform as a Service" - PaaS for short.
In this talk, we take a look at the various tools available in Eclipse Open Source ecosystem for developing applications for the cloud environment. We will traverse the journey of an app from conception to deployment. We will cover an online store application as an example. This talk will cover the tools that are best suited for each phase of the application development life-cycle - planning, work break down, coding, building and deployment. The tools include Eclipse Orion, Eclipse Tools for Cloud Foundry, Eclipse Tools for Bluemix, GitHub. We will also look at enabling continuous deployment using this tool set - practicing DevOps in true sense.
-
keyboard_arrow_down
Noopur Gupta - Mastering your Eclipse IDE - Tips, Tricks, Java 8 tooling & More!
45 Mins
Demonstration
Beginner
The Eclipse IDE provides a lot of powerful features and capabilities. With so much functionality at your disposal, many users don't use the full potential of the IDE. To be most productive, mastering your IDE is as important as mastering your source code.
In this talk, I will unleash many invaluable tips and tricks that will allow you to better use the Eclipse IDE and make you more productive in your routine development tasks.
Once you know how to leverage these powerful features of Eclipse to the fullest, you are going to enjoy working with Eclipse more than you could ever expect.
I will cover various areas from efficiently organizing your workspace content to navigating, coding and debugging in Eclipse, and provide you a glimpse of some cool new Eclipse features.
With Java 8 out the door, it is an exciting time to be a Java developer. The new constructs in Java 8 look nice but may not be so intuitive for developers. This is where Eclipse helps you to become more productive while writing and understanding programs with Java 8 constructs. I will show you how to make your experience with Java 8 more convenient and pleasant by using some new tooling features provided by Eclipse as part of its Java 8 support.
I will also highlight useful tools like the AST and Java Element views, plug-in spies etc. that make working with Eclipse more effective.
During this talk, you will have many "Ah, I didn't know Eclipse can do that!" moments. Some of the examples include:
• Determining who last modified a line of code and when
• Popping up an in-place outline of the element at cursor position
• Bookmarks
• Split editors
• Grouping and sharing breakpoints
• Print-points
• Smartly stepping into a single method within a series of chained or nested method calls while using Java debugger
• Identifying and navigating to the functional method from lambda expressions and method referencesCome and learn about the best Eclipse IDE capabilities that you might not be knowing yet. There will be something new for everybody.
-
keyboard_arrow_down
Deepu Xavier - Preparing your code for JDK 9
45 Mins
Talk
Intermediate
Java 9 is packed with lot of new features aimed at improving developer experience and at improving Java applications. Apart from the widely talked about Jigsaw, Java 9 also features the Multi-Release JAR files for ensuring backwards compatibility while upgrading, decreased memory consumption through Compact String, Java 9 REPL- JShell, Version String upgrade and so on. In this session, we will touch upon some of these excellent features and on how to prepare your code so that you can make the best use of them while moving to java 9.
-
keyboard_arrow_down
Sarika Sinha - New and Advanced Debugging Tips And Profiling
20 Mins
Demonstration
Intermediate
Eclipse Platform Debug project provides the framework to enable debugging in projects. It adds the concept of Breakpoints, Console, Runtime, Process, Variable View, Expression View ....
Eclipse JDT Debug project adds the Java specific feature for debugging on top of Platform framework with Java Stack frame, Java Stack trace Console ....
There are many non obvious ways which can help us achieve effective debugging. Developers using Eclipse for long may not be aware of many of these tips-
- New debugging features introduced in last two years
- Advanced debugging tips - Step Filters, organizing breakpoints , Scrapbook, display of logical structure etc.
- How to create memory dumps
- How to profile Eclipse projects effectively with profilers like Yourkit
-
keyboard_arrow_down
Vikas Chandra - Evolving APIs and plug-in versions using PDE & More !
20 Mins
Talk
Beginner
An API is a way for services and programs to communicate with each other through a
documented interface. It defines “contracts” for information exchange between programs. But over time,
an API needs to evolve while maintaining the contract compatibility. In some circumstance,
breaking changes has to be made and the clients of the API need to adapt effectively.
For Java applications, there are some ground rules for evolving interface, classes and all other
API elements. In eclipse, PDE tools provide most of the assistance needed for the developer to evolve
APIs without having to say "I just added this. How did that break? "
As plugins evolve, they must maintain the compatibility as far as possible. The nature of changes
to the plugin should also be reflected in the plugin versioning. PDE's version management tools
help developers to put the versioning correctly.
In the talk, I will cover ground rules for API evolution and how PDE helps a developer in that.
Also I will cover versioning guidelines and PDE's support for version management. I will also
talk about other useful aspects of PDE. -
keyboard_arrow_down
Sasikanth Bharadwaj - Eclipse eye - the eclipse build monitoring app on cloud
20 Mins
Talk
Beginner
Eclipse committers have to watch the releng mailing list for build related emails, check every build for any test failures in their component, and analyse/report the failures if any so that further action can be taken. All this monitoring is really a monotonous task fit for an app - and that was how this app was born. The application periodically fetches available test results from hudson, and notifies registered users via email/push notifications. Users can register for email notifications by signing in with their google account and for push notifications via the android app. This is a good demonstration of how eclipse with its extensible framework and related tooling make it really straight forward to build, test and deploy applications to a cloud. This talk outlines the various tools used for the development of this application and gives a first hand account of using eclipse and related tools for cloud application development using a live application
-
keyboard_arrow_down
Daniel Megert - The Eclipse Way
45 Mins
Talk
Beginner
This talk will explain the secret of the success of the Eclipse Platform team. The Eclipse Way is an agile software development process that we started right at the beginning when we started to develop Eclipse back in 1999. It was and is used by the Eclipse Platform team and got continuously improved over time. During the session you will hear about all our practices, like milestones, early and iterative planning, continuous integration and the endgame. I will also reveal some of the history behind the Eclipse top-level project.
-
keyboard_arrow_down
Niraj Modi / Sravan Kumar Lakkimsetti - Scaling Eclipse on high DPI Monitors
Niraj ModiSoftware Developer @ IBM India Software LabsIBMSravan Kumar LakkimsettiAdvisory Software EngineerCommitter, Eclipse SWT and Releng (IBM)schedule 5 years ago
45 Mins
Talk
Beginner
In the recent past the monitor technology has changed dramatically. There is a tremendous decrease in pixel size which resulted in high dpi monitors. The operating systems are designed with the assumption we have 72 dpi for Mac and 96 dpi for Windows and unix. Before the advent of "Retina" display this used to be the case. But with Retina displays the dpi started increasing. Now the application looks quite small on high dpi monitors to the naked eye. As the dpi increases the smaller the application looks. This presentation covers the challenges faced in resolving this problem.
-
keyboard_arrow_down
Vaibhav Choudhary - Deep Dive in Lambdas - A Performance Analysis With Eclipse and JMH
45 Mins
Talk
Intermediate
JDK8 adoption was the best Java Adoption. And when we talk of Java 8, we come across functional programming and lambdas. I saw many talks going around on how to use Lambdas. Yes, it is still a nightmare for many developers to use :D. Lets first focus on why to use Lambdas. What are the performance benefits by using Lambdas.
In this talk, I want to show you the performance analysis of Lambdas using Java micro benchmarking. Eclipse has excellent support for JMH. In a quick, we can see a Lambda and a similar non-lambda code benchmarking.
Agenda will look like this :-
1. Lambda implementation and InvokeDynamic
2. Capturing and Non-capturing lambdas.
3. Performance Matrix for both the lambdas.
4. Eclipse Plugin for JMH - How to use it for benchmarking.
5. A real demo for Lambdas. (Can't do much but surely 2-3 demos as the warmup takes time)
6. When to use Lambdas and when not to use.
-
keyboard_arrow_down
Gireesh Punathil / Hage Yaapa - Nodejs Workshop
90 Mins
Workshop
Advanced
Node and Javscript have already gained massive popularity as a impressive web /cloud development platform and programming language respectively. Yet, it has certain perceived challenges and improvement opportunities - with respect to i) Enterprise grade deployment infrastructure, ii) Problem determination capabilities, iii) Elevation to all types of workload scenarios. In addition, JavaScript as a language has peculiarities from traditional declarative and object oriented languages, which makes it error prone, when used to develop large and complex software modules.
The insight we gained by working closely within Node community and customers, suggests a workshop with the following theme will be of good benefit to the node developers:
a. Introduction to Node programming
b. Introduction, usage and main features of most common node subsystem modules: express, request, async
c. Introduction, usage and main features of most common enterprise features: loopback, cluster, pm2
d. Introduction, usage and main features of most common monitoring and debugging frameworks, techniques: google chrome dev tools, appmetrics, idde, heapdump
e. Any other items which are relevant to node such as programming best practises etc.
f. An Node clinic for open questions, discussions and live debugging.
-
keyboard_arrow_down
Paul Verest - Changing Eclipse from outside, Nodeclipse way
45 Mins
Talk
Beginner
History of Nodeclipse from Node.js for Eclipse to Eclipse Node.
What is happening within Eclipse from outsider view.
Public Feedback