相关疑难解决方法(0)

我的java线程需要多少内存?

有没有办法找出我的java线程在VM中占用多少内存?

例如,使用堆栈跟踪转储或其他一些方法.

谢谢

java multithreading

17
推荐指数
1
解决办法
2万
查看次数

Java非阻塞内存分配

我在某处读到java可以为大约12个机器指令中的对象分配内存.这对我来说非常令人印象深刻.据我所知,JVM使用的一个技巧是在块中预分配内存.这有助于最大限度地减少对操作系统的请求数量,这是非常昂贵的,我想.但即便是CAS操作也可能在现代处理器上花费多达150个周期.

那么,有没有人可以解释java中内存分配的实际成本以及JVM用于加速分配的技巧?

java jvm memory-management

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

如何在具有内存和时间限制的沙箱中运行不受信任的 Groovy 代码?

我正在创建一些将采用任意 Groovy 代码并执行它的东西(一个 IRC 机器人)。我知道如何使用 SecurityManagers 对文件访问、线程等进行沙盒处理,但是如果脚本的 RAM 使用量超过 128 MB 或执行时间超过 3 秒(因此没有人让它运行while (true){}),我想杀死脚本。这是我的代码:

private static Object eval(String code) {
    GroovyShell sh = new GroovyShell()
    return sh.parse(code).run()
}
Run Code Online (Sandbox Code Playgroud)

我真的不想生成一个新的 JVM,因为我希望将异常传递给主程序并传递实际对象而不是字符串(如果我打算制作其他前端,则可以重复使用)。

java groovy jvm sandbox

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

标签 统计

java ×3

jvm ×2

groovy ×1

memory-management ×1

multithreading ×1

sandbox ×1