小编Skc*_*ssm的帖子

在路径中使用通配符复制文件

假设存在目录结构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".

batch-file

25
推荐指数
3
解决办法
8万
查看次数

如何从 JShell 获得更好的性能?

背景

由于 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 中高性能地调用?

javascript java scripting jshell

6
推荐指数
1
解决办法
238
查看次数

从命令行启动jar时如何使用java启动画面?

我已经设置了一个启动画面供我的应用程序在清单中使用.如果我使用eclipse创建我的jar,当我双击jar时会显示启动画面.但是,当我尝试使用java -classpath blah.jar从命令行启动我的应用程序时,我得不到启动画面.我也尝试过指定java -splash:Resources/blah.png [...],但这也不起作用(Resources/blah.png是我jar中的路径).

我需要让它通过命令行工作有两个原因.首先,某些客户端计算机可能没有正确配置其系统以通过双击直接运行jar.其次,通过命令行我想设置我的堆大小和perm空间大小,因为在某些情况下可能需要它(通过我的清单能够做到这一点会很棒).

最后,我宁愿没有一个图像目录与我的jar分开.

简而言之,当从命令行启动jar时,如何使用清单中指定的java启动画面?第二,有没有一种很好的方法来设置我的堆和permspace大小而不通过命令行启动?

java

1
推荐指数
1
解决办法
1025
查看次数

如何防止colab资源选项卡显示?

我正在使用 google colab pro,令人恼火的是,“资源”选项卡在我关闭后仍不断显示。它似乎没有向我展示任何新内容,也不是对任何操作的响应。无论我关闭它多少次,它都会每隔几分钟随机弹出一次。我可以将分隔板折叠起来,使其变小并保留下来,但这是一种解决方法。为什么它会不断出现,有什么办法可以阻止它吗?

google-colaboratory

1
推荐指数
1
解决办法
1170
查看次数