最最常用的 100 个 Java类分享
大部分的 java 软件开发都会使用到各种不同的库。近日我们从一万个开源的 java 项目中进行分析,从中提取出最常用的 java 类,这些类有来自于 java 的标准库,也有第三方库。每个类在同一个项目中只计数一次,下面的列表中显示前 100 名的类。
以下列表中按使用最多的类进行排序,第三个数值表示 10000 个项目里使用到该类的项目数,而完整的列表请看 .
-
java.util.arraylist (6958)
-
java.io.ioexception (6866)
-
java.util.list (6784)
-
java.util.hashmap (5590)
-
java.util.map (5413)
-
java.io.file (5097)
-
java.io.inputstream (4234)
-
java.util.set (3915)
-
java.util.arrays (3884)
-
java.util.iterator (3856)
-
java.util.collections (3643)
-
java.util.date (3461)
-
java.util.hashset (3278)
-
java.io.bufferedreader (3257)
-
java.util.collection (3192)
-
java.net.url (3168)
-
java.io.fileinputstream (3044)
-
java.io.inputstreamreader (3023)
-
org.junit.test (3008)
-
java.io.fileoutputstream (2843)
-
java.io.outputstream (2563)
-
java.util.regex.pattern (2469)
-
java.io.serializable (2437)
-
java.util.linkedlist (2372)
-
java.text.simpledateformat (2245)
-
java.util.properties (2190)
-
java.util.random (2171)
-
java.lang.reflect.method (2141)
-
java.util.regex.matcher (2012)
-
android.os.bundle (2007)
-
java.util.logging.logger (1999)
-
org.junit.before (1920)
-
java.util.comparator (1896)
-
java.io.bytearrayinputstream (1868)
-
java.io.printwriter (1862)
-
java.util.calendar (1854)
-
android.app.activity (1843)
-
android.content.context (1780)
-
android.view.view (1731)
-
java.util.locale (1719)
-
java.util.enumeration (1709)
-
java.util.map.entry (1705)
-
java.io.filewriter (1677)
-
java.io.filereader (1651)
-
android.util.log (1614)
-
android.content.intent (1601)
-
java.util.logging.level (1557)
-
java.lang.reflect.field (1499)
-
java.io.stringwriter (1499)
-
android.widget.textview (1442)
-
java.util.linkedhashmap (1409)
-
java.io.reader (1390)
-
java.net.uri (1377)
-
java.io.writer (1339)
-
java.text.parseexception (1318)
-
junit.framework.testcase (1318)
-
java.io.outputstreamwriter (1295)
-
java.io.stringreader (1279)
-
java.io.bufferedwriter (1265)
-
java.util.vector (1254)
-
java.util.stringtokenizer (1251)
-
java.text.dateformat (1246)
-
java.io.bufferedinputstream (1235)
-
java.util.treemap (1227)
-
org.xml.sax.saxexception (1218)
-
java.io.printstream (1168)
-
java.util.treeset (1160)
-
android.widget.toast (1157)
-
java.util.hashtable (1154)
-
java.net.urlencoder (1134)
-
org.w3c.dom.document (1130)
-
android.widget.button (1129)
-
org.junit.after (1128)
-
java.awt.color (1099)
-
java.net.urisyntaxexception (1085)
-
java.security.messagedigest (1072)
-
org.slf4j.logger (1054)
-
java.sql.sqlexception (1043)
-
org.slf4j.loggerfactory (1042)
-
java.util.uuid (1040)
-
java.net.inetaddress (1026)
-
junit.framework.assert (1011)
-
android.view.viewgroup (1005)
上表中,一点也不奇怪,有 85 个是 java 的标准库,因为这是语言本身的一部分,涉及 util、lang 和 io 包。
下图是包使用的分布图:
该调查是分析源码文件中的 import 语句,因此你并没有发现大量的 string, math, stringbuilder 等类,所以没必要对它们进行排除。
via
上一篇: Java多线程中常见的几个问题
下一篇: java字符串相似度算法