草庐IT

java - 如何禁止 Java VM 在崩溃/将敏感数据写入磁盘时创建任何转储

我正在编写一个将敏感数据(密码和私钥)存储在内存中的Java程序。它将自由部署到任何操作系统。我知道用户几乎可以在任何系统上手动创建内存转储,但我担心操作系统或JVM实现创建的转储(包括但不限于JVM本身的某些段错误)会损害隐私敏感数据。是否可以采取任何措施来降低这些风险?Thisquestion是POSIX特定的,但给了我这些平台的答案。我有一个非平台特定的想法,包括将UncaughtExceptionHandler(likethis)设置为一个将覆盖敏感数据的类。但是如果内存被换出怎么办?如果JVM因JVM/JNI错误而崩溃(例如段错误)怎么办?我知道Linux可以阻止数据交换到磁

Java 垃圾收集器 G1GC 花费很长时间等待 'Object Copy'(疏散暂停)

我不是Java新手,但我对垃圾回收知之甚少。现在我想通过一些实际经验来改变这种状况。我的目标是延迟时间低于0.3秒,或者在极端情况下0.5秒也可以。我有一个带有-Xmx50gb(-Xms50gb)的应用程序并设置了以下其他GC选项:-XX:+UseG1GC-Xloggc:somewhere.gc.log-XX:+PrintGCDateStamps但现在我偶尔会因为垃圾收集而暂停超过5秒,尽管似乎有足够的可用内存。我发现的一个原因:[GCpause(G1EvacuationPause)(young)42G->40G(48G),5.9409662secs]为什么GCG1还在为此做一个“停止

Java SE "occurred during initialization of VM"

我在windows7x64上安装了jdkse32bit。对于Windows,位于“http://www.oracle.com/technetwork/java/javase/downloads/index.html”。我收到了这条错误消息。C:\Users\Administrator>javac-versionErroroccurredduringinitializationofVMjava.lang.ClassNotFoundException:errorinopeningJARfiled:\ProgramFiles(x86)\prg_java\jdk1.6.0_26\jre\lib

java - MacOS : Workspace defines a VM that does not contain a valid jre/lib/rt. jar 上的 Maven 警告

我正在尝试清理我的Maven,当我运行mvneclipse:eclipse-Dwtpversion=2.0时收到此警告[警告]Workspace定义了一个不包含有效jre/lib/rt.jar的VM:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home有没有人知道如何修复它?我在MacOS上。这是我为eclipse配置的内容: 最佳答案 有补丁here,但到目前为止还没有应用于任何版本。:-(作为解决方法,您可以按照here所述创建符号链接(symbolic

java - `copy(List<? super T> dest, List<? extends T> src) ` 和 `copy(List<T> dest, List<? extends T> src)` 之间的差异

我正在尝试通过阅读以下内容来学习Java泛型通配符:http://www.angelikalanger.com/GenericsFAQ/FAQSections/TypeArguments.html#FAQ103Material中有一个例子:publicclassCollections{publicstaticvoidcopy(Listdest,Listsrc){for(inti=0;i我想知道我是否可以按如下方式更改方法签名:publicstaticvoidcopy(Listdest,Listsrc){↓publicstaticvoidcopy(Listdest,Listsrc){这两

java - 远程调试 : Failed to connect to remote VM. 连接超时

我在我的UbuntuVM上使用Eclipse远程调试远程WebLogic应用程序,然后它停止工作。我在远程服务器上打开了调试。从我的VM,我可以远程登录到远程调试端口。我试过重新启动Eclipse并将网络连接设置为Direct。它只是一直超时。FailedtoconnecttoremoteVM.Connectiontimedout.org.eclipse.jdi.TimeoutException在.log中:!MESSAGEFailedtoconnecttoremoteVM.Connectiontimedout.!STACK0org.eclipse.jdi.TimeoutExcepti

java - Eclipse : -javaagent 中的默认 VM 参数

我需要将以下参数设置为Eclipse中的默认VM参数-javaagent/Developer/aspectj-1.6/aspectjweaver.jar当我添加该行并运行我的代码时,出现错误:Unrecognizedoption:-javaagentCouldnotcreatetheJavavirtualmachine.我该如何解决这个问题? 最佳答案 -javaagent和JAR之间需要一个冒号(:),而不是空格。例如:-javaagent:/Developer/aspectj-1.6/aspectjweaver.jar

带有VM配置的应用程序包

我正在尝试以它们描述的方式使用应用程序包https://docs.microsoft.com/en-us/azure/batch/batch-application-packages但是我一直在错误地说applicationpathnotfound.有什么想法可能出了什么问题吗?或者应用程序包在后台如何工作,这可能有助于我调试错误?编辑:我正在尝试将特定于我的工作经理任务的应用程序包添加。我以AzurePortal的名称和1.0版,通过AzurePortal添加了软件包作为ZIP文件。这是我用来引用它的代码:stringtaskID="tasktest1";//Obtainapplicatio

Java:使用 nio Files.copy 移动目录

我是nio类的新手,在将文件目录移动到新创建的目录时遇到问题。我首先创建2个目录:FilesourceDir=newFile(sourceDirStr);//thisdirectoryalreadyexistsFiledestDir=newFile(destDirectoryStr);//thisisanewdirectory然后我尝试将现有文件复制到新目录中,使用:PathdestPath=destDir.toPath();for(inti=0;i这会引发以下错误:Exceptioninthread"main"java.nio.file.FileSystemException:des

java - Itext7 生成 pdf 异常 "Pdf indirect object belongs to other PDF document. Copy object to current pdf document."

我想用itext7生成一个pdf,但是我们发生了一些错误:com.itextpdf.kernel.PdfException:PdfindirectobjectbelongstootherPDFdocument.Copyobjecttocurrentpdfdocument.atcom.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.java:195)~[kernel-7.0.2.jar:na]atcom.itextpdf.kernel.pdf.PdfOutputStream.write(PdfOutputStream.j