从开源代码看Java包的使用率

本文分析了多个Java项目的源代码,总结出10个最常用的Java类,并详细列举了不同Java框架中频繁使用的类及包,揭示了Java开发中的核心组件与技术趋势。
除过编译器自动导入的java.lang,可见java.util的地位不同一般啊!
命令“find . -name "*.java" | xargs grep "import java.*" | awk '{ print $2 }'|sed s/\;.*//g | sort |uniq -c | sort -nr > a.txt”

[b]apache-jmeter-2.9[/b]
[quote]
178 java.util.List
130 java.io.IOException
122 javax.swing.JPanel
122 java.awt.event.ActionEvent
119 java.awt.BorderLayout
118 java.io.Serializable
109 java.util.Map
98 java.util.Set
92 java.util.Collection
86 java.util.LinkedList
83 java.util.ArrayList
82 java.util.HashSet
81 javax.swing.JLabel
74 java.io.File
63 java.awt.event.ActionListener
62 javax.swing.BorderFactory
60 java.util.HashMap
58 java.util.Iterator
58 java.awt.Component
57 javax.swing.JCheckBox
......
[/quote]

[b]apache-mina-2.0.7-core[/b]
[quote]
39 java.util.Set
33 java.util.List
31 java.io.IOException
30 java.util.Map
29 java.net.SocketAddress
21 java.net.InetSocketAddress
20 java.util.Queue
18 java.util.ArrayList
17 java.util.concurrent.Executor
17 java.util.Iterator
16 java.util.concurrent.ConcurrentHashMap
16 java.util.Collection
15 java.util.HashMap
14 java.util.concurrent.ConcurrentLinkedQueue
13 java.nio.ByteOrder
12 java.util.Collections
11 java.util.concurrent.TimeUnit
11 java.util.HashSet
9 java.util.concurrent.Executors
8 java.util.concurrent.atomic.AtomicInteger
......
[/quote]

[b]freemarker-2.3.19[/b]
[quote]
68 java.io.IOException
66 java.util.List
57 java.util.Map
32 java.util.Iterator
32 java.util.ArrayList
28 java.util.HashMap
28 java.util.*
23 java.util.Collections
19 java.util.Set
19 java.util.Collection
19 java.io.Writer
17 java.util.Date
17 java.io.*
14 java.io.StringWriter
13 java.io.Serializable
12 java.util.Locale
12 java.io.Reader
11 java.rmi.RemoteException
11 java.lang.reflect.Method
11 java.io.File
......
[/quote]

[b]hibernate-release-4.3.0-core[/b]
[quote]
438 java.io.Serializable
366 java.util.Map
290 java.util.List
227 java.sql.SQLException
195 java.util.ArrayList
192 java.util.Iterator
153 java.util.Set
141 java.util.HashMap
127 java.sql.ResultSet
109 java.sql.PreparedStatement
102 java.util.HashSet
86 java.sql.Types
84 java.lang.annotation.Retention
75 java.util.Collections
72 java.util.Properties
69 java.lang.annotation.Target
67 java.io.IOException
64 java.sql.Connection
56 java.util.Arrays
52 java.util.Collection
......
[/quote]

[b]JUnit4[/b]
[quote]
50 java.util.List
28 java.util.ArrayList
21 java.lang.annotation.RetentionPolicy
21 java.lang.annotation.Retention
20 java.lang.reflect.Method
19 java.lang.annotation.Target
14 java.lang.annotation.ElementType
12 java.lang.reflect.InvocationTargetException
12 java.lang.annotation.Annotation
11 java.util.Arrays
10 java.util.Collections
9 java.lang.reflect.Modifier
8 java.util.Comparator
6 java.lang.reflect.Field
6 java.lang.reflect.Constructor
6 java.io.PrintStream
5 java.util.concurrent.TimeUnit
5 java.util.Collection
5 java.io.StringWriter
5 java.io.PrintWriter
......
[/quote]

[b]lucene-4.2.1-core[/b]
[quote]
382 java.io.IOException
83 java.util.Map
69 java.util.List
59 java.util.ArrayList
56 java.util.Collection
55 java.util.Arrays
52 java.util.Comparator
48 java.util.Set
45 java.util.Iterator
45 java.util.HashMap
41 java.util.Collections
40 java.io.Closeable
31 java.util.HashSet
15 java.util.NoSuchElementException
13 java.util.Locale
13 java.io.File
12 java.util.concurrent.atomic.AtomicInteger
12 java.util.LinkedList
10 java.io.FileNotFoundException
9 java.io.EOFException
......
[/quote]

[b]struts-2.3.12-core[/b]
[quote]
222 javax.servlet.http.HttpServletRequest
208 javax.servlet.http.HttpServletResponse
86 java.util.Map
53 java.util.List
40 java.io.IOException
39 java.util.ArrayList
38 java.io.Writer
34 java.util.Iterator
33 java.util.HashMap
26 javax.servlet.ServletContext
19 java.util.Set
19 java.util.Collections
16 java.util.Collection
11 java.util.Arrays
10 java.util.StringTokenizer
10 java.util.LinkedHashMap
10 java.util.Enumeration
10 java.io.InputStream
10 java.io.File
8 javax.servlet.http.HttpSession
......
[/quote]

[size=medium][b]10个最常用Java类[/b][/size]

[b]java.lang.String[/b]
JDK 1.0开始提供,无可非议的第一名。
[b]java.lang.System[/b]
JDK 1.0开始提供,不可实例化,主要用于访问标准输入输出以及环境变量等(可能有些项目中不会用到)。
[b]java.lang.Exception[/b]
JDK 1.0开始提供,Throwable是所有Error和Exception的父类,Exception用于捕获异常条件。NullPointerException应该是异常中最常见的。
[b]java.util.ArrayList[/b]
JDK 1.2开始提供,JCF成员之一,ArrayList和Vector的区别应该是Java面试中最常被问到的。
[b]java.util.HashMap[/b]
JDK 1.2开始提供,key-value键值对数据结构,HashMap和Hashtable区别也应该是Java面试中最常被问到的。
[b]java.lang.Object[/b]
JDK 1.0开始提供,所有Java类的祖先。它包含了如equals, hashcode, clone, toString等重要的方法。
[b]java.lang.Thread[/b]
JDK 1.0开始提供,一个线程是一个执行序列,多个线程之间共享资源。
[b]java.lang.Class[/b]
JDK 1.0开始提供,该类没有构造函数,只能被classloader加载到JVM中。更常见的是用于反射。
[b]java.util.Date[/b]
JDK 1.0开始提供,但在JDK1.1中被Deprecated掉大量的方法。
[b]java.util.Iterator[/b]
JDK 1.2开始提供,Enumeration的替代品。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值