байт код

 
 
 
Сообщения:1
не знаю в какую ветку правильно задать вопрос, если ошибся помидоры не кидать)
Вопрос совершенно глупый, я Java совсем не ориентируюсь (опыт разработки есть но на всякой фигне типа php, js да и там не много)

Суть вопроса: я так понимаю код на Java не просто интерпретируется как php какой нить а переводится в байт код который уже выполняет JVM
можно ли написать собственный сервер приложений у которого будет собственный проприетарный язык разработки который будет транслироваться в байт код Java и выполнятся на JVM

Идея такая есть некий бекенд у которого есть среда разработки с простеньким языком (например бизнес функции) которая транслируется в байт код Java
 
 
Сообщения:721
существует уже как минимум с десяток языков работающих на JVM. почему бы и не появится ещё одному.

но я тебе посоветовал бы обратиться к groovy.

вот так вставляются плагины на Groovy.

    private static void fillPlugins()
    {
        plugins.add(new PluginWraper(new AnalyseConnections())); // встроенные плагины
        plugins.add(new PluginWraper(new SavePayloadAsText()));
        plugins.add(new PluginWraper(new ListAllIPAdresses()));
        
        Path path = Paths.get("plugins"); 
        
        if(Files.exists(path, LinkOption.NOFOLLOW_LINKS))
        {
            
            ScriptEngineManager manager = new ScriptEngineManager();
            
            try(DirectoryStream<Path> directoryStream = Files.newDirectoryStream(path, "*.groovy"))
            {
                
                ScriptEngine scriptEngine = manager.getEngineByName("groovy");
                
                for (Path p : directoryStream)
                {
                    try
                    {
                        Object eval = scriptEngine.eval(new FileReader(p.toFile()));
                        
                        if(eval instanceof PcapNgPlugIn)
                        {
                            plugins.add(new PluginWraper((PcapNgPlugIn)eval));
                            MyLogger.info(p.getFileName().toString() + " added");
                        }
                        else
                        {
                            MyLogger.warning(p.getFileName().toString() + " is not a plugin");
                        }
                        
                    } catch (ScriptException ex)
                    {
                        MyLogger.error("Error while eval script for PlugIn " + p.getFileName().toString(), ex);
                    }
                }
                
                
            } catch (IOException e)
            {
                MyLogger.error("Error while reading plugins", e);
            }
            
        }
        else
        {
            try
            {
                Files.createDirectory(path);
            } catch (IOException ex)
            {
                MyLogger.error("Error while creating a \"plugins\" directory", ex);
            }
        }
    }

 
Модераторы:Нет
Сейчас эту тему просматривают:Нет