يستخدم معظم تطوير برامج Java مكتبات متنوعة. قمنا مؤخرًا بتحليل 10000 مشروع 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.ملف(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.قبل (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)
جافا.io.الكاتب(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.
الشكل التالي هو مخطط توزيع استخدام الحزمة:
يهدف التحقيق إلى تحليل عبارات الاستيراد في ملف التعليمات البرمجية المصدر، لذلك لم تجد عددًا كبيرًا من فئات String وMath وStringBuilder والفئات الأخرى، لذلك ليست هناك حاجة لاستبعادها.
عبر برنامج كريك