>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 29914 个阅读者 刷新本主题
 * 贴子主题:  统计jdk8 总共有多少个类 回复文章 点赞(0)  收藏  
作者:javathinker    发表时间:2019-09-22 15:46:48     消息  查看  搜索  好友  复制  引用

目标

本来心思,今年2019年的计划好好深入jdk的,打算一天学一个,于是计划详细时间规范,写了个程序,计算有多少个类,结果,小小的数字对我是伤害那么的大

结果

总共7706个类,一天学一个也需要21年。
于是退而求次 只学习java包下,不包含awt,和applet的结果1495
嗯,,,,,很上火,我只学java.lang和java.util的还不行吗
java.util   364
java.lang   233
但是这是基础,只能督促督促自己了,列入2019年计划了

程序
以下程序写的不是很好,主要是用于计算JDK类库包含多少Java类文件
package jdk.util.concurrent;

import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.List;

/**
* 计算一下jdk8源码的文件数量,估算自己的学习时间
*
* @ClassName JDKFileLengthTest
* @author <a href="892042158@qq.com" target="_blank">于国帅</a>
* @date 2019年1月26日 上午9:03:31
*
*/

public class JDKFileLengthTest {
    static List<String> fileNameList = new ArrayList<>();

    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;
                }
            });
        }
    }
}

————————————————
原文链接:https://blog.csdn.net/mengxiangxingdong/article/details/86654353


程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->继承
  JavaWeb开发-->使用Session(Ⅰ)
  JSP与Hibernate开发-->通过JPA API检索数据
  Java网络编程-->Socket用法详解
  精通Spring-->Vue Router路由管理器
  Vue3开发-->虚拟DOM和render()函数
  为网站代码块pre标签增加一个复制代码按钮代码
  java的三种随机数生成方式
  volatile 实现原理
  小数在内存中是如何存储的?
  邀请您一起来祝福和祈祷,祈愿疫情早日消除,平安吉祥
  深入分析synchronized实现原理
  Java读取大文件的高效率实现_java大文件
  用BigDecimal进行精确运算的范例
  Java入门实用代码: 集合中添加元素
  Java入门实用代码:使用 Enumeration 遍历 HashTable
  Java入门实用代码:向文件写入字符串
  Java 入门实用代码: 数组差集
  JAVA设计模式之备忘录模式原理与用法详解
  通过Java读取Excel数据
  Java入门实用代码:删除一个文件目录
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。