Java|Java培训:Vestige—Java应用程序管理器

Java|Java培训:Vestige—Java应用程序管理器

Vestige是一个安装、运行和更新JavaSE应用程序的框架 。 是为Java服务器应用程序(POP、CARDDAV、RESTful…)带来可移植性 。 通过参加java培训 , 你可以学习更多java框架 , 以提高java技能 。
你可能会说Java已经是可移植的了 , 的确如此 , 但将操作系统特定于JVM的胶水却不是 。 Java服务器应用程序所需的内容包括:
可移植安装(创建rpm、DEB、EXE、DMG都很繁琐) 。
自动启动计算机/用户会话 。
与用户共享的目录(配置、日志)和仅用于应用程序的目录(缓存、TMP) 。
即使配置了PAC代理 , 也可以使用internet配置(下载应用程序更新、访问web服务) 。
Vestige带来了这一切 。 与其他框架一样 , 它使用Maven解析器(以前称为Eclipse-ether)从.m2/repository文件夹下载和执行应用程序 。 与现有框架不同 , Vestige可以攻击依赖项来替换、添加或删除任何依赖项 。 此外 , 它允许你在一个类加载器(类路径模式)和每个JAR一个类加载器(平台模式)之间进行选择 。 平台模式允许更快的类加载(因为它只在一个JAR中搜索)和应用程序之间的类共享 。
【Java|Java培训:Vestige—Java应用程序管理器】Vestige在JVM6到10上运行 。 在JVM9或更高版本上启动时 , 它使用JPMS(以前称为Jigsaw)并为每个类加载器创建一个模块层 , 以保持应用程序之间的类共享处于启用状态 。 在java培训中 , 也有关于Vestige的学习 , 理论知识+实践项目 , 双管齐下 , 学以致用 , 让你深入浅出地学习java 。

不过 , 在Vestige中运行Tomcat或Felix并不是很有用 , 因为最常更改的部分是功能部分 , 而功能部分位于Tomcat的webapp文件夹中的WAR中 , 以及OSGi中的一些捆绑包中 , 因此功能部分没有类共享 。
但是 , 如果我们可以在Maven存储库中发布一个WAR , 而不使用它的lib目录 , Tomcat就可以发展并使用残余MavenSPI在web应用程序之间以及与VestigeJVM上运行的其他应用程序共享类 。
Vestige专用于JavaSE应用程序 , 并试图限制移植应用程序所需的约束 。
移植到OSGi或JPMS是一项繁琐的任务:你必须管理导入/导出包/模块 。 但移植到Vestige要简单得多 。 你只需删除所有JVM范围的操作(System.exit、System.setProperty和shutdownhooks) 。 如果不删除它们 , 应用程序将运行 , 但可能会干扰其他应用程序行为 。
如果希望在平台模式下运行并在应用程序之间共享类 , 则必须使所有静态变量不可变(final是不够的) , 并使用线程上下文类加载器执行IOC 。
Vestige为静态(应用程序停止)和动态(应用程序运行)更新提供SPI 。 动态更新很难实现(应该禁止阻塞操作) , 但这是可能的 。 想要学习java更多知识和技能 , 可以考虑参加java培训 , 有经验丰富的专业讲师指导教学 , 有紧跟市场需求的实时课程 , 可以让你快速掌握这门技术 , 节约时间 , 少走弯路 。