如何在Java 8中并行读取文件的所有行

我想尽快将1 GB大文件的所有行读入Stream 。 目前我正在使用Files(path).lines() 。 在解析文件之后,我正在进行一些计算( map() / filter() )起初我认为这已经是并行完成了,但似乎我错了:当按原样读取文件时,它需要在我的双CPU笔记本电脑上50秒。 但是,如果我使用bash命令拆分文件然后并行处理它,它只需要大约30秒。 我尝试了以下组合: 单个文件,没有平行线()流~50秒 单个文件, Files(..).lines().parallel().[…] ~~ 50秒 两个文件,没有平行线()strean~30秒 两个文件, Files(..).lines().parallel().[…] ~~ 30秒 我用大致相同的结果(1或2秒)多次运行这4次。 […]只是一个地图和filter链,最后有一个toArray(…)来触发评估。 结论是使用lines().parallel()没有区别。 由于并行读取两个文件所需的时间较短,因此分割文件会带来性能提升。 然而,似乎整个文件是串行读取的。 编辑:我想指出我使用SSD,所以实际上是在寻找时间。 该文件总共有1658652(相对较短)的行。 在bash中拆分文件大约需要1.5秒: time split -l 829326 file # 829326 = 1658652 / 2 split -l 829326 file 0,14s user 1,41s system 16% cpu 9,560 total 所以我的问题是,Java 8 […]

JPA使用替代“persistence.xml”

我知道这说明: Persistence.createEntityManagerFactory(“persistence-unit-name”); JPA持久性机制读取“persistence.xml”文件,查找名为“persistence-unit-name”的持久性单元,并基于它构造EntityManagerFactory。 我的问题是,如何强制JPA 采用与“persistence.xml”不同的文件 ? 例如,“persistence-test.xml”。

用于在java中操纵video的库/教程

我需要在Java应用程序中进行一些简单的video编辑,但我发现的框架( JMF和FMJ )看起来很陈旧,到目前为止我还没有找到任何可以实际编辑video的证据。 我需要的操作类型是:裁剪,编辑部分和提取剪辑。 我之前从未使用任何实际video,所以我可能只是误解了FMJ / JMF所做的事情,但我仍然担心这些工具的最新版本的时代。 人们用什么来做这种事情? 我应该使用哪些关键字来获得更相关的结果? (video的具体格式对我来说并不是特别重要 – 任何常见的东西都很好。)

在Java应用程序中获取任何/所有活动JFrame?

有没有办法在Java应用程序中列出所有当前打开/活动(我不确定这里的术语) JFrames在屏幕上可见? 谢谢你的帮助。

Java调度程序完全独立于系统时间的变化

使用Java Timer,然后切换到ScheduledExecutorService,但我的问题没有修复。 在系统时间更改之前安排的任务(通过ntpd)不会在指定的延迟时执行。 没有任何日志记录相同:(。 在64位linux上使用我的目标中的jre 1.6.0_26 64位。 更新: ScheduledExecutorService在Windows上运行正常。 问题仅出在运行64位JVM的基于64位Linux的系统上。 它在运行32位JVM的64位linux上运行良好……很奇怪。 在任何博客上都没有找到任何相同的参考。 IBM的JAVA SDK也存在同样的问题(ibm-java-sdk-7.0-0.0-x86_64-archive.bin)。 我已经提交了针对JDK 7139684的缺陷,它被接受但已被关闭并标记为6900441的副本 。 请投票给它,如果你觉得它的价值得到修复…我不知道为什么它已经修复了几年以上 以下是我用来测试此问题的示例代码: package test; import java.io.IOException; import java.util.Date; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; /** * @author yogesh * */ public class TimerCheck implements Runnable { ScheduledExecutorService worker; public TimerCheck(ScheduledExecutorService worker) { super(); this.worker = worker; this.worker.schedule(this, 1, […]

int的哈希码

什么是基本类型的哈希码,例如int? 例如,让我们说num是一个整数。 int hasCode = 0; if (num != 0) { hasCode = hasCode + num.hashCode(); }

java ArrayList包含不同的对象

是否可以创建ArrayList list = new ArrayList() ; 我的意思是将不同类的对象添加到一个arraylist? 谢谢。

如何使用javac编译java包结构

目标 我正在尝试编译(从命令行)一个java包导入我自己的另一个包。 之前的工作 我正在关注位于以下url的教程: http : //www.roseindia.net/java/master-java/createsubpackage.shtml 但是当我尝试编译最终的java文件(CallPackage.java)时,我似乎遇到了错误。 示例的文件结构 这是文件结构: +test_directory (contains CallPackage.java) -> importpackage -> subpackage (contains HelloWorld.java) 码 这是CallPackage.java /// CallPackage.java import importpackage.subpackage.*; class CallPackage{ public static void main(String[] args){ HelloWorld h2=new HelloWorld(); h2.show(); } } 这是HelloWorld.java ///HelloWorld.java package importpackage.subpackage; public class HelloWorld { public void show(){ System.out.println(“This is the function of the […]

了解Hibernate中的mappedBy注释

我试图理解JPA中@OneToMany注释的mappedBy属性。 我创建了以下示例,其中Customer有一个Orders列表: @Entity public class Customer { @Id @GeneratedValue public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } private Integer id; @OneToMany(mappedBy=”customer”) @OrderColumn(name=”orders_index”) public List getOrders() { return orders; } public void setOrders(List orders) { this.orders = orders; } private List orders; } @Entity @Table(name=”TBL_ORDER”) public class Order […]

如何将文件夹及其所有子文件夹和文件复制到另一个文件夹

如何将文件夹及其所有子文件夹和文件复制到另一个文件夹中?