我安装了intellij,它一直给我错误:
Could not find or load main class sample.Main
Run Code Online (Sandbox Code Playgroud)
我检查了许多相似问题的答案,但没有找到它们.我正在尝试运行的程序:
package com.company;
public class Main {
public static void main(String[] args) {
System.out.printf("hello");
}
}
Run Code Online (Sandbox Code Playgroud)
"out"文件夹未创建.扩展"..."后intellij使用的完整运行命令
"C:\ Program Files\Java\jdk1.8.0_181\bin\java.exe"" - javaagent:E:\ Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.2.1\lib\idea_rt.jar = 51072:E:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.2.1\bin"-Dfile.encoding = UTF-8 -classpath"C:\ Program Files\Java\jdk1.8.0_181\jre\lib\charsets.jar; C:\Program Files\Java\jdk1.8.0_181\jre\lib\deploy.jar; C:\ Program Files\Java\jdk1.8.0_181\jre\lib\ext\access-bridge-64.jar; C:\ Program Files\Java\jdk1.8.0_181\jre\lib\ext\cldrdata.jar; C:\ Program Files\Java\jdk1.8.0_181\jre\lib\ext\dnsns.jar; C:\ Program Files\Java\jdk1.8.0_181\jre\lib\ext\jaccess.jar; C:\ Program Files\Java\jdk1.8.0_181\jre\lib\ext\jfxrt.jar; C:\ Program Files\Java\jdk1.8.0_181\jre\lib\ext\localedata.jar; C:\ Program Files\Java\jdk1.8.0_181\jre\lib\ext \nashorn.jar; C:\ Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunec.jar; C:\ Program …
我有一个文件列表和一个分析这些文件的分析器列表。文件数量可能很大(200,000 个),分析器数量可能很大(1000 个)。因此操作总数可能非常大(200,000,000)。现在,我需要应用多线程来加快速度。我遵循了这种方法:
ExecutorService executor = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
for (File file : listOfFiles) {
for (Analyzer analyzer : listOfAnalyzers){
executor.execute(() -> {
boolean exists = file.exists();
if(exists){
analyzer.analyze(file);
}
});
}
}
executor.shutdown();
executor.awaitTermination(Long.MAX_VALUE, TimeUnit.SECONDS);
Run Code Online (Sandbox Code Playgroud)
但这种方法的问题是它从内存中获取了太多内容,我想有更好的方法来做到这一点。我还是java和多线程的初学者。