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.

 
5 favorite thumb_down thumb_up 7 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

Brief description of tools I am going to cover in this talk:

Java jlink is a new command line tool to link modules into a jimage file and generates runtime images. The plugin api allow content transformation and post processing of runtime images.

JDK-9 also includes jlink API to programatically customize generated image. jlink automatically discovers dependencies, executables required for image.

jlink is incredibly useful for miniature platforms like Internet of Things, Mobile devices which want to leverage the Java API without the burden of large memory requirements. Various options like compress the class files, Strip debug attributes from class files provide more flexibility to the projects.

I shall present an overview of jlink tool, present a interactive demo on how to create a mini Java runtime image file. Session also includes few other related tools like jmods, jimage which are also introduced in JDK-9.

Learning Outcome

Helps Java developers to understand JDK-9 tools usage for faster development

 

Target Audience

Developers

schedule Submitted 1 year ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Naresh Jain
    By Naresh Jain  ~  10 months ago
    reply Reply

    Hi Bhanu,

    Given that we've a bunch of other Java 9 proposals, would you consider focusing on 1 aspect of Java9 and going deep in it with real world examples? For example: Building modular code with Java 9 or Analysing and benchmarking large code base using jdk-9 tools.

    Also a 45 mins talk might not be desired for this topic. Doing an interactive demo will surely draw more participation.

    If you agree with the above, please update your proposal accordingly before 7th July.

    Thanks.

    • G Bhanu Prakash
      By G Bhanu Prakash  ~  10 months ago
      reply Reply
      Thank you for the suggestions.

      I have updated the proposal with suggestions. As requested instead of introducing multiple tools, I have zeroed on sjavac option. Which is incredibly useful for large scale java projects.
      Please review the updated proposal. I would be glad to present in the conference.

      Thanks in advance.
      Bhanu Prakash


      Brief:

      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 JDK tools that would assist in development of large scale Java projects.  Some of the tools include "jlink" which 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.

      JDK has smart javac option, wrapper on top of javac tool which uses divide and conquer approach which supports large deployments

      I plan to demo of a large java project (JDK itself ). I shall present an overview of of Eclipse JDT w.r.t tools along with Eclipse JDT/Core, JDT Platform debug option and integration points. 

      I shall give insights on tools usage and internals which would help developers in decision making along with benchmark results.

      Outline/structure of the Session

      Brief description of tools I am going to cover in this talk:

      smart java compilation was introduced in jdk-8 (phase-2 in jdk-9) is a wrapper on javac provides features like incremental compiles, parallel compilation, leverage hot VM for compilation
      In JDK-9 this has improved performance and capability for building large projects (like JDK)

      smart javac option is incredibly useful for large scale java projects with thousands of Java source files (requiring frequent compilation). It allows incremental compilation of sources (divide and conquer approach), leverages parallel compilation (makes good use of multiple cores). Various parameters like timestamp, checksum of files are used in segregating the source for compilation.

      Session also includes discussion on Eclipse JDT/Core and Eclipse JDT/Debug integration points features for Java 9 

      Session include live demo of large scale project analyzed using jdk-9 tools and benchmark results.


      On Sat, Jul 2, 2016 at 8:05 PM, Eclipse Summit <info@confengine.com> wrote:
      Dear G Bhanu Prakash,

      Your proposal JDK-9 Developers Arsenal: Insight into new JDK-9 Tools and Eclipse JDT has received a new comment from naresh-jain

      Hi Bhanu,

      Given that we've a bunch of other Java 9 proposals, would you consider focusing on 1 aspect of Java9 and going deep in it with real world examples? For example: Building modular code with Java 9 or Analysing and benchmarking large code base using jdk-9 tools.

      Also a 45 mins talk might not be desired for this topic. Doing an interactive demo will surely draw more participation.

      If you agree with the above, please update your proposal accordingly before 7th July.

      Thanks.


      Visit https://confengine.com/eclipse-summit-2016/proposal/2473#comments to respond to the suggestion OR simply reply to this email (Please make sure, you delete the previous comment's content from the email before replying.)

      Regards,
      Eclipse Summit Team
      info@eclipsesummit.in
      https://confengine.com
      You are receiving this email from ConfEngine on behalf of Eclipse Summit. Thanks for using ConfEngine's Conference Submission System.
      Click here to unsubscribe from all email updates from ConfEngine.

      • Manoj NP
        By Manoj NP  ~  10 months ago
        reply Reply

        Dear Bhanu,

         Thanks for the modifications. One additional clarification regarding your comment "I shall present an overview of of Eclipse JDT w.r.t tools along with Eclipse JDT/Core, JDT Platform debug option and integration points." - we would like to know what you are planning to cover as part of the above - This info is required to make sure that we have minimal overlap with other presentations dealing with similar topics.

        Thanks

        • G Bhanu Prakash
          By G Bhanu Prakash  ~  10 months ago
          reply Reply
          Thanks for the feedack. I was bit unclear on that aspect. I shall limit to explanation for Eclipse JDT core compiler (ECJ) which supports incremental code compilation. I have updated the proposal accordingly.

          Thanks and regards,
          Bhanu

          On Mon, Jul 11, 2016 at 2:53 PM, Eclipse Summit <info@confengine.com> wrote:
          Dear G Bhanu Prakash,

          Your proposal JDK-9 Developers Arsenal: Building large scale projects with Smart Javac and Eclipse JDT has received a new comment from manoj-np

          Dear Bhanu,

           Thanks for the modifications. One additional clarification regarding your comment "I shall present an overview of of Eclipse JDT w.r.t tools along with Eclipse JDT/Core, JDT Platform debug option and integration points." - we would like to know what you are planning to cover as part of the above - This info is required to make sure that we have minimal overlap with other presentations dealing with similar topics.

          Thanks


          Visit https://confengine.com/eclipse-summit-2016/proposal/2473#comments to respond to the suggestion OR simply reply to this email (Please make sure, you delete the previous comment's content from the email before replying.)

          Regards,
          Eclipse Summit Team
          info@eclipsesummit.in
          https://confengine.com
          You are receiving this email from ConfEngine on behalf of Eclipse Summit. Thanks for using ConfEngine's Conference Submission System.
          Click here to unsubscribe from all email updates from ConfEngine.

          • G Bhanu Prakash
            By G Bhanu Prakash  ~  10 months ago
            reply Reply

            I have made it stuff simpler now. Please see the updated proposal.

            I shall cover JDT code compilation and discuss pros and cons of new approach.

             

            Thanks and regards,

            Bhanu Prakash

  • Naresh Jain
    By Naresh Jain  ~  1 year ago
    reply Reply

    Thanks for the proposal. Is there a video of you presenting?

    • G Bhanu Prakash
      By G Bhanu Prakash  ~  1 year ago
      reply Reply

      I have presented talks in few conference like CCEM 2016 (Cloud Computing for Emerging Markets) and ADCOM, unfortunately I do not have a video of that.

      Here is link to presentation slides from Bangalore Java User Group (BOJUG) meetup - http://files.meetup.com/3189882/JavaClassLoaderPreso.pdf

      • G Bhanu Prakash
        By G Bhanu Prakash  ~  1 year ago
        reply Reply

        Link to my IEEE publications: http://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=gopularam


  • Liked Sergey Prigogin
    keyboard_arrow_down

    Faster index for Java, from crazy idea to reality

    Sergey Prigogin
    Sergey Prigogin
    schedule 1 year ago
    Sold Out!
    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.

  • Liked Allahbaksh Asadullah
    keyboard_arrow_down

    Java 9 a boon to Enterprises

    Allahbaksh Asadullah
    Allahbaksh Asadullah
    Avitash Purohit
    Avitash Purohit
    schedule 1 year ago
    Sold Out!
    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.

  • Liked Nadeesh TV
    keyboard_arrow_down

    Invokedynamic under the hood

    Nadeesh TV
    Nadeesh TV
    schedule 1 year ago
    Sold Out!
    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.

     

     

     

  • Liked Vaibhav Choudhary
    keyboard_arrow_down

    Welcoming G1 Garbage Collector With Eclipse

    Vaibhav Choudhary
    Vaibhav Choudhary
    schedule 1 year ago
    Sold Out!
    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.

  • Liked Manoj NP
    keyboard_arrow_down

    Eclipse JDT & Java 9 - The Story so far.

    Manoj NP
    Manoj NP
    Sasikanth Bharadwaj
    Sasikanth Bharadwaj
    Jay
    Jay
    schedule 1 year ago
    Sold Out!
    20 mins
    Talk
    Beginner

    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.

  • Liked Deepu Xavier
    keyboard_arrow_down

    Preparing your code for JDK 9

    Deepu Xavier
    Deepu Xavier
    schedule 1 year ago
    Sold Out!
    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.

  • Liked Vaibhav Choudhary
    keyboard_arrow_down

    Deep Dive in Lambdas - A Performance Analysis With Eclipse and JMH

    Vaibhav Choudhary
    Vaibhav Choudhary
    schedule 1 year ago
    Sold Out!
    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.