假设存在目录结构C:\ users\myuser\Desktop\bob\marley.
在Windows中,从起始目录C:\ users\myuser\Desktop我可以执行"cd bo*\mar*"并cd进入bob\marley目录.但是,我不能做一个"复制bo*\mar*C:\"
我需要在路径中使用带有通配符的copy,xcopy或某些标准windows命令将匹配目录复制到目标.我不确定这是否是复制和xcopy的限制,或者我是否有错误的语法.我也试过"xcopy/E/I bo*\mar**C:\ somedirectory".
背景:
由于 Nashorn 在 JDK15 中被删除,我正在为我正在开发的应用程序寻找替代方案。我目前仅用于在 java swing 桌面应用程序中动态执行一些用户可定义的格式片段。
我并不是特别想向我的应用程序添加另一个库依赖项(例如 rhino)。如果可用的话,我愿意使用 nashorn 作为附加依赖项(这将使我不必重写代码,并确保与现有 js 片段的兼容性)。除了与《我的世界》相关的东西之外,我还没有看到它在任何地方都可用。
我不会切换到 Graal 虚拟机。
问题:
我正在考虑使用 JShell(虽然不是 javascript,但大部分格式化代码非常相似),但我调用它的方式性能很糟糕:
try(JShell js = JShell.create())
{
js.eval("public int add(int a, int b) { return a + b; }");
for(int i = 0; i < 100; i++)
{
List<SnippetEvent> eval = js.eval("add(5,6)");
eval.forEach(se -> {
System.out.println(se.value());
});
}
}
Run Code Online (Sandbox Code Playgroud)
该代码中的 for 循环运行时间约为 6 秒(相比之下,nashorn 中的运行时间约为 11 微秒)。这对于我的应用程序来说不够快。
有没有办法从 JSell 中获取类字节码,以便我可以使用反射直接执行该方法,而不是再次调用“eval”?
有没有办法获取我在 JShell 中创建的方法的“方法句柄”?
有没有什么方法可以创建一个函数,其行为是在 JShell 中定义的,但可以从“正常”java 中高性能地调用?
我已经设置了一个启动画面供我的应用程序在清单中使用.如果我使用eclipse创建我的jar,当我双击jar时会显示启动画面.但是,当我尝试使用java -classpath blah.jar从命令行启动我的应用程序时,我得不到启动画面.我也尝试过指定java -splash:Resources/blah.png [...],但这也不起作用(Resources/blah.png是我jar中的路径).
我需要让它通过命令行工作有两个原因.首先,某些客户端计算机可能没有正确配置其系统以通过双击直接运行jar.其次,通过命令行我想设置我的堆大小和perm空间大小,因为在某些情况下可能需要它(通过我的清单能够做到这一点会很棒).
最后,我宁愿没有一个图像目录与我的jar分开.
简而言之,当从命令行启动jar时,如何使用清单中指定的java启动画面?第二,有没有一种很好的方法来设置我的堆和permspace大小而不通过命令行启动?
我正在使用 google colab pro,令人恼火的是,“资源”选项卡在我关闭后仍不断显示。它似乎没有向我展示任何新内容,也不是对任何操作的响应。无论我关闭它多少次,它都会每隔几分钟随机弹出一次。我可以将分隔板折叠起来,使其变小并保留下来,但这是一种解决方法。为什么它会不断出现,有什么办法可以阻止它吗?