大部分的 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. Ubuntu 14.04 配置vsftpd实现FTP服务器 - 通过FTP连接AWS

    测试主机:亚马逊AWS EC2 系统:Ubuntu 14.04 想用AWS来做服务器玩,结果发现其不能像简单使用阿里云服务器那样用ftp连接,反正也不熟悉ftp服务器搭建,那就乘这个机会学习一下如何利 ...

  2. Linux LVM 扩展磁盘分区

    系统:centos 6.3--新建分区 fdisk -l /dev/sdc       # 查看分区 fdisk /dev/sdc          # 创建分区 :n                 ...

  3. hdu 2105

    #include <iostream> #include <stdio.h> using namespace std; int main() { double a,b,c,d, ...

  4. 织梦DEDECMS {dede:field name='position'/}标签增加其它属性的

    在默认情况下,织梦(DedeCms)系统当前位置的调用标签为: {dede:field name='position'/} 在这种默认的情况下,生成后的代码大致为如下格式: 主页 > 应用软件 ...

  5. DELL R410升级网卡驱动

    官方链接http://zh-cn.broadcom.com/support/ethernet_nic/netxtremeii.php(官方驱动的名字偶尔会改)   注意确保服务器的kernel-dev ...

  6. 软件测试 homework2

    1. 程序1:   for循环的i>0改为i>=0: 程序2:   for循环for (int i = 0; i < x.length; i++)改为for (int i = x.l ...

  7. zepto源码研究 - ajax.js(请求过程中的各个事件分析)

    简要:ajax请求具有能够触发各类事件的功能,包括:触发全局事件,请求发送前事件,请求开始事件,请求结束事件等等,贯穿整个ajax请求过程,这是非常有用的,我们可以利用这些事件来做一些非常有意思的事情 ...

  8. 洛谷 P1093 奖学金

    P1093 奖学金 题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相 ...

  9. C#中启动外部应用程序

    C#中我们可以通过Process类直接启动外部应用程序 代码如下: Process p = new Process();                    p.StartInfo.FileName ...

  10. 转载:Java连接MySQL 数据库的正确操作流程

    转载网址:http://www.bitscn.com/pdb/mysql/201005/186551.html       以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例 ...