Skip to content

Introduction to Method Handles tutorial #90

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Jun 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion app/data/authors.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
moderator on CodeRanch which is the best java discussion forum on the web. She has moderated on topics including
JDBC, Testing, IDEs, Process and Performance. She is one of the leaders of javasig.com and mentors a high school
robotics team in her free time.


- name: Cay Horstmann
email: cay@horstmann.com
Expand Down Expand Up @@ -104,3 +103,15 @@
Connor is a Java Developer and high school student from Germany with four years of programming experience.
He is a top helper and community lead in Together Java, one of the largest Java communities on Discord, with over 30,000 users.
Connor has worked on various Java projects, including Discord bots, Minecraft plugins and JavaFX applications.

- name: Nataliia Dziubenko
github: smthelusive
twitter: worth_exploring
photo_url: https://nataliiadziubenko.com/assets/images/nataliia.png
website: https://nataliiadziubenko.com/
description: |
Nataliia is a Senior Software Engineer at Xebia. She began her career in 2015 and has since worked with diverse
technologies and domains, primarily focusing on the JVM ecosystem. Nataliia is passionate and curious about everything
around JVM. She enjoys digging into the low-level concepts and diving into how things work under the hood. She also
loves sharing knowledge, so she speaks at conferences such as JFall, JSpring, Voxxed Days, and Java User Groups,
and writes a blog about JVM.
39 changes: 37 additions & 2 deletions app/data/javadoc.json
Original file line number Diff line number Diff line change
Expand Up @@ -505,6 +505,7 @@
"String.equals(Object)": "java.base/java/lang/String.html#equals(java.lang.Object)",
"String.regionMatches(boolean,int,String,int,int)": "java.base/java/lang/String.html#regionMatches(boolean,int,java.lang.String,int,int)",
"String.join(CharSequence,CharSequence)": "java.base/java/lang/String.html#join(java.lang.CharSequence,java.lang.CharSequence)",
"String.valueOf(Object)": "java.base/java/lang/String.html#valueOf(java.lang.Object)",

"StringIndexOutOfBoundsException": "java.base/java/lang/StringIndexOutOfBoundsException.html",

Expand Down Expand Up @@ -1406,6 +1407,40 @@
"MessageDigest": "java.base/java/security/MessageDigest.html",
"Security.getProviders()": "java.base/java/security/Security.html#getProviders()",
"Security.addProvider(java.security.Provider)": "java.base/java/security/Security.html#addProvider(java.security.Provider)",
"Security.insertProviderAt": "java.base/java/security/Security.html#insertProviderAt(java.security.Provider,int)"

"Security.insertProviderAt": "java.base/java/security/Security.html#insertProviderAt(java.security.Provider,int)",

