Описание тега invokedynamic

0 ответов

`invokedynamic` на андроид sdk<26 (Oreo)?

Есть ли способ иметь invokedynamic на более старых версиях, чем SDK уровня 26 (т.е. Oreo, Android 8)? т.е. просто установите более позднюю версию VM (ART). Поскольку это функция виртуальной машины, разве она не будет независимой и отделимой от всех …
23 мар '18 в 02:00
0 ответов

java.lang.NoClassDefFoundError: jdk.nashorn.internal.scripts.JO28P0

Я закончил библиотеку для Java, и я использовал ее для замены java.lang.invoke пакет (т. е. добавьте его в загрузчик классов загрузки перед обычной библиотекой JVM). В пакете он динамически генерирует байт-коды для дескрипторов метода. Спасибо, если…
09 мар '17 в 19:03
1 ответ

Использование "invokedynamic" - что происходит под капотом?

Фон В настоящее время я пишу JVM на C# для чисто академических целей (и, возможно, для создания смешанного приложения.NET и Java/Scala в будущем). контекст Я пишу простой класс JAVA: public class test { public static String hello_world(int i) { ret…
04 ноя '18 в 10:18
1 ответ

Генерация рабочей инвокединамической инструкции с помощью ASM

Я работаю с байт-кодом Java через ASM и пытаюсь получить простой invokedynamic пример функционирует нормально. Мне кажется, что я в корне не понимаю, как должна работать invokedynamic. Это то, что я пробовал до сих пор: В Test2.java У меня есть стат…
24 сен '13 в 02:02
1 ответ

Почему есть разница между лямбда-кешем Java8 и Scala2.12?

Java-код package lambda_cache_example_java; interface Semigroup1&lt;A&gt; { public A append(A a1, A a2); } interface Semigroup2&lt;A&gt; { public A append(A a1, A a2); public interface Foo{} public class Bar{} } class Main { static Semigroup1&lt;Int…
24 ноя '16 в 06:36
1 ответ

JRuby java.lang.ClassCastException

Я использовал небольшой скрипт Jruby из http://www.javaworld.com/javaworld/jw-07-2006/jw-0717-ruby.html для проверки invokedynamic: class ADuck def quack() puts "quack A"; end end class BDuck def quack() puts "quack B"; end end def quack_it(duck) du…
14 фев '13 в 14:29
4 ответа

Сколько JSR-292 (invokedynamic) будет влиять на производительность Groovy?

Есть ли оценка того, насколько JSR-292 повлияет на производительность Groovy?
06 янв '10 в 06:01
0 ответов

ScriptEngineManager.getEngineByName("nashorn") завершается ошибкой из-за java.lang.invoke.WrongMethodTypeException

Я не могу создать ScriptEngine за nashorn в Java 8 (IBM J9JVM). В следующем коде двигатель null, private static void runOther(String[] args){ ScriptEngineManager engineManager = new ScriptEngineManager(); ScriptEngine engine = engineManager.getEngin…
11 мар '17 в 01:41
2 ответа

invokedynamic и его преимущества для разработчика приложений

Недавно я читал о возможностях Java 7, и invokedynamic был одним из самых ожидаемых. Большинство блогов / статей предоставляют преимущества с точки зрения реализации JVM, особенно для языков с динамической типизацией. С точки зрения разработчика при…
10 фев '12 в 08:22
2 ответа

Вызывать динамические и неявные методы

Как я понял из прочтения этого поста о новой инструкции invokedynamic bytecode в JDK 7, он позволяет вызывать методы для объектов, которые не определены статически в классе объекта, и разрешать вызовы этих методов некоторым конкретным статическим ме…
1 ответ

Groovy Проблемы с производительностью Invoke Dynamic?

Я изо всех сил пытаюсь определить, что заставляет умеренно большое приложение Groovy медленно работать в производственной среде. При получении дампов потоков запущенных приложений странная вещь, которую я вижу, это множество потоков с трассировкой с…
22 авг '17 в 18:13
2 ответа

Как использовать invokedynamic для выполнения метода с полиморфизмом?

В динамическом языке для Java, где все переменные объявлены как java.lang.ObjectМне нужно вызвать встроенные классы Java. Например, java.math.BigDecimal конструктор может принимать число, строку и т. д. a = 10 // a is `java.lang.Object` create java.…
26 ноя '13 в 05:11
0 ответов

Использование Grails с динамической функцией вызова Groovy

В Groovy 2.1 была добавлена ​​полная поддержка invokedynamic (см. здесь и здесь). Для использования этой функции, похоже, требуется JDK7 и "indy" Groovy jar. Я использую Grails 2.4.3, с JDK7 и Groovy 2.3, поэтому кажется, что это должно быть возможн…
22 окт '14 в 15:47
1 ответ

Grails 2 / Groovy 2 / JDK7: как пожинать плоды?

Я действительно люблю Grails, но мне было интересно, как получить преимущества производительности Groovy 2. Вопрос заключается в том, как настроить среды разработки и производства, чтобы получить повышение производительности, близкое к Java. Итак, е…
04 апр '13 в 06:12
5 ответов

Что такое invokedynamic и как мне его использовать?

Я продолжаю слышать обо всех новых интересных функциях, которые добавляются в JVM, и одна из этих интересных функций - динамическая. Я хотел бы знать, что это такое и как это делает рефлексивное программирование на Java легче или лучше?
10 июл '11 в 02:15
2 ответа

Преобразование MethodType для MethodHandle для принятия параметров Array Object

Я хочу адаптироваться String.startsWith от (String, String)boolean в (String[])booleanтак что он может принимать String[] параметры, в которых первые два параметра будут сопоставлены с (String, String), Поэтому я написал ниже пример кода: MethodHand…
29 янв '15 в 21:41
2 ответа

Как хранится результат invokedynamic?

В Java 8 появилась поддержка функций первого класса, которые позволяют назначать функции переменным. В этом случае переменные должны иметь тип функции, который определяется функциональным интерфейсом (интерфейсом только с одним абстрактным методом).…
24 мар '15 в 16:50
0 ответов

Java 8 Update 51 (sun-jdk-8u51) Неустранимая ошибка времени выполнения после нулевого вызова MethodHandle invokeExact с 448 аргументами System::gc Runnable

Резюме Мне удалось скомпилировать интерфейс с основным методом, который вызывает нулевой метод invokeExact MethodHandle с 448 экземплярами ссылки на метод Runnable (System::gc). Когда я запустил интерфейс, в среде выполнения Java была обнаружена фат…
18 янв '16 в 15:13
2 ответа

MethodHandle Manipulation

Для моей работы с aspectJ и invokedynamic мне нужно вложить совет в метод, когда pointcut соответствует вызываемому методу. Сначала я заменил метод начальной загрузки invokedynamic-инструкции в сценарии своим собственным. Теперь в моем методе началь…
19 дек '12 в 19:27
1 ответ

Лямбда соответствует сигнатуре FunctionalInterface, но "нет". Как вы объясните, что аргумент передается на всех?

Я работаю над этим проектом в настоящее время. Это работает на удивление хорошо. Тем не менее, после перечитывания README я начал задумываться о том, как документировать то, что меня беспокоит... Чтобы процитировать пример и на мгновение забыть, что…
24 дек '14 в 06:31