最最常用的 100 個 Java 類
大部分的 Java 軟件開發(fā)都會使用到各種不同的庫。近日我們從一萬個開源的 Java 項目中進行分析,從中提取出最常用的 Java 類,這些類有來自于 Java 的標準庫,也有第三方庫。每個類在同一個項目中只計數一次,下面的列表中顯示前 100 名的類。
以下列表中按使用最多的類進行排序,第三個數值表示 10000 個項目里使用到該類的項目數,而完整的列表請看 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.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 語句,因此你并沒有發(fā)現大量的 String, Math, StringBuilder 等類,所以沒必要對它們進行排除。
via: programcreek
相關文章:
1. IntelliJ IDEA2020.2.2創(chuàng)建Servlet方法及404問題2. docker /var/lib/docker/aufs/mnt 目錄清理方法3. Python的Tqdm模塊實現進度條配置4. Python 多線程之threading 模塊的使用5. Python中Selenium模塊的使用詳解6. Python基于smtplib模塊發(fā)送郵件代碼實例7. CSS代碼檢查工具stylelint的使用方法詳解8. IDEA巧用Postfix Completion讓碼速起飛(小技巧)9. Python如何批量獲取文件夾的大小并保存10. CSS3中Transition屬性詳解以及示例分享
