大部分的 Java 软件开发都会使用到各种不同的库。近日我们从一万个开源的 Java 项目中进行分析,从中提取出最常用的 Java 类,这些类有来自于 Java 的标准库,也有第三方库。每个类在同一个项目中只计数一次,下面的列表中显示前 100 名的类。

以下列表中按使用最多的类进行排序,第三个数值表示 10000 个项目里使用到该类的项目数,而完整的列表请看 here.

  1. java.util.ArrayList(6958)

  2. java.io.IOException(6866)

  3. java.util.List(6784)

  4. java.util.HashMap(5590)

  5. java.util.Map(5413)

  6. java.io.File(5097)

  7. java.io.InputStream(4234)

  8. java.util.Set(3915)

  9. java.util.Arrays(3884)

  10. java.util.Iterator(3856)

  11. java.util.Collections(3643)

  12. java.util.Date(3461)

  13. java.util.HashSet(3278)

  14. java.io.BufferedReader(3257)

  15. java.util.Collection(3192)

  16. java.net.URL(3168)

  17. java.io.FileInputStream(3044)

  18. java.io.InputStreamReader(3023)

  19. org.junit.Test(3008)

  20. java.io.FileOutputStream(2843)

  21. java.io.FileNotFoundException(2669)

  22. java.io.OutputStream(2563)

  23. java.util.regex.Pattern(2469)

  24. java.io.Serializable(2437)

  25. java.util.LinkedList(2372)

  26. java.text.SimpleDateFormat(2245)

  27. java.util.Properties(2190)

  28. java.util.Random(2171)

  29. java.lang.reflect.Method(2141)

  30. java.io.ByteArrayOutputStream(2112)

  31. java.util.regex.Matcher(2012)

  32. android.os.Bundle(2007)

  33. java.util.logging.Logger(1999)

  34. java.io.UnsupportedEncodingException(1968)

  35. org.junit.Before(1920)

  36. java.util.Comparator(1896)

  37. java.io.ByteArrayInputStream(1868)

  38. java.io.PrintWriter(1862)

  39. java.util.Calendar(1854)

  40. android.app.Activity(1843)

  41. java.net.MalformedURLException(1828)

  42. android.content.Context(1780)

  43. android.view.View(1731)

  44. java.util.Locale(1719)

  45. java.util.Enumeration(1709)

  46. java.util.Map.Entry(1705)

  47. java.io.FileWriter(1677)

  48. java.io.FileReader(1651)

  49. android.util.Log(1614)

  50. android.content.Intent(1601)

  51. java.lang.reflect.InvocationTargetException(1594)

  52. java.util.logging.Level(1557)

  53. java.lang.reflect.Field(1499)

  54. java.io.StringWriter(1499)

  55. android.widget.TextView(1442)

  56. java.util.LinkedHashMap(1409)

  57. java.io.Reader(1390)

  58. java.net.URI(1377)

  59. java.io.Writer(1339)

  60. java.text.ParseException(1318)

  61. junit.framework.TestCase(1318)

  62. java.io.OutputStreamWriter(1295)

  63. java.io.StringReader(1279)

  64. java.io.BufferedWriter(1265)

  65. java.util.Vector(1254)

  66. java.util.StringTokenizer(1251)

  67. java.text.DateFormat(1246)

  68. java.util.concurrent.TimeUnit(1237)

  69. java.io.BufferedInputStream(1235)

  70. java.util.TreeMap(1227)

  71. org.xml.sax.SAXException(1218)

  72. javax.servlet.http.HttpServletRequest(1175)

  73. java.io.PrintStream(1168)

  74. java.util.TreeSet(1160)

  75. android.widget.Toast(1157)

  76. java.util.Hashtable(1154)

  77. java.lang.reflect.Constructor(1139)

  78. java.net.URLEncoder(1134)

  79. java.security.NoSuchAlgorithmException(1134)

  80. org.w3c.dom.Document(1130)

  81. android.widget.Button(1129)

  82. org.junit.After(1128)

  83. javax.servlet.http.HttpServletResponse(1109)

  84. java.awt.Color(1099)

  85. java.net.URISyntaxException(1085)

  86. javax.servlet.ServletException(1081)

  87. javax.xml.parsers.DocumentBuilderFactory(1076)

  88. java.lang.annotation.Retention(1075)

  89. java.security.MessageDigest(1072)

  90. java.util.concurrent.Executors(1062)

  91. java.net.UnknownHostException(1057)

  92. org.slf4j.Logger(1054)

  93. java.sql.SQLException(1043)

  94. org.slf4j.LoggerFactory(1042)

  95. java.util.UUID(1040)

  96. java.net.InetAddress(1026)

  97. junit.framework.Assert(1011)

  98. android.view.ViewGroup(1005)

  99. java.util.concurrent.ConcurrentHashMap(1001)

  100. java.awt.event.ActionEvent(995)

上表中,一点也不奇怪,有 85 个是 Java 的标准库,因为这是语言本身的一部分,涉及 util、lang 和 io 包。

下图是包使用的分布图:

