一Java 常用类 Object

Object类是所有类、数组、枚举类的父类。位于Java.lang包。也就是说,Java允许把任意类型的对象赋给Object类型的变量。

Object类的常用方法

1、boolean equals(Object obj):判断指定对象与该对象是否相等。注意:此处的相等是指两个对象是同一个对象。(往往需要重写)

2、protected void finalize():当系统中没有引用变量引用到该对象时,垃圾回收器调用此方法来清理该对象的资源。

3、Class<?> getClass():返回该对象的运行时类。

4、int hashCode():返回对象的hashCode值。在默认的情况下,该值是和System.identityHashCode(Object obj)计算的值一样,即对象的地址。但是在很多类中,该值都被重写了,不再根据地址来计算其hashCode()方法值。

5、String toString():返回该对象的字符串表示。(运行时类名@十六进制hashCode值)一般类都重写该方法以表示该类的信息。

6、protected Object clone():得到当前对象的副本,二者之间完全隔离。

7、void wait():等待通信线程唤醒后再执行本线程。

8、void notify():随机唤醒一个在等待的线程。

9、void notifyAll():唤醒所有在等待的线程。


二Java 常用类 System

System 类提供了系统级的恒对属性和方法,位于Java.lang包。

System 类是final类不能被实例化,所有方法和属性都是静态的

 

System 类的常用方法:

  • public static void gc()

运行垃圾回收器。

调用 gc 方法暗示着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。当控制权从方法调用中返回时,虚拟机已经尽最大努力从所有丢弃的对象中回收了空间。

不要频繁使用,因为每次强制启动会消耗很多资源。每次调用gc命令,会调用finalize()方法,从自身到父类开始释放内存。

  • public static void exit(int status)

终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。

  • public static long currentTimeMillis()

当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量)。用来测试程序运行时间

  • public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src - 源数组。
srcPos - 源数组中的起始位置。
dest - 目标数组。
destPos - 目标数据中的起始位置。
length - 要复制的数组元素的数量。

三Java 常用类 Random(随机数类)

Random类用于生成伪随机数,位于Java.util包

R0ntime类特点:

Runtime 类实例使应用程序能够与其运行的环境相连接 Runtime是单例模式的

R0ntime类对象的生成

R0ntime类常用方法:

1.nextInt(int n):取出不大于n的整数;返回值int。

2.nextDouble()生成一个随机的double值,介于[0, 1]之间

3.【当前可用内存】long freeMemory() ;返回 Java 虚拟机中的空闲内存量

4.【创建对象】Runtime runtime = Runtime.getRuntime();//创建对象   【

5.清理内存】runtime.gc();// 建议回收垃圾

查看gc()方法清理内存的效果:

System.out.println(runtime.freeMemory());//回收前的空闲内存

runtime.gc();// 建议回收垃圾

System.out.println(runtime.freeMemory());//回收后的空闲内存


四Java 常用类 Math

math类提供了执行基本数学运算的方法;位于java.lang包

math类是final类不能被实例化,所有方法和属性都是静态的

math类常用方法

【绝对值】Math.abs();//返回对应类型的绝对值

【最大值和最小值】Math.max(int a, int b) ,Math.min(int a,int b);(其他类型都可以)

【立方根】Math.cbrt(double a) ,返回double类型

【求幂】Math.pow(double a, double b) (参数1:底数,参数2:指数)

【正平方根】Math.sqrt(double a)

【随机数[0,1)】random()  返回带正号的 double 值,该值大于等于 0.0 且小于 1.0

【取整】ceil(double a) ,返回大于给定数的最小整数 floor(double a) ,返回小于给定数的最大整数

【四舍五入】 static int round(float a)            static long round(double a)


五Java 常用类Arrays

Arrays类提供了一系列操作数组的方法,位于Java.util包,主要的功能可以实现数组元素的查找,数组内容的填充,排序等。

Arrays类常用方法

    public static boolean equals(int[] a, int[] a2)   判断两个数组是否相等,此方法被重载多次,可以判断各种数据类型的数组

    public static void fill(int[] a , int val)  将指定内容填充到数组之中,此方法被重载多次,可以填充各种数据类型的数组

    public static void sort(int[] a)  数组排序,此方法被重载多次,可以对各种类型的数组进行排序

    public static int binarySearch(int[] a ,int key)  对排序后的数组进行检索,此方法被重载多次,可以对各种类型的数组进行搜索

    public static String toString(int[] a)  输出数组信息,此方法被重载多次,可以输出各种数据类型的数组


