Method Handles in Java by Kirsten Schwark

Talk Details:

Method handles were introduced in Java 7 with invokedynamic support. Their applicability goes well beyond just supporting the invokedynamic bytecode though. They offer a cleaner, more elegant alternative to reflection. They also play a role in the implementation of lambda expressions in Java 8.

The method handles API provides a surprising number of conversion methods to transform existing method handles into new method handles, giving the API an almost functional feeling. The depth of the functionality provided by the method handles API speaks to the future of Java and its support for a more functional programming paradigm.

They don’t seem very glamorous. They are tucked away in the invoke package that was added in Java 7 for invokedynamic support. First glance might indicate their only purpose is to support dynamic language creators to make it easier to create an invocable object at runtime. But they are powerful. They behave like higher-order functions in many ways, almost giving Java a functional feel.

This talk will first describe what method handles are. Next we will examine how method handles can be used as a more elegant replacement for reflection. We will then explore the more functional capabilities provided by the API to extend existing method handles. Finally we will see how method handles are used in conjunction with the invokedynamic bytecode to support dynamic method invocation. We will also touch on how method handles relate to lambda expressions in Java 8.

About the Speaker: 

Kirsten Schwark is a software developer for iDashboards (http://www.idashboards.com), a leading provider of business intelligence dashboard software. She is the author of the GroovyMag (http://groovymag.com) ‘Groovy under the Hood’ series that explores the Groovy programming language from the perspective of a Java developer. With over 17 years of software development experience she is an active supporter of the local development community.

Location and Parking map:

Please park in the two areas marked below as "Park Here" and use the entrance where its marked in red as "Enter Here"

Join or login to comment.

  • Ravinder J.

    Here are the slides from the talk http://www.slideshare.net/hendersk/method-handles-in-java
    Thanks Kirsten!

    November 10, 2013

  • Jim W.

    Thanks for doing the research and sharing you Java 7/8 knowledge.

    November 6, 2013

  • Larry B.

    Nice job presenting.

    November 6, 2013

  • Chris L.

    "In the beginner's mind, there are many possibilities. In the expert's, there are few." Allow me to introduce myself...I am the Perpetual Beginner!

    November 1, 2013

  • Stephanie H.

    I'm a Corporate Technical Recruiter at Compuware & excited to participate in this event!! See all of you there.

    October 30, 2013

Our Sponsors

  • RIIS LLC

    Long time Detroit JUG supporter, Pizza Sponsor and now Venue Provider

  • Cengage Learning

    Cengage is happy to sponsor us with food and a venue for meet-ups.

People in this
Meetup are also in:

Create a Meetup Group and meet new people

Get started Learn more
Bill

I started the group because there wasn't any other type of group like this. I've met some great folks in the group who have become close friends and have also met some amazing business owners.

Bill, started New York City Gay Craft Beer Lovers

Start your Meetup today

Act now and get 50% off.
Until February 1.

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy