我知道jar文件(或类文件)可以用URLClassLoader远程加载。但是这种方法能防止盗版吗?
假设我在服务器上有一个jar文件,在客户端,我可以用URLClassLoader动态加载jar。但是安全呢?jar文件是否下载到客户端的临时目录中?有人可以访问jar文件的内容并对其进行反编译吗?
提前感谢,
奥努尔
是和否:
>
是的,这是安全的,因为加载的类不会比您自己的代码拥有更多的权限。
不,因为你不能控制它。因此,这些类可以做代码权限允许的任何事情,甚至是您没有预料到的事情。
例如,如果您的代码是在浏览器中执行的Java小程序,则加载的类将无法从随机URL下载内容(SecurityException
)。但他们可能会展示你意想不到的东西。
本文向大家介绍深入理解Java 类加载全过程,包括了深入理解Java 类加载全过程的使用技巧和注意事项,需要的朋友参考一下 Java类加载全过程 一个java文件从被加载到被卸载这个生命过程,总共要经历4个阶段: 加载->链接(验证+准备+解析)->初始化(使用前的准备)->使用->卸载 其中加载(除了自定义加载)+链接的过程是完全由jvm负责的,什么时候要对类进行初始化工作(加载+链接在此之前已
问题内容: 我写了下面的Singleton类。我不确定这是否是线程安全的单例类吗? 谁能帮我这个?我在上述Singleton课堂上的任何想法都会有很大帮助。 更新代码: 我正在尝试将波希米亚建议纳入我的代码中。这是更新的代码,我得到了- 谁能看一下,让我知道这次是否正确? 问题答案: 但是有一个简单的技巧,可以让你的代码是线程安全的实现,并不需要同步!它称为“ 按需初始化持有人”习惯用法,它看起来
我试图调用一个安全的远程ejb,但我不能。我使用ejb-client-API。 应用程序部署在名为som的ear中。耳朵 我用的是Wildfly 8.2.0决赛 代码客户端: JBossEJB客户端。财产 EJB 独立的。xml 服务器日志 客户端日志 我可以看到,之所以使用安全域“som_security_domain”的配置,是因为它运行查询以获取密码和主体的角色,但在尝试执行安全域的Auth
问题内容: 嗨,我有RMI应用程序,现在我尝试从客户端在服务器上调用一些方法。我有以下代码: 服务器已正确加载,但是在尝试致电时出现以下错误: 我已将策略文件添加为VM参数,如下所示: 它一直在说关于禁用类加载的东西,所以我想问题就在那儿……谢谢! 问题答案: 远程类加载可能很棘手。 原始帖子不包含有关代码库的任何信息。客户端的安全配置可能正确,但是无法访问远程代码。客户端直接从“代码库”中加载类
问题内容: 更新: 为避免问题完全归因于同一原产地政策的可能性,我尝试在本地提供服务,因为所有资产都来自使用 Serve 。它没有解决问题。因此,由于相同的原始策略,可能无法编辑小提琴,但是您可以在此处看到代码。 我正在尝试使用Dynatable加载外部JSON,跳过读取/标准化步骤(该步骤从现有表生成JSON)。应该支持它,但是它对我不起作用。 这是我对JSFiddle的尝试。从小提琴中可以看出
远程类加载是指加载未在执行位置显示的类。 例如,JavaApplet需要将类从服务器加载到本地并在本地执行。 一些包含URLClassLoader的程序需要从网络加载类,并在本地执行。 RMI怎么样?我找到了一个名为RMIClassLoader的类?是远程类加载吗?