六Java 常用类包装类

Java语言是面向对象语言,但Java中的基本数据类型却不是面向对象的这在实际使用是是非常不便的,为了解决这个不足,再设计类时为每个基本数据类型设计了一个对应类

八个基本数据类型对应的类统称为包装类(Wrapper Class)

Integer提供了整型的常用操作方法

Character类提供了字符的常用操作方法

Java基础——工具类的更多相关文章

  1. Java Properties工具类详解

    1.Java Properties工具类位于java.util.Properties,该工具类的使用极其简单方便.首先该类是继承自 Hashtable<Object,Object> 这就奠 ...

  2. java基础-Math类常用方法介绍

    java基础-Math类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Math类概念 Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函 ...

  3. 基于AQS实现的Java并发工具类

    本文主要介绍一下基于AQS实现的Java并发工具类的作用,然后简单谈一下该工具类的实现原理.其实都是AQS的相关知识,只不过在AQS上包装了一下而已.本文也是基于您在有AQS的相关知识基础上,进行讲解 ...

  4. Java json工具类,jackson工具类,ObjectMapper工具类

    Java json工具类,jackson工具类,ObjectMapper工具类 >>>>>>>>>>>>>>> ...

  5. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  6. Java并发工具类 - CountDownLatch

    Java并发工具类 - CountDownLatch 1.简介 CountDownLatch是Java1.5之后引入的Java并发工具类,放在java.util.concurrent包下面 http: ...

  7. MinerUtil.java 爬虫工具类

    MinerUtil.java 爬虫工具类 package com.iteye.injavawetrust.miner; import java.io.File; import java.io.File ...

  8. MinerDB.java 数据库工具类

    MinerDB.java 数据库工具类 package com.iteye.injavawetrust.miner; import java.sql.Connection; import java.s ...

  9. 小记Java时间工具类

    小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...

随机推荐

  1. mac终端配置Android ADB命令

    不得不说mac是一款开发利器,不仅可以开发ios,而且对于Android开发也是不错的选择,下面我就对mac配置adb命令,进行简要的说明.下面我将一下mac环境下的配置步骤:1.在自己的目录(hom ...

  2. 浅析java(多方面解读)

    昨天我简单的说了一下我的编程学习之路.假设你热爱编程.而不是仅为了赚钱,我想我的经历或许会给你带来一定的启示,假设你还没有看.请先慢慢读完我的编程学习之路,您肯定会有还有一番体会的.. 好了.废话不多 ...

  3. 中国剩余定理模板&俄罗斯乘法

    void ex_gcd(ll a,ll b,ll &d,ll &x,ll &y){ if(!b){d=a;x=1LL;y=0LL;} else {ex_gcd(b,a%b,d, ...

  4. sql加一个%号是什么意思

    sql%notfound 是异常SQL%ROWCOUNT SQL语句执行影响的行数SQL%FOUND SQL语句是否成功执行SQL%NOTFOUND SQL语句是否成功执行SQL%ISOPEN 游标是 ...

  5. SYSUCPC2017 DAG最多能添加多少边?

    校赛的一道题目 难度不大 不过还是挺有趣的 题意:给定一个有向图,问此图是不是一个DAG且不包含重边 如果是的话 回答最多可以添加多少条边且图仍然是个DAG 考虑对于任意一个点u 添加一条边(u,v) ...

  6. libnids TCP数据流重组,显示TCP连接过程的程序总无法捕获数据包解决办法:

      法一: 指定可用网卡: nids_params.device="lo"; 法二: nids.h中有这么一段: struct nids_chksum_ctl { u_int ne ...

  7. sql让时间调前,调后的语句

    时间调前,调后 select billid,DATEADD(mm,2,billdate) from bi_Bill 注:用dateadd(/时间年/月/日,调前或后多少,字段) mm为月份,2为调前两 ...

  8. P4110 [HEOI2015]小L的白日梦

    传送门 题解 //minamoto #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef l ...

  9. 使用 script 的 module 属性实现 es6 以上的兼容

    几个月前看到了这篇文章 https://philipwalton.com/articles/deploying-es2015-code-in-production-today/,给了我很大的启发,本来 ...

  10. 【原创】Eclipse实现图形化界面插件-vs4e

    vs4e插件下载地址:http://visualswing4eclipse.googlecode.com/files/vs4e_0.9.12.I20090527-2200.zip 下载完成后,解压,然 ...