for</a>um-20160919104018>大部分的 java 软件开发都会使用到各种不同的库。近日我们从一万个开源的 java 项目中进行分析,从中提取出最常用的 java 类,这些类有来自于 java 的标准库,也有第三方库。每个类在同一个项目中只计数一次,下面的列表中显示前 100 名的类。
以下列表中按使用最多的类进行排序,第三个数值表示 10000 个项目里使用到该类的项目数,而完整的列表请看 here.
list</a>-paddingleft-2 list-paddingleft-2>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.filenotfoundexception (2669)
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.io.bytearrayoutputstream (2112)
java.util.regex.matcher (2012)
android.os.bundle (2007)
java.util.logging.logger (1999)
java.io.unsupportedencodingexception (1968)
org.junit.before (1920)
java.util.comparator (1896)
java.io.bytearrayinputstream (1868)
java.io.printwriter (1862)
java.util.calendar (1854)
android.app.activity (1843)
java.net.malformedurlexception (1828)
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.lang.reflect.invocationtargetexception (1594)
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.util.concurrent.timeunit (1237)
java.io.bufferedinputstream (1235)
java.util.treemap (1227)
org.xml.sax.saxexception (1218)
javax.servlet.http.httpservletrequest (1175)
java.io.printstream (1168)
java.util.treeset (1160)
android.widget.toast (1157)
java.util.hashtable (1154)
java.lang.reflect.constructor (1139)
java.net.urlencoder (1134)
java.security.nosuchalgorithmexception (1134)
org.w3c.dom.document (1130)
android.widget.button (1129)
org.junit.after (1128)
javax.servlet.http.httpservletresponse (1109)
java.awt.color (1099)
java.net.urisyntaxexception (1085)
javax.servlet.servletexception (1081)
javax.xml.parsers.documentbuilderfactory (1076)
java.lang.annotation.retention (1075)
java.security.messagedigest (1072)
java.util.concurrent.executors (1062)
java.net.unknownhostexception (1057)
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)
java.util.concurrent.concurrenthashmap (1001)
java.awt.event.actionevent (995)
上表中,一点也不奇怪,有 85 个是 java 的标准库,因为这是语言本身的一部分,涉及 util、lang 和 io 包。
下图是包使用的分布图:
该调查是分析源码文件中的 import 语句,因此你并没有发现大量的 string, math, stringbuilder 等类,所以没必要对它们进行排除。
以上就是java中出现频率最高的100个类的详细内容。