小编For*_*est的帖子

DELETE_ORPHAN和DELETE有什么区别?

这是源代码:

@OneToOne(fetch = FetchType.LAZY)
@Cascade({SAVE_UPDATE, EVICT, DELETE})
@JoinColumn(name = "A_ID", nullable = true)
private A a;

@OneToMany
@Cascade({SAVE_UPDATE, EVICT, DELETE, DELETE_ORPHAN})
@JoinColumn(name = "B_ID")
private List<B> bList;
Run Code Online (Sandbox Code Playgroud)

DELETE_ORPHAN和DELETE有什么区别?

hibernate

24
推荐指数
1
解决办法
3万
查看次数

如何保护Java代码免受反编译?

我们知道,有很多java反编译工具可以将.cl​​ass转换为.java文件.

因此,我们需要保护我们的.java文件免受反编译.我知道这是一个很大的话题,也许没有结局.

通常,有两种方式:混淆器和自定义类加载器.

是否有任何成熟的解决方案或开源框架,这两种方式相结合?

另一个方面与exe4j有关,它将jar包装到exe文件中,看起来它可以保护java代码,因为我们可以看到的是exe文件而不是jar文件或类文件.但实际上,当它运行时,它会将所有jar文件分解为临时目录,这意味着很容易获得反编译器的类文件.那么从exe4j方面保护java代码的任何考虑因素呢?

感谢您的意见和建议.

更新

感谢大家的建议或经验分享.这对我很有帮助.为了得出结论,我将放弃任何具有加密功能的混淆器或自定义类加载器.因为最终Java代码可以在聪明的黑客之前公开.

我将在编译时使用C语言中的"#ifdef"等技巧删除一些核心代码.在Java中,static和final布尔类变量可用于执行相同的工作.然后,compilered类文件将不包含受需要保护的java代码.

java obfuscation decompiling

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

标签 统计

decompiling ×1

hibernate ×1

java ×1

obfuscation ×1