一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. UILongPressGestureRecognizer 运行两次的解决的方法

    近期维护之前用iOS SDK 3.2写过的3年多前的map方面的模块,在地图上长按pin,发觉一个点莫名奇异点插了两个pin. 查了一下,原来是如今的sdk要在UILongPressGestureRe ...

  2. linux redis tmp redis 安装

    Redis https://redis.io/download yum install make gcc gcc-c++ openssl-devel zlib-devel -y; wget tar - ...

  3. 记一次ORA-600[13011]

    SunOS 5.10 Oracle 10.2.0.2.0 开发环境某一数据库出现ora-600报错. alert.log中的报错信息: Thu Nov 13 15:11:43 2014 Errors ...

  4. shell脚本自动更新git

    gitpull.sh #!/bin/bash cd /home/wwwroot/default/mouse && git pull cd /home/wwwroot/default/s ...

  5. BZOJ_1493_[NOI2007]项链工厂_Splay

    BZOJ_1493_[NOI2007]项链工厂_Splay Description T公司是一家专门生产彩色珠子项链的公司,其生产的项链设计新颖.款式多样.价格适中,广受青年人的喜爱. 最近T公司打算 ...

  6. mysql status关键字 数据表设计中慎重使用

    mysql status关键字  数据表设计中慎重使用

  7. Java多线程系列四——控制线程执行顺序

    假设有线程1/线程2/线程3,线程3必须在线程1/线程2执行完成之后开始执行,有两种方式可实现 Thread类的join方法:使宿主线程阻塞指定时间或者直到寄生线程执行完毕 CountDownLatc ...

  8. Linux 进程间通讯方式 pipe()函数 (转载)

    转自:http://blog.csdn.net/ta893115871/article/details/7478779 Linux 进程间通讯方式有以下几种: 1->管道(pipe)和有名管道( ...

  9. [Swift通天遁地]二、表格表单-(1)创建自定义的UITableViewCell(单元格类)

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  10. 士兵杀敌 三 --- O( 1 ) 的时间复杂度 .

    一看就是 十分简单的  题  ,   然后上去开始无脑程序 超时~~~      感觉时间复杂度 , 已经很低了  ,  但是并没有什么卵用 . #include<stdio.h> #in ...