草庐IT

保护条

全部标签

java - 用锁保护非 volatile 字段的初始化?

出于教育目的,我正在编写一个简单版本的AtomicLong,其中一个内部变量由ReentrantReadWriteLock保护。这是一个简化的示例:publicclassPlainSimpleAtomicLong{privatelongvalue;privatefinalReentrantReadWriteLockrwLock=newReentrantReadWriteLock();publicPlainSimpleAtomicLong(longinitialValue){this.value=initialValue;}publiclongget(){longresult;rwLoc

java - 通过 HTTP 保护 Spring Data RepositoryRestResource (CrudRepository),但不是在内部

我有一个SpringData项目,它使用RepositoryRestResource和CrudRepository来通过REST公开实体。我需要能够在通过HTTP访问时保护存储库,但在内部使用时(例如在服务层中)不保护它。我已经启动并运行了SpringSecurity,但是在CrudRepository方法上添加像PreAuthorize这样的注释,也会导致在我从我的服务层中调用这些方法时执行安全表达式。如果有人能用这个为我指明正确的方向,我会很高兴。编辑1我已经尝试从UserRepository中删除RestExport和安全注释以供内部使用,然后将UserRepository子类化

java - 访问控制——保护包外的成员

我在默认包中有类P4(我知道使用默认包是不好的做法,但现在只是“例如”):importtemp.P2;publicclassP4extendsP2{publicvoidsomeMethod(){P2p2=newP2();//p2.p2default();//ERRORasexpectedp2.p2public();p2.p2protected();//ERRORasnotexpected}}和类P2包temppackagetemp;publicclassP2{protectedvoidp2protected(){...}publicvoidp2public(){...}voidp2de

java - 如何保护 java 中的方法(溢出等)

我必须用Java编写一个“看门狗”,它确保线程不会执行太长时间。对象的初始化没问题,我创建了一个类,它调用WatchDog和在run()方法中使用反射的构造函数。一个线程很容易停止,但我如何才能保护对象的正常方法呢?例如,我调用一个对象的方法,这个方法执行无限循环,你会怎么做?谢谢 最佳答案 首先,我应该指出停止一个线程不容易。事实上,在一般情况下,线程是无法安全停止的:您可以在要停止的线程上调用Thread.interrupt(),但不能保证线程会注意到中断,更不用说真正停止了。您可以调用已弃用的Thread.stop()方法,但

java - 如何保护我的应用程序免受盗版

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowareSoftwareLicenseKeysgenerated?我是软件开发的初学者,我想知道如何在我的Java应用程序上实现保护系统以防止盗版。我知道没有完美的解决方案。但我只想知道如何保护它。并且不要告诉我让它开源,在我的情况下这是不可能的:)。感谢您的时间和回答。

java - 使用 PDFBox 保护 PDF

我真的为PDFBox的文档而苦恼。对于这样一个受欢迎的图书馆,信息似乎有点单薄(对我来说!)。无论如何,我遇到的问题与保护PDF有关。目前我只想控制用户的访问权限。具体来说,我想阻止用户修改PDF。如果我省略访问权限代码,一切都会完美无缺。我正在阅读来自外部资源的PDF。然后我阅读并填充字段,在保存新PDF之前添加一些图像。一切都很完美。当我添加以下代码来管理访问时,问题就来了:/*SecurethePDFsothatitcannotbeedited*/try{StringownerPassword="DSTE$gewRges43";StringuserPassword="";Acce

java - 如何使用 thymeleaf 作为模板引擎和 Flying Saucer 作为渲染器使用密码保护 pdf 报告

PDF生成成功,但我想用密码保护它。flying-saucer-pdf文档对我没有帮助。我正在使用这个例子Usingthymeleaf+flying-saucer-pdf+SpringBoot 最佳答案 要使用FlyingSaucerPDFCreator在PDF中设置密码,请使用PDFEncryption类。要为您的PDF设置密码,首先创建一个PDFEncryption实例,然后像这样使用它的方法setUserPassword():finalFileoutputFile=File.createTempFile(fileName,".

java - 如何保护解密 key 不被反编译?

我是一名初级Java程序员。我正在开发一个解密某些数据的应用程序。解密key被硬编码到软件中,因此可以通过分析字节码看到。我知道逆向工程是无法完全避免的,所以我想做的是让这个过程尽可能困难。我的想法不是直接将key放入我的代码中,而是让它经过某种转换。例如,我可以写-privatestaticfinalbyte[]HC256A=Hex.decode("8589075b0df3f6d82fc0c5425179b6a6"+"3465f053f2891f808b24744e18480b72"+"ec2792cdbf4dcfeb7769bf8dfa14aee4"+"7b4c50e8eaf3a9

java - 保护最终变量免受反射

我想设计一个类来逐步证明不变性。下面是一个简单的类publicclassImmutableWithoutMutator{privatefinalStringfirstName;privatefinalStringlastName;privatefinalintage;publicImmutableWithoutMutator(finalStringfirstName,finalStringlastName,finalintage){this.firstName=firstName;this.lastName=lastName;this.age=age;}@OverridepublicS

java - 使用 lambda 保护线程安全

我正在尝试更新一些代码以使用lambda表达式,但我在保持线程安全方面遇到了一些麻烦。我有多个线程正在运行,最终调用以下回调,它有一个synchronized方法,可以将一些结果添加到LinkedList。finalListmappedDocs=newLinkedList();finalMapCallbackmapCallback=newMapCallback(){@Overridepublicsynchronizedvoiddone(intfile,Listresults){mappedDocs.addAll(results);}};但是,当我将它转换为lambda表达式时,我丢失了