java-今天在JVM中最接近真实(资源受限)隔离的是什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-今天在JVM中最接近真实(资源受限)隔离的是什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1286字,纯文字阅读大概需要2分钟。
内容图文
![java-今天在JVM中最接近真实(资源受限)隔离的是什么?](/upload/InfoBanner/zyjiaocheng/652/f8aa0280f0a1433f85e5933c07d7dd0a.jpg)
处于以下情况:
>您有一个庞大而复杂的系统(分布式,并发,庞大的数据集),该系统支持许多用户.代码被发送到数据.
>您想允许系统中的移动代码-即将与系统其余部分在同一JVM中运行的不受信任的代码,以利用数据的本地性,避免反序列化等.
您可以将代码放在有趣的类加载器中,并像applet运行程序一样使用自定义的安全策略.但是仍然存在问题:
整个系统应该受到保护,免受恶意代码的侵害-例如,产生大量的线程,耗尽所有cpu,分配过多的内存.
千年之初的想法是JSR-121.隔离旨在带来进程隔离的大多数好处-限制cpu使用,线程生成,堆使用:通常是资源分配.
考虑到Sun似乎放弃了这项工作,我们目前能得到的最接近的是什么?
到目前为止,我的想法是:
>字节码转换代码以插入分配跟踪. Google似乎做了类似的事情:http://code.google.com/p/java-allocation-instrumenter/.就像Google(Joshua)将自己推到一个角落并将各种东西打包成私有的一样,它需要一些工作…
>还禁止调用安全管理器无法执行的操作,例如创建线程.
>将(很少)中断检查插入到循环和递归函数中,以便监视线程可以监视(使用ThreadMXBean),如果花费的时间太长,则中断有问题的线程.仅对重入进行限制可能更简单-在对用户代码的任何调用中,基本块只能在中止之前输入n次.
有没有更好的或现有的方法来做到这一点?
解决方法:
这是一个复杂的问题.我的第一个想法是创建一种特定于域的语言,该语言可以满足“移动”用户的需求. DSL无法执行危险的操作.
谁将上传不受信任的代码?听起来像是一个可疑的想法.我们花了很多精力来确保人们不能运行不受信任的代码;-)
内容总结
以上是互联网集市为您收集整理的java-今天在JVM中最接近真实(资源受限)隔离的是什么?全部内容,希望文章能够帮你解决java-今天在JVM中最接近真实(资源受限)隔离的是什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。