Comments 14
Описанный вами механизм вполне жизнеспособен, он уже более 6 лет используется для распределенной обработки данных в Apache Spark, например.
Спасибо, про Spark не знал, подскажите где можно почитать ?
По сути это замечание для тех, кто внезапно обнаружил, что в Java и сегодня есть этот функционал (и даже в расширенном варианте).
Хотя творить что-нибудь в области удалённого запуска кода никто, конечно же, не запрещает и сегодня, но писать велосипеды без понимания того, что было сделано десятки лет назад — ну это несколько убого выглядит.
Я в курсе про загрузку кода по сети, и про апплеты, видать я плохо описал статью
принципиальное отличие не загружать всю jar, не возиться с ее выгрузкой, и с проверкой безопасности, на уровне подписания ее и других — а именно только то, что относиться к лямбде и не более того
Если так посмотреть то и Java сама по себе велосипед
Посмотрите в сторону serverless, вам может понравится.
В списке хабов явно не хватает ненормального программирования.
Данное возможно при условии развития функции декомпиляции байт-кода в код AST/Java/…, по факту такая функция реализована в декомпиляторе JAD
Граф Вишня умер тридцать лет тому назад!
Последняя версия JAD вышла примерно в 2001 году и class-файлы с лямбдами он не понимает по объективным причинам.
Из опенсорсных декомпиляторов есть Fernflower, Procyon, CFR.
Библиотека не весь байт код передает, это связано с тем, что не весь байт код имеет объектное представление
Это как?
Библиотека не весь байт код передает, это связано с тем, что не весь байт код имеет объектное представление
Это так:
У меня есть ряд классов, например такой
MInsn — он соответствует инструкциям NOP, ACONST_NULL, ICONST_0,…
MJumpInsn — а этот соответствует инструкция условного и безусловного перехода IFEQ, GOTO
И таких инструкций много
https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html
Большинство этих инструкций представлено тем или иным классом, возможно есть инструкции для которых не реализовано представление, хотя… уже нет вроде (в версии 2)
Другой момент, что эти инструкции байт кода могут содержать параметры, которые тоже должны иметь представление, и вроде я их все реализовал
На данный момент, сейчас эту либу можно использовать и по назначению и как декомпилятор, но… пока как декомпилятор тяжко
Последняя версия JAD вышла примерно в 2001 году
Проект жив и последний commit был 6 дней назад
https://github.com/java-decompiler/jd-core
А последний релиз 2019, на сайте у них заявлено поддержка до 10 версии JDK
Проект жив и последний commit был 6 дней назад
https://github.com/java-decompiler/jd-core
Не вижу, чтобы jd-core
где-либо называл себя JAD
.
А тот самый JAD уже давно заброшен:
Jad (Java Decompiler) is, as of August 2011, an unmaintained decompiler for the Java programming language.[1] Jad provides a command-line user interface to extract source code from class files.
У них с jd-core
даже языки реализации не совпадают. jd-core
написан Java, а JAD
— на C.
Передача и вызов лямбд на сервере и отказаться от docker/deploy/…