该调查是分析源码文件中的 import 语句,因此你并没有发现大量的 String, Math, StringBuilder 等类,所以没必要对它们进行排除。

最最常用的 100 个 Java 类(转)的更多相关文章

  1. Java最最常用的100个类排序(非官方)

    下面这句话是引用"大部分的 Java 软件开发都会使用到各种不同的库.近日我们从一万个开源的 Java 项目中进行分析,从中提取出最常用的 Java 类,这些类有来自于 Java 的标准库, ...

  2. [原创]Android系统中常用JAVA类源码浅析之HashMap

    由于是浅析,所以我只分析常用的接口,注意是Android系统中的JAVA类,可能和JDK的源码有区别. 首先从构造函数开始, /** * Min capacity (other than zero) ...

  3. java 常用的验证方法帮助类

    import java.text.ParseException; import java.util.Collection; import java.util.Map; /** * 常用的验证方法帮助类 ...

  4. 常用的16个Java实用工具类,Java开发人员请收藏!

    在Java中,实用程序类是一个定义一组执行常用功能的方法的类.这篇文章展示了最常用的Java实用程序类及其最常用的方法.类列表及其方法列表都按流行度排序.该数据基于GitHub随机选择的50,000个 ...

  5. Java初学者作业——编写 Java 程序,定义 Java 类 (Point) 用来表示坐标,坐标范围在(0,0)到(100,100)以内,并显示合法的坐标在控制台。

    返回本章节 返回作业目录 需求说明: 编写 Java 程序,定义 Java 类 Point 用来表示坐标,坐标范围在(0,0)到(100,100)以内,并显示合法的坐标在控制台. 实现思路: 定义 P ...

  6. Thymeleaf常用语法:模板文件中表达式调用Java类的静态方法

    在模板文件的表达式中,可以使用“${T(全限定类名).方法名(参数)}”这种格式来调用Java类的静态方法. 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1. ...

  7. Eclipse/MyEclipse 最最常用的快捷键

    F 键类 F2 显示详细信息 F3 跳到声明或定义的地方 Ctrl + 键类 Ctrl+1 快速修复 ( 最经典的快捷键 , 就不用多说了 ) Ctrl+D 删除当前行 Ctrl+E 快速显示当前 E ...

  8. Java类WebServer及中间件拿webshell方法总结

    0.序 原文名称:Tomcat.Weblogic.JBoss.GlassFish.Resin.Websphere弱口令及拿webshell方法总结 原文from:http://www.hack80.c ...

  9. java类生命周期详细解析

    (一)详解java类的生命周期 引言 最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前 ...

随机推荐

  1. codevs 2800 送外卖(状压dp)

    /* f[i][j] 表示走过的点构成i状态 且最后到达的点为j时的最优解 在那最后一个状态就是(1<<n+1)-1 每个点都到达 在由此回到0 */ #include<iostre ...

  2. jQuery中使用 .html() function在IE8和9中显示不正常源码中多出sizset和sizcache

    错误原因:在引入jquery的时候,使用了html function,在IE8和IE9下面有可能会出现不兼容 解决办法:在html头部加一句 <meta http-equiv="X-U ...

  3. 【转】Android开源项目 分类 便于查看

    之前转载了一个开源项目的文章,发现那些都是没有系统的总结,这里又转载一篇有系统总结的文章. Android开源项目系列汇总已完成,包括: Android开源项目第一篇——个性化控件(View)篇 An ...

  4. apache的域名添加虚拟端口号

    1. vi /etc/httpd/conf/httpd.conf 2. 搜索Listen 80,在后面添加Listen 8080 3. 重启apache服务器./usr/sbin/apachectl ...

  5. Asp.Net Mvc MapRoute .html不起作用(转)

    RegisterRoutes 注册路由示例配置: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRo ...

  6. C#里巧用DateTime预设一些可选的日期范围(如本年度、本季度、本月等)

    //大家在做报表或查询的时候都会有给用户预设一些可选的日期范围(如上图)                //如本年度销售额.本季度利润.本月新增客户                //C#里内置的Da ...

  7. c 单链表反转(不添加新结点空间)

    最近复习考研,加上一直都将"算法"放在很高的位置,所以,蛮重视算法的.不多说了,其实这个问题,不难理解的. 主要代码: //反转单链表. void reverse(linklist ...

  8. SQL函数:用于将小写的数值翻译成大写的字符串

    --功能:  用于将小写的数值翻译成大写的字符串(支持到分,即小数点后两位)       --入口参数:@decNum------数字型变量    --返回:字符串    --举例:select db ...

  9. Cer Crt Pem Pfx 证书格式转换

    1.从pfx格式的证书提取出密钥和证书set OPENSSL_CONF=openssl.cnfopenssl pkcs12 -in my.pfx -nodes -out server.pemopens ...

  10. JavaScript 客户端JavaScript之cookie和客户端持久性

    Document对象都有一个cookie属性,它使得JavaScript代码能够在用户的硬盘上持久地存储数据, 并且能够获取以这种方式存储的数据.客户端持久性是赋予WEB应用程序记忆力的一种简单方法. ...