最最常用的 100 個(gè) Java類分享
大部分的 Java 軟件開發(fā)都會使用到各種不同的庫。近日我們從一萬個(gè)開源的 Java 項(xiàng)目中進(jìn)行分析,從中提取出最常用的 Java 類,這些類有來自于 Java 的標(biāo)準(zhǔn)庫,也有第三方庫。每個(gè)類在同一個(gè)項(xiàng)目中只計(jì)數(shù)一次,下面的列表中顯示前 100 名的類。
以下列表中按使用最多的類進(jìn)行排序,第三個(gè)數(shù)值表示 10000 個(gè)項(xiàng)目里使用到該類的項(xiàng)目數(shù),而完整的列表請看 here.
-
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)
上表中,一點(diǎn)也不奇怪,有 85 個(gè)是 Java 的標(biāo)準(zhǔn)庫,因?yàn)檫@是語言本身的一部分,涉及 util、lang 和 io 包。
下圖是包使用的分布圖:

該調(diào)查是分析源碼文件中的 import 語句,因此你并沒有發(fā)現(xiàn)大量的 String, Math, StringBuilder 等類,所以沒必要對它們進(jìn)行排除。
via programcreek
相關(guān)文章
Lombok為啥這么牛逼?SpringBoot和IDEA官方都要支持它
Lombok是一款Java代碼功能增強(qiáng)庫,在Github上已有9.8k+Star。這篇文章主要介紹了Lombok為啥這么牛逼?SpringBoot和IDEA官方都要支持它,需要的朋友可以參考下2020-12-12
java創(chuàng)建txt文件并寫入內(nèi)容的方法代碼示例
這篇文章主要介紹了java創(chuàng)建txt文件并寫入內(nèi)容的兩種方法,分別是使用java.io.FileWriter和BufferedWriter,以及使用Java7的java.nio.file包中的Files和Path類,需要的朋友可以參考下2025-01-01
springboot+mybatis-plus實(shí)現(xiàn)內(nèi)置的CRUD使用詳解
這篇文章主要介紹了springboot+mybatis-plus實(shí)現(xiàn)內(nèi)置的CRUD使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
詳解spring封裝hbase的代碼實(shí)現(xiàn)
本篇文章主要介紹了詳解spring封裝hbase的代碼實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05

