统计jdk8 总共有多少个类
目标
本来心思,今年2019年的计划好好深入jdk的,打算一天学一个,于是计划详细时间规范,写了个程序,计算有多少个类,结果,小小的数字对我是伤害那么的大
结果
总共7706个类,一天学一个也需要21年。妈卖比 于是退而求次 只学习java包下,不包含awt,和applet的结果1495 嗯,,,,,很上火,我只学java.lang和java.util的还不行吗 java.util 364 java.lang 233 日了狗,但是这是基础,只能督促督促自己了,列入2019年计划了
程序
写的不是很好,主要是计算下文件
package jdk.util.concurrent;
import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.List;
/**
* 计算一下jdk8源码的文件数量,估算自己的学习时间
*
* @ClassName JDKFileLengthTest
* @author 于国帅
* @date 2019年1月26日 上午9:03:31
*
*/
public class JDKFileLengthTest {
static List
public static void main(String[] args) {
// 写一个方法 根据传递的目录来查找
// String dir = "F:\\xmind2\\jdk8_source_code_research\\jdk8_source_code_research"; //7706个类文件
// String dir = "F:\\xmind2\\jdk8_source_code_research\\jdk8_source_code_research\\src\\java"; //1495
// String dir = "F:\\xmind2\\jdk8_source_code_research\\jdk8_source_code_research\\src\\java\\lang"; // 233
String dir = "F:\\xmind2\\jdk8_source_code_research\\jdk8_source_code_research\\src\\java\\util"; // 233
new JDKFileLengthTest().findFileNumber(dir);
System.err.println(fileNameList.size());
}
private void findFileNumber(String dir) {
File file = new File(dir);
if (file.isDirectory()) {
file.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
if (pathname.isDirectory()) {
// awt //applet 排除掉
if (pathname.getAbsolutePath().contains("awt") || pathname.getAbsolutePath().contains("applet"))
return true;
findFileNumber(pathname.getAbsolutePath());
return true;
}
if (pathname.getName().endsWith(".java")) {
fileNameList.add(pathname.getName());
}
return false;
}
});
}
}
}