从开源代码看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”

apache-jmeter-2.9
引用

    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
     ......


apache-mina-2.0.7-core
引用

     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
      ......


freemarker-2.3.19
引用

     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
     ......


hibernate-release-4.3.0-core
引用

    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
     ......


JUnit4
引用

     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
     ......


lucene-4.2.1-core
引用

    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
     ......


struts-2.3.12-core
引用

    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
     ......


10个最常用Java类

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

你可能感兴趣的:(java)