精华内容
下载资源
问答
  • 3.了解java .lang 包,java.util包等常用包
    万次阅读 多人点赞
    2016-12-02 14:42:34

    包名说明
    java.lang该包提供了Java编程的基础类,例如 Object、Math、String、StringBuffer、System、Thread等,不使用该包就很难编写Java代码了。
    java.util该包提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。
    java.io该包通过文件系统、数据流和序列化提供系统的输入与输出。
    java.net该包提供实现网络应用与开发的类。
    java.sql该包提供了使用Java语言访问并处理存储在数据源(通常是一个关系型数据库)中的数据API。
    java.awt这两个包提供了GUI设计与开发的类。java.awt包提供了创建界面和绘制图形图像的所有类,而javax.swing包提供了一组“轻量级”的组件,尽量让这些组件在所有平台上的工作方式相同。
    javax.swing
    java.text

    提供了与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。


     java.lang 详解:   http://beyond429.iteye.com/blog/344024

     java.util    详解:  http://blog.csdn.net/abeetle/article/details/1497706

     java.io   详解:      http://blog.csdn.net/yczz/article/details/38761237

    java.net  详解:https://zhidao.baidu.com/question/87061018.html

    java.sql  详解:http://www.360doc.com/content/12/0329/09/1200324_198823027.shtml

    java.awt  详解:http://blog.csdn.net/u013147587/article/details/49815031

    javax.swing  详解:http://blog.sina.com.cn/s/blog_4a7979120100087g.html

    java.text  详解:http://www.cnblogs.com/beibeibao/p/3411750.html

    更多相关内容
  • Java.util包.docx

    2021-05-10 10:20:03
    java.util.ArrayList 类提供了可调整大小的数组,并实现了List接口。以下是关于ArrayList中的要点: • 它实现了所有可选的列表操作,并且还允许所有元素,包括空值null。 • 它提供了一些方法来操作内部用来存储...
  • java.util包

    2017-11-30 11:24:06
    Java提供日期(Data)类、日历(Calendar)类,随机数(Random)类,堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构
  • java.util包(一)

    千次阅读 2021-03-14 02:36:35
    ArrayList 数组表LinkedList 链表Vector 向量这些集合都实现了Collection接口掌握HashMap 哈希当我们需要用到这些内容时,必须得导入java.util包,即:import java.util.*;Date类Date类的构造方法有六种重载方式,...

    java.util包中主要有的内容为

    Date类

    Calendar类

    Random类

    使用Collection接口的集合:

    ArrayList 数组表

    LinkedList 链表

    Vector 向量

    这些集合都实现了Collection接口

    掌握HashMap 哈希

    当我们需要用到这些内容时,必须得导入java.util包,即:import java.util.*;

    Date类

    Date类的构造方法有六种重载方式,以下是比较常用的四种:

    1.Date() 使用系统当前时间创建日期对象

    2.Date(long date) 使用自1970年1月1日以后的指定毫秒数创建日期对象

    3.Date(int year,int month,int date) 创建指定年月日的日期对象

    4.Date(int year,int month,int date,int hour,int minute,int second) 创建指定年月日时分秒的日期对象

    代码展示:

    Date date1=new Date();//无参构造,获取当前系统时间

    Date date2=new Date(14,2,6); //该方法已过时,注意月是从0开始,日从1开始。

    Date date3=new Date(113,3,4);//表示的时间为2013年4月4日

    date3.after(date2)//该方法当date3的时间在date2的时间之后就返回true

    File f=new File("c:/1.jpg");

    long date=f.lastModified();//该方法返回的是文件的最后修改时间,date为毫秒数

    System.out.println(new Date(date));//这个时候我们就可以用到Date类中其中一个构造函数来获取日期时间

    date1.equals(date2);//判断两个时间是否相等,true/false

    Date类中的常用方法

    boolean after(Date when) 如果当前日期对象在when对象指定日期之后就返回true,否则返回false

    boolean befor(Date when) 如果当前日期对象在when对象指定日期之前就返回true,否则返回false

    void setTime(long time) 设置日期对象,以表示从1970年1月1日以后的指定毫秒数

    boolean equals(Object obj) 如果两个日期对象完全一致则返回true,否则返回false

    void toString() 返回日期的格式化字符串,包括星期几

    Date d=new Date();

    int year=d.getYear();//获取年份

    int month=d.getMonth();//获取月份

    int day=d.getDate();//注意获取日的方法并不是getDay()方法,而是getDate()方法

    int hour=d.getHour();

    int minute=d.getMinute();

    int second=d.getSecond();//获取小时,分钟和秒

    //Date类最大的用途就是获取系统当前的时间,下面用代码展示如何获取系统当前时间:

    Date now=new Date();

    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");//注意这些关键字是不能改变的,个数也不能改变,大小写也不能改变

    String date=sdf.format(now);

    System.out.println(date);//返回类似于 “2014-07-20 21:50:33”

    Calendar类

    Calendar类是一个抽象类,所以它只能通过getInstance()方法来获取Calendar的对象。

    Calendar类的常用方法:

    Calendar getInstance() 返回默认地区和时区的Calendar对象

    int get(int fields) 返回调用对象中fields指定部分的值

    void set(int fields,int value) 将value中指定的值设置给fields指定的部分

    void add(int fields,int amount) 将amount值追加到fields指定的时间或日期

    Date getTime() 返回与调用对象相同时间的Date对象

    Object clone() 返回与调用对象的副本

    void clear() 清楚当前对象中所有的时间组成部分

    boolean after(Object obj) 如果调用对象的时间在obj之后,则返回true

    boolean before(Object obj) 如果调用对象的时间在obj之前,则返回true

    boolean equals(Object obj) 如果调用对象和obj相同,则返回true

    下面同样通过代码展示来介绍用法:

    Calendar cal=Calendar.getInstance();//获取对象

    System.out.println(Calendar.YEAR);//等价于Calendar.get(1);

    System.out.println(Calendar.Month);//等价于Calendar.get(2);

    System.out.println(Calendar.Date);

    System.out.println(cal.get(Calendar.Day_OF_YEAR));//获取当年中的天数

    cal.set(Calendar.YEAR,2012);//设置年份 该方法原型为:void set(int fields,int value)

    cal.add(Calendar.YEAR,3);//3为偏移量,第二个参数也可以为负数

    Calendar cal=Calendar.getInstance();

    Object o=cal.clone();//等价于Calendar c=(Calendar)cal.clone();克隆拷贝

    cal.clear();//清空数据

    int maxYear=cal.getActualMaximum(Calendar.DAY_OF_YEAR);//获得当前年份的最大值

    Random类

    生成随机数

    int nextInt(i)返回一个0~(i-1)的随机数。 其他方法请参照帮助文档

    该类有两个构造函数:

    Random() 直接创建一个类对象

    Random(long seed)  使用seed作为随机种子创建一个类的对象

    Random类的常用方法:

    int nextInt() 从随机数产生器随机返回下一个整数

    long nextLong() 从随机数产生器随机返回下一个长整型数值

    float nextFloat() 从随机数产生器随机返回一个0.0~1.0之间的下一个浮点数

    double nextDouble() 从随机数产生器中随机返回一个0.0~1.0之间下一个双精度值

    double nextGaussian() 从随机数产生器中随机返回一个高斯分布的双精度值,中间值为0.0,而标准差为1.0

    代码:

    Random random=new Random();

    for(int i=0;i<10;i++){

    System.out.println(random.nextInt());//随机产生一个整数

    展开全文
  • Java中的java.util包

    千次阅读 2020-07-15 09:14:52
    The java.util package is part of java.base module. This package contains the most ... java.util包java.base模块的一部分。 该软件包包含Java中最重要的API和类。 java.util包的内容 (Contents of ja...

    The java.util package is part of java.base module. This package contains the most important APIs and classes in Java.

    java.util包是java.base模块的一部分。 该软件包包含Java中最重要的API和类。



    java.util包的内容 (Contents of java.util Package)

    Java util package contains the following classes and APIs:

    Java util软件包包含以下类和API:



    java.util软件包中的重要接口 (Important Interfaces in java.util Package)

    Let’s look at some of the important interfaces in the java.util package.

    让我们看一下java.util包中的一些重要接口。

    1. Collection: The root interface of the Collections API.

      集合:Collections API的根接口。
    2. Comparator: Used to implement sorting logic for the objects.

      比较器 :用于实现对象的排序逻辑。
    3. Queue and Deque: Queue and Double ended Queue

      队列和双端队列:队列和双端队列
    4. Iterator: implemented by the Collections classes to provide iteration logic.

      Iterator :由Collections类实现以提供迭代逻辑。
    5. List

      清单
    6. ListIterator

      ListIterator
    7. Map

      地图
    8. Set



    java.util包中的重要类 (Important Classes in java.util Package)

    1. ArrayList

      数组列表
    2. Base64

      Base64
    3. Calendar

      日历
    4. GregorianCalendar

      阳历日历
    5. Date

      日期
    6. EnumMap

      枚举地图
    7. EnumSet

      枚举集
    8. HashMap

      哈希图
    9. HashSet

      哈希集
    10. Hashtable

      哈希表
    11. LinkedList

      链表
    12. Optional

      可选的
    13. PriorityQueue

      PriorityQueue
    14. Properties

      物产
    15. ResourceBundle

      资源束
    16. TreeMap

      树状图
    17. TreeSet

      树集


    java.util软件包中的实用程序类 (Utility Classes in java.util Package)

    1. Arrays

      数组
    2. Collections

      馆藏
    3. Formatter

      格式化程序
    4. Scanner

      扫描器
    5. Random

      随机
    6. Timer, TimerTask

      计时器,TimerTask
    7. UUID

      UUID
    8. StringJoiner

      StringJoiner
    9. StringTokenizer

      StringTokenizer


    java.util包中的异常 (Exceptions in java.util Package)

    1. ConcurrentModificationException

      ConcurrentModificationException
    2. EmptyStackException

      EmptyStackException
    3. IllformedLocaleException

      IllformedLocaleException
    4. InputMismatchException

      InputMismatchException
    5. MissingResourceException

      MissingResourceException
    6. NoSuchElementException

      NoSuchElementException
    7. PatternSyntaxException

      PatternSyntaxException
    8. ZipException, JarException

      ZipException,JarException
    9. IllegalFormatException

      IllegalFormatException


    参考文献: (References:)

    翻译自: https://www.journaldev.com/31593/java-util-package-in-java

    展开全文
  • java并发工具 java.util.concurrent中文版-带书签版
  • java并发工具 java.util.concurrent中文版pdf
  • JavaUtil.rar

    2020-03-28 23:30:32
    java自己封装的工具类,用于节省时间,提高效率,java常用工具类封装util.rar 一个项目不可能没有工具类,工具类的初衷是良好的,代码重用,但到了后面工具类越来越乱,有些项目工具类有几十个,看的眼花缭乱,...
  • Java.util包简单总结

    万次阅读 多人点赞 2017-02-28 00:30:13
    java.util包粗略总结

    之前听一位老师讲过,学Java的程序员,lang包和util包至少是要过一遍的。
    很惭愧的是,从入门到现在,我还没完整的探究过这两个基础包。
    今天借着跟公司小伙伴分享的机会,把util包简单的梳理一遍。由于最近加班很多,此篇先做粗略总结,日后有时间再完善。

    1. util包的框架

    常用的集合类主要实现两个“super接口”而来:CollectionMap

    1.1 Collection有两个子接口:ListSet

    这里写图片描述

    List特点是元素有序,且可重复。实现的常用集合类有ArrayListLinkedList,和Vector(线程安全)。

    Set特点是元素无序,不可重复。实现的常用集合类有HashSetLinkedHashSetTreeSet(可排序)

    1.2 Map是key、value键值对的集合

    这里写图片描述

    特点是key值无序不可重复,value值可重复(这样表述其实不太准确,因为实际上key和value是绑定在一起的)。常用的有HashMapHashTable(线程安全),TreeMap(可排序)。

    1.3 其余重要接口和类

    上面是util包中的集合框架,一般Java教材里面都会讲到。但我们深入研究一下,会发现还有其余几个重要的内容:

    • Iterator:迭代接口
      集合类实现该接口后便具有了迭代功能。最简单的迭代实现是ArrayList,迭代过程其实就是数组的迭代。LinkedListLinkedHashSetLinkedHashMap迭代过程就是链表的迭代。这两者的迭代效率都很高,迭代时间与容器里的元素数目成正比。但HashSetHashMap迭代效率就略低了,因为采用了哈希表,所以元素是散列在数组中的,迭代时必须读完整个数组,迭代时间与容器的容量成正比。
    • Comparator:比较接口
      实现该接口后,集合内元素便可比较通过compare()方法实现元素排序
    • AbstractXXX:骨架类
      所谓骨架类,其实就是不同集合的核心代码实现,让继承这个抽象类的子类少干点活。例如AbstarctList代表“随机访问”集合(底层数组实现)的骨干代码实现。AbstractSequentialList代表“连续访问”(底层链表实现)集合的骨干代码实现。
    • Collections、Arrays
      集合工具类和数组工具类。Java中的工具类好像都喜欢在对应的接口或类名称后,加S来表示其工具类。

    接下来给一张比较完整的util包框架图:

    这里写图片描述

    2. 常用集合类原理

    2.1 ArrayList

    ArrayList的实现最简单,采用的顺序表,底层就是一个Object数组,初始容量为10,每当元素要超过容量时,重新创建一个更大的数组,并把原数据拷到新数组中来。

    2.2 LinkedList

    LinkedList采用双向链表。集合中的每一个元素都会有两个成员变量prevnext,分别指向它的前一元素和后一元素。

    ArrayListLinkedList的区别这里就不详细讨论了,其实就是顺序表和链表两种数据结构的区别。之前写的博文中已经提到(包括ArrayListLinkedList的详细实现):
    数据结构基础(一)线性表

    2.3 Vector

    Vector底层实现和ArrayList类似,区别在于在许多方法上加了synchronized关键字,来实现了多线程安全。但代价是性能的降低。由于加锁的是整个集合,所以并发情况下进行迭代会锁住很长时间。

    2.4 HashMap

    HashMap采用的是哈希表结构,用链表法来解决hash冲突。这里不详细讨论,之前的文章写过:
    HashMap原理解析

    2.5 HashTable

    HashTable的底层实现和HashMap类似,区别也是在许多方法上加了synchronized关键字,来实现了多线程安全。

    2.6 LinkedHashMap

    HashMap的基础上加了双链表,该集合中的每个元素也都保留了前一个元素和后一个元素的“指针”。这样便可以按照插入顺序来读取集合元素。也可设置为按照访问顺序来读取集合元素。
    由于要维护额外的双链表,LinkedHashMap增删操作会比HashMap慢,但迭代时会比HashMap快。

    2.7 TreeMap

    采用了红黑树数据结构,从而实现了有序集合。这个比较复杂,以后单独开出一篇来讨论,此处略。

    2.8 HashSet、LinkedHashSet、TreeSet

    Set和Map有千丝万缕的联系呀。例如HashSet底层实现其实就是一个固定value的HashMap。LinkedHashSet就是一个value固定的LinkedHashMapTreeSet就是一个value固定的TreeMap

    3. 集合的并发

    3.1 并发类的选择

    讲到并发的集合,一般都想到util包中的两个类:HashTableVector。然而实际使用情况中,并不推荐使用这两个类。

    首先,HashTableVector是从JDK1.0便存在的“古老”类,当时CollectionMap接口都还没。这样导致的问题是,当后来HashTableVector实现MapCollection接口时,出现了许多无用而重复的方法。例如Vector原本有一个addElement()的方法,当实现了Collection接口后,又出现了一个add()方法。而实际上,这两个方法一模一样。

    替代的这两个并发类的常见方法是Collections.synchronizedXXX(…),这个方法可以把ArrayListHashMap等集合变为线程安全的集合类。

    那么,VectorCollections.synchronizedXXX(…)的底层实现有什么区别呢?

    我们来看看两者的add()方法实现:

        //Vector
        public synchronized boolean add(E e) {
            modCount++;
            ensureCapacityHelper(elementCount + 1);
            elementData[elementCount++] = e;
            return true;
        }
    
        //Collections.SynchronizedList
        public void add(int index, E element) {
            synchronized (mutex) {list.add(index, element);}
        }

    可以看出, 两者实现多线程的方式都是对集合的方法加锁,区别在于,Vector是对方法加锁,锁的是本对象,而Collections.synchronizedXXX(…)是对一个变量加锁。区别并不大。

    那么,既然Collections.synchronizedXXX(…)比较好,用它创建出线程安全的集合类是不是就一劳永逸的满足我们所有的需求了呢?很不幸,不完全是。

    Collections.synchronizedXXX(…)HashTableVector在高并发时都有着很大的性能缺陷。因为它们的增、删、取都会锁住整个集合。想一想,一个线程在迭代十万个元素的Vector,其余线程对集合的操作时不时就阻塞了,受到了多大的影响啊。

    为了解决这两种方法在高并发下的性能的低下。我们查找一下Java的API,发现在java.util.concurrent里面有许多针对高并发设计的类,例如:CopyOnWriteArrayListConcurrentHashMap

    ConcurrentHashMap的优化原理在于,采用了Segment的机制:

    这里写图片描述

    可以看成,ConcurrentHashMap底层每一个Segment都是一个HashMap,这样增删取时只需要锁住一段的Segment,而不是整个集合。从而优化了高并发下的性能。

    CopyOnWriteArrayList主要是对高并发下的读、迭代做优化。实现原理在于每次add,remove操作都是重新创建一个新的数组,等操作结束再把引用指向新的数组。add,remove都是加了锁的,而get方法没有加锁,因为每次迭代时都是在旧的数组上迭代。所以CopyOnWriteArrayList适用于读多写少的并发场景。

    3.2 迭代fail-fast机制

    之前写的博文:Java迭代foreach原理解析(java.util.ConcurrentModificationException的原因)

    展开全文
  • import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import javax.imageio.ImageIO; import jav...
  • java.util包被称为java工具,里面包含大部分的工具类: 包括: 1.Random类产生随机数: Random 类作为JAVA中用于产生的随机数 ,new Random(10) :10是种子数。 注意:Random 的一个特点是:相同种子数的Random...
  • java.util包报错

    千次阅读 2017-01-11 19:20:23
    报错: java.util.Date, Package 原因: 项目的buildpath不对 解决方法:  右键项目-------buildpath--------最下面那个configuration 的选择libraries找到JRE(这个时候你会发现这个jre前面有!或者是红X)选中...
  • 为应对近期单位认证:整理点Java知识 首先整理Java常见的类库: 1.Java.lang 这个算是我们开发经常用到的基础类了,包含的类有object超类,8种类型的包装类,字符串类,线程类,异常类等 如下所示:图来自:链接 ...
  • java.util包——HashMap类

    万次阅读 2018-09-10 19:32:41
    java.util  类 HashMap&lt;K,V&gt; java.lang.Object java.util.AbstractMap&lt;K,V&gt; java.util.HashMap&lt;K,V&gt; 类型参数: K - 此映射所维护的键的类型 V - 所映射值的...
  • 写在前面:关于用java来完成base64加密的代码真的是很多很多,但是要找到一个拿来就可以用的就太难找了,最后在大家的帮助下,在一个英文社区里面找到了这个方法,当然...import java.util.Base64;public class MyBas
  • java.util.Date转换为java.time.LocalDate

    千次阅读 2020-05-05 11:20:28
    What is the best way to convert a java.util.Date object to the new JDK 8/JSR-310 java.time.LocalDat
  • ”后程序中后面如果要用到util包里面的别的类都不需要再重新导入包了,而如果导入“importjava.util.Scanner;”的话,程序中后面如果要用到util包的别的类,都要再次导入这个类对应的包才能使用; 3、*表示的是...
  • Java 8 has a completely new API for date and time. Java 8具有用于日期和时间的全新API。 One of the most useful cl
  • java.util 文件位置在哪

    千次阅读 2021-01-29 11:50:26
    文件位置: javasrc\java.base\java\util javasrc是下载java源码src.zip后解压的文件夹。
  • Java项目报javafx.util包不存在

    千次阅读 2021-08-17 10:45:04
    项目本来跑的好好的,clean了一下maven然后就一直报错jdk自带的包中的javafx.util找不着了,看网上资料说可能是因为jdk安装时候吧jre和jdk装同一个目录下了,所以又重新装了一遍,Java下面jdk和jre同级目录。...
  • nested exception is liquibase.exception.LockException: java.lang.ClassCastException: class java.time.LocalDateTime cannot be cast to class java.util.Date (java.time.LocalDateTime and java.util.Date ...
  • Java“import java.util.Scanner”无效

    千次阅读 2021-03-15 11:25:04
    这是我第一次编码,所以我很抱歉,如果我让你面对面.我想使用Scanner类来读取用户输入.但是,我收到一个错误....import java.util.Scanner;public class Trigger {public static void main(String[] args) {Syste...
  • java.util.Date和java.sql.Date有什么区别

    千次阅读 2019-12-10 11:19:57
    可以看到java.sql.Date是java.util.Date的子类 接下来写个测试代码,看下java.sql.Date和java.util.Date两个类如何使用,以及使用的区别 代码如下: public class TestUtil { public static void main(String[] ...
  • 先贴出异常 服务器的CPU使用率一直保持在10%左右,...是java进程跑死的,只能找java进程下哪些线程高cpu使用率 问题线程已经找到 USER %CPU PRI SCNT WCHAN USER SYSTEM TID TIME [root@27a2a017-029b-48d8-...
  • 类型转换异常:java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com
  • Java中import java.util.Scanner;语句的作用

    千次阅读 多人点赞 2021-05-16 21:34:22
    首先要导入importjava.util.Scanner; Scanner类的创建对象:ScannerS=new Scanner(System.in); 方法基本格式 hasNextXxx()判断是否还有下一个输入项,其中Xxx可以是Int,Double等。如果需要判断是否包含下一个...
  • java中的import java.util是什么意思

    千次阅读 2021-03-05 12:50:05
    java中的import java.util是什么意思发布时间:2020-06-17 10:00:01来源:亿速云阅读:177作者:Leahjava中的import java.util是什么意思?针对这个问题,这篇文章给出了相对应的分析和解答,希望能帮助更多想解决这...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 835,626
精华内容 334,250
关键字:

java.util包

java 订阅