>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 29915 个阅读者 刷新本主题
 * 贴子主题:  统计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开发-->JSP技术详解(Ⅰ)
  JSP与Hibernate开发-->使用JPA和注解
  Java网络编程-->Socket用法详解
  精通Spring-->组合(Composition)API
  Vue3开发-->Vue Router路由管理器
  CRMEB_Java新零售社交电商系统
  java的三种随机数生成方式
  孙卫琴的视频课程的源代码下载
  Java内存设置详解(含内存溢出问题的解决)
  整理收集的一些常用java工具类
  JDK自带JVM调优工具的用法
  java 中文繁简体转换工具 opencc4j
  64匹马,8个赛道,找出跑得最快的4匹马
  java万年历简单制作
  使用javaNIO实现C/S模式的通信
  Java设计模式:传输对象模式
  Java入门实用代码:死锁及解决方法
  Java入门实用代码:自定义异常
  Java入门实用代码:字符串优化测试
  Java程序初始化顺序(一看就懂)
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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