最最常用的 100 个 Java类分享

大部分的 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 等类,所以没必要对它们进行排除。

via programcreek

(0)

相关推荐

  • 最最常用的 100 个 Java类分享

    大部分的 Java 软件开发都会使用到各种不同的库.近日我们从一万个开源的 Java 项目中进行分析,从中提取出最常用的 Java 类,这些类有来自于 Java 的标准库,也有第三方库.每个类在同一个项目中只计数一次,下面的列表中显示前 100 名的类. 以下列表中按使用最多的类进行排序,第三个数值表示 10000 个项目里使用到该类的项目数,而完整的列表请看 here. java.util.ArrayList(6958) java.io.IOException(6866) java.util.

  • 最常用的1000个Java类(附代码示例)

    分析Github 3000个开源项目,粗略统计如下.括号内的数字是使用频率 0-3000. 下面的列表显示不全,完整的请看完整列表. 1.java.util.List (2889) 2.java.util.ArrayList (2831) 3.java.io.IOException (2813) 4.java.util.Map (2592) 5.java.util.HashMap (2541) 6.java.io.File (2195) 7.java.io.InputStream (2125)

  • 常用的php图片处理类(水印、等比缩放、固定高宽)分享

    常用的php图片处理类(水印.等比缩放.固定高宽)分享 <?php //PHP 添加水印 & 比例缩略图 & 固定高度 & 固定宽度 类. class Image_process{ public $source; //原图 public $source_width; //原图宽度 public $source_height; //原图高度 public $source_type_id; public $orign_name; public $orign_dirname; //

  • 浅析Java类和数据结构中常用的方法

    1.Object类里面常用的方法: protected Object clone()创建并返回此对象的一个副本. boolean equals(Object obj)指示其他某个对象是否与此对象"相等". protected void finalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法. Class<?> getClass()返回此 Object 的运行时类. int hashCode()返回该对象的哈希码值. void notif

  • Java_int、double型数组常用操作工具类(分享)

    学了数组之后,感觉有好多操作需要经常去写,很不方便,因此自己做了一个工具类,方便调用,方法可能不全,希望大家可以添加,让我使用也方便一点儿. public class ArrayUtils { //求数组的最大值(int) public static int getMax(int[] arr){ int max = arr[0]; for(int i = 0;i<arr.length;i++){ if(max<arr[i]){ max = arr[i]; } } return max; } /

  • Java常用类库Apache Commons工具类说明及使用实例详解

    Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍. 组件 功能介绍 BeanUtils 提供了对于JavaBean进行各种操作,克隆对象,属性等等. Betwixt XML与Java对象之间相互转换. Codec 处理常用的编码方法的工具类包 例如DES.SHA1.MD5.Base64等. Collections java集合框架操作. Compress java提供文件打包 压缩类库. Con

  • 深入浅析Java常用的格式化Json工具类

    扩展:Java常用工具类汇总 前置条件 导入以下 jar 包 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.75</version> </dependency> <dependency> <groupId>org.apache.commons</g

  • java类中生成jfreechart,返回图表的url地址 代码分享

    web.xml中设置: 复制代码 代码如下: <servlet> <servlet-name>DisplayChart</servlet-name> <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class> </servlet > <servlet-mapping> <servlet-name>DisplayChart</ser

  • 利用反射获取Java类中的静态变量名及变量值的简单实例

    JAVA可以通过反射获取成员变量和静态变量的名称,局部变量就不太可能拿到了. public class Test { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub //获取所有变量的值 Class clazz = Class.forName("com.qianmingxs.ScoreTable"); Field[] fields = clazz.g

  • 浅谈Java 类中各成分加载顺序和内存中的存放位置

    一.什么时候会加载类? 使用到类中的内容时加载:有三种情况 1.创建对象:new StaticCode(); 2.使用类中的静态成员:StaticCode.num=9;  StaticCode.show(); 3.在命令行中运行:java StaticCodeDemo 二.类所有内容加载顺序和内存中的存放位置 利用语句进行分析: 1.Person p=new Person("zhangsan",20); 该句话所做的事情: 1.在栈内存中,开辟main函数的空间,建立main函数的变量

随机推荐