"Method": "java.base/java/lang/reflect/Method.html",
"Field": "java.base/java/lang/reflect/Field.html",
"Member": "java.base/java/lang/reflect/Member.html",
"Lookup": "java.base/java/lang/invoke/MethodHandles.Lookup.html",
"MethodType": "java.base/java/lang/invoke/MethodType.html",
"MethodHandles": "java.base/java/lang/invoke/MethodHandles.html",
"MethodHandles.Lookup.findVirtual(Class,String,MethodType)": "java.base/java/lang/invoke/MethodHandles.Lookup.html#findVirtual(java.lang.Class,java.lang.String,java.lang.invoke.MethodType)",
"MethodHandles.Lookup.findStatic(Class,String,MethodType)": "java.base/java/lang/invoke/MethodHandles.Lookup.html#findStatic(java.lang.Class,java.lang.String,java.lang.invoke.MethodType)",
"MethodHandles.Lookup.findConstructor(Class,MethodType)": "java.base/java/lang/invoke/MethodHandles.Lookup.html#findConstructor(java.lang.Class,java.lang.invoke.MethodType)",
"MethodHandles.Lookup.findGetter(Class,String,Class)": "java.base/java/lang/invoke/MethodHandles.Lookup.html#findGetter(java.lang.Class,java.lang.String,java.lang.Class)",
"MethodHandles.Lookup.findSetter(Class,String,Class)": "java.base/java/lang/invoke/MethodHandles.Lookup.html#findSetter(java.lang.Class,java.lang.String,java.lang.Class)",
"MethodHandles.Lookup.findStaticGetter(Class,String,Class)": "java.base/java/lang/invoke/MethodHandles.Lookup.html#findStaticGetter(java.lang.Class,java.lang.String,java.lang.Class)",
"MethodHandles.Lookup.findStaticSetter(Class,String,Class)": "java.base/java/lang/invoke/MethodHandles.Lookup.html#findStaticSetter(java.lang.Class,java.lang.String,java.lang.Class)",
"MethodHandles.Lookup.findVarHandle(Class,String,Class)": "java.base/java/lang/invoke/MethodHandles.Lookup.html#findVarHandle(java.lang.Class,java.lang.String,java.lang.Class)",
"MethodHandles.Lookup.findStaticVarHandle(Class,String,Class)": "java.base/java/lang/invoke/MethodHandles.Lookup.html#findStaticVarHandle(java.lang.Class,java.lang.String,java.lang.Class)",
"MethodHandles.Lookup.unreflect(Method)": "java.base/java/lang/invoke/MethodHandles.Lookup.html#unreflect(java.lang.reflect.Method)",
"MethodHandles.publicLookup()": "java.base/java/lang/invoke/MethodHandles.html#publicLookup()",
"MethodHandles.tryFinally(MethodHandle,MethodHandle)": "java.base/java/lang/invoke/MethodHandles.html#tryFinally(java.lang.invoke.MethodHandle,java.lang.invoke.MethodHandle)",
"MethodHandles.permuteArguments(MethodHandle,MethodType,int...)": "java.base/java/lang/invoke/MethodHandles.html#permuteArguments(java.lang.invoke.MethodHandle,java.lang.invoke.MethodType,int...)",
"MethodHandles.insertArguments(MethodHandle,int,Object...)": "java.base/java/lang/invoke/MethodHandles.html#insertArguments(java.lang.invoke.MethodHandle,int,java.lang.Object...)",
"MethodHandles.filterArguments(MethodHandle,int,MethodHandle...)": "java.base/java/lang/invoke/MethodHandles.html#filterArguments(java.lang.invoke.MethodHandle,int,java.lang.invoke.MethodHandle...)",
"MethodHandles.foldArguments(MethodHandle,int,MethodHandle)": "java.base/java/lang/invoke/MethodHandles.html#foldArguments(java.lang.invoke.MethodHandle,int,java.lang.invoke.MethodHandle)",
"MethodHandles.reflectAs(Class,MethodHandle)": "java.base/java/lang/invoke/MethodHandles.html#reflectAs(java.lang.Class,java.lang.invoke.MethodHandle)",
"MethodHandles.arrayConstructor(Class)": "java.base/java/lang/invoke/MethodHandles.html#arrayConstructor(java.lang.Class)",
"MethodHandles.arrayElementSetter(Class)": "java.base/java/lang/invoke/MethodHandles.html#arrayElementSetter(java.lang.Class)",
"MethodHandles.arrayElementGetter(Class)": "java.base/java/lang/invoke/MethodHandles.html#arrayElementGetter(java.lang.Class)",
"MethodHandles.catchException(MethodHandle,Class,MethodHandle)": "java.base/java/lang/invoke/MethodHandles.html#catchException(java.lang.invoke.MethodHandle,java.lang.Class,java.lang.invoke.MethodHandle)",
"MethodHandles.arrayLength(Class)": "java.base/java/lang/invoke/MethodHandles.html#arrayLength(java.lang.Class)",
"MethodHandle.invoke(Object...)": "java.base/java/lang/invoke/MethodHandle.html#invoke(java.lang.Object...)",
"MethodHandle.invokeExact(Object...)": "java.base/java/lang/invoke/MethodHandle.html#invokeExact(java.lang.Object...)",
"MethodHandle.invokeWithArguments(Object...)": "java.base/java/lang/invoke/MethodHandle.html#invokeWithArguments(java.lang.Object...)",
"MethodHandle.asType(MethodType)": "java.base/java/lang/invoke/MethodHandle.html#asType(java.lang.invoke.MethodType)",
"VarHandle": "java.base/java/lang/invoke/VarHandle.html",
"WrongMethodTypeException": "java.base/java/lang/invoke/WrongMethodTypeException.html"
}
Loading