草庐IT

磁盘分区

全部标签

java - 磁盘空间不足会导致 java.lang. io。 EOF异常

今天在java序列化和反序列化中遇到了奇怪的行为(“奇怪”是因为我不明白)我正在对linux共享目录中的对象进行序列化和反序列化。虽然序列化一切都没有任何问题,但是当我试图反序列化同一个文件时它抛出java。io。EOFException。此外,反序列化仅对这个新创建的文件失败,并且对该目录中的所有其他旧文件有效。所以我在互联网上进行了搜索,发现一个帖子说磁盘空间不足也可能是导致此错误的原因。所以我清理了一些临时文件,瞧,它起作用了。我不明白低磁盘空间如何只影响反序列化而不影响序列化?我正在使用apachecommonsSerializationUtils类。下面是序列化和反序列化的代

磁盘使用情况的 Java 分析

我现在想分析我的应用程序,它使用JCS进行缓存。我使用了netbeansIDE附带的默认分析器,它证明对内存来说是令人满意的。但是我想分析我的应用程序的磁盘使用情况,因为我的应用程序缓存项目在磁盘中我想验证它的性能。有没有办法使用netbeans附带的分析器或使用任何商业分析器(如JProfiler)来执行此操作。提前致谢 最佳答案 JProfiler有一个文件探测器将向您显示:文件的时间线和它们的I/OActivity所有文件及其I/O统计信息的列表“热点”,即执行大多数读/写操作的文件以及对您的代码的累积回溯遥测总读写吞吐量显示

Java:在巨大的磁盘文件上进行随机读取的最快方法

我有一组中等大小的数据,大约800MB左右,这基本上是一些大型的预计算表,我需要将一些计算速度提高几个数量级(创建该文件需要数个多核计算机几天才能生成)使用优化的多线程算法...我真的需要那个文件)。现在已经计算了一次,那800MB的数据是只读的。我无法记住它。到目前为止,它是一个800MB的巨大文件,但如果有帮助,拆分成更小的文件不是问题。我需要花很多时间在该文件中到处读取大约32位的数据。我事先不知道我需要在哪里读取这些数据:读取是均匀分布的。在Java中随机读取这样一个或多个文件的最快方法是什么?理想情况下,我应该从几个不相关的线程中进行这些读取(但如果需要,我可以在单个线程中对

java - 哪种加密算法可用于加密存储在磁盘上的文件?

我在文件中有一些文本。我想加密此文件,以便最终用户无法读取或写入此文件,但应用程序可以读取它。应用程序中可以存储secret,因为它以另一种方式得到保护。什么类型的加密支持这些要求?我在想AES。我对加密知之甚少,正在寻找一个起点。算法或框架建议会很棒。最后一点,代码是在Windows和Linux环境上运行的Java。 最佳答案 由于您已将帖子标记为“Java”——我建议您查看“JavaCryptographyExtension”(JCE)。从J2SE1.4开始,它就与SDK和JRE捆绑在一起。当然,一个必要的例子和overview

java - 如何以编程方式在磁盘上查找当前信任库?

是否有任何函数可以告诉我我的程序中当前使用的信任库是什么?在Windows上,默认信任库位于JAVA_HOME\lib\security\cacerts。但是,可以通过多种方式更改默认值。在命令行中使用-Djavax.net.ssl.keyStore使用Keystore类。如果程序在运行应用程序的应用服务器上运行,可以通过它的面板设置存储路径。如果程序在Tomcat上运行,则Tomcat设置可能会更改信任库。以及许多其他方式。是否有一种编程方式可以找出当前处于Activity状态的信任库的磁盘路径? 最佳答案 一般来说,你不能(这与

java - 从屏幕捕获并保存到磁盘多线程

接下来的问题应该是观察屏幕、记录一个事件(测量文本框变为绿色)并记录导致它发生的所有事件,从而制作出导致它发生的事件的“电影”。不幸的是,需要记录整个屏幕。到目前为止,我已经完成了认可的部分。但是我每秒几乎没有两帧。我想要大约25到30fps。我的想法是在两个单独的线程中进行写作和阅读。因为写入事件很少见并且可以在后台运行,所以录制事件可以占用更多时间并运行得更快。不幸的是,整个事情似乎太慢了。我希望能够在事件发生前的10到20秒将屏幕写入磁盘。编辑:如果可能的话,我想尽可能保持平台独立。编辑2:Xuggler似乎有一个独立于平台的jar文件。不幸的是,我真的不知道如何将它用于我的目的

java - QuickSort分区算法

我正在尝试编写Cormen算法教科书中的快速排序算法。下面是我的代码。classQuicksort{publicvoidqSort(int[]a,intp,intr){if(p但是,当我执行这段代码时,我得到了一个错误的输出。OriginalArray:54721936108SortedArray:14526738910谁能解释一下哪里出了问题。我已经完全按照“算法简介”一书中给出的方式实现了这段代码。谢谢。 最佳答案 不,你没有直接复制它:)我有它......for(intj=p;j应该是for(intj=p;j或for(intj

java - 您如何获取磁盘上的文件,而不仅仅是 Java 中的文件大小?

我需要磁盘上的文件大小,而不是文件大小。FilemyFile=newFile("C:\\Send\\Capture.png");System.out.println((int)myFile.length());此代码给出了文件大小。我需要磁盘上的文件大小。它们总是恰好不同,如下图所示,对吧? 最佳答案 看看link答案是为c#提供的,但由于它使用win32API函数,您可以轻松地将其转换为java。用于获取磁盘大小的函数是GetCompressedFileSize希望对你有帮助 关于ja

java - 使用 AWS S3 Java 将 ZipOutputStream 上传到 S3 而无需将 zip 文件(大)临时保存到磁盘

我需要从S3下载照片(不在同一目录中),将它们压缩并使用AWSS3JavaSDK再次上传到S3。此zip文件大小可以GB为单位。目前我使用的是AWSLambda,它的临时存储限制为500MB。所以我不想将ZIP文件保存在磁盘上,而是想将ZIP文件(使用从S3下载的照片动态创建)直接流式传输到S3。我需要使用AWSS3JavaSDK。 最佳答案 基本思想是使用流操作。这样您就不会等到ZIP在文件系统上生成,而是尽快开始上传,因为ZIP算法会生成任何数据。显然,一些数据会缓存在内存中,仍然不需要等待整个ZIP生成到磁盘上。我们还将在两个

java - 你能用 Guava 复制 Clojure 的(分区)或 Scala 的 sliding() 函数吗?

我有一个列表,我想以类似于Clojure的(partitionszstepcol)方法或IterableLike.sliding(size:Int,step:Int)Scala函数。具体来说,给定如下列表:(1,2,3)我希望能够像这样遍历子列表:(1,2),(2,3)在Clojure中,这将通过以下方式完成:(partition21(1,2,3))在Scala中它会是:valit=Vector(1,2,3).sliding(2)但是我没有这样的奢侈,我希望避免自己动手。Guava有一个接近的分区方法,但不提供重叠。谷歌搜索也没有结果。是否存在这样的方法,还是我必须自己动手?