Java的常用对象①

Java的常用对象有很多,这里只对lang包中常用的Object,Date(Calendar,DateFormat,Math),System,Runtime进行介绍。
㈠Object是类层次结构的根类。每个类都使用Object作为超类。所有对象(包括数组)都实现这个类的方法。
在Object中equals(Object obj),hashCode(),toString()是每个类常用到的,getClass()被用来反射,finalize()是与垃圾回收有关的方法。

其余的notify(),notifyAll(),wait(),wait(long timeout),wait(long timeout, int nanos)都是与线程相关。

最后还有clone()方法,其作用是创建并返回此对象的一个副本。
㈡Date类表示特定的瞬间,精确到毫秒。Date中有很多方法都是已经过时的,事实上,Java建议Date被两个类来替代:从JDK1.1开始,应该使用Calendar类实现日期和时间字段之间转换,使用DateFormat类来格式化和分析日期字符串。
也就是说,关于日期本身的操作已经被Calendar替代,而对日期的格式化,按照原来的习惯,可以继续使用DateFormat来处理。
Calendar是一个抽象类,应该先调用getInstance()进行实例化。这里多做联系即可。同样的还有Math()类。
㈢System是与本地运行环境相关的类,其中常用的有arraycopy()数组拷贝,currentTimeMillis()返回以毫秒为单位的当前时间,exit(int status)终止当前正在运行的 Java 虚拟机以及可以主动调用垃圾回收器的gc()方法。
㈣Runtime:每个Java应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接。
可以通过getRuntime方法获取当前运行时。 应用程序不能创建自己的 Runtime 类实例。
这里需要知道exec()方法和gc()方法即可。gc()方法也是主动调用运行垃圾回收器。事实上,System.gc()方法本省就是调用此方法。
只是写法更简单了而已。
集体源码如下:
public static void gc() {
 Runtime.getRuntime().gc();
}

Java的常用对象②

String,StringBuffer,StringBuilder。
这里只讨论三者的效率的区别,而不去探究其在内存中的表现形式。关于内存的分析,请参考《Java内存与包装类》一节。
首先,StringBuffer和StringBuilder的区别在于是否线程安全。二者的关系很像HashTable和HashMap的区别。
StringBuffer同样的是早时间就要的类,而StringBuilder在时间相对较晚。
在能保证线程安全的情况下,优先使用StringBuilder的效率会更高。
而String类则很特殊了。这里只讨论一种情况。
String str1 = "a" + "b" + "c";
StringBuffer str2 = new StringBuffer("a").append("b").append("c");
二者的效率哪个更高?答案是str1。
原因要从Java的编译和运行讲起,对于常量,编译时就直接存储它们的字面值而不是它们的引用。
也就是说在编译时就直接讲它们连接的结果提取出来变成了"abc",该语句在class文件中就相当于String str1 = "abcde"。
然后对于变量就不是这样了。比如:
String s2 = "a";
String s3 = "b";
String s4 = "c";
String str1 = s2 +s3 + s4;
这样的结果,则str2效率更高。
可以说对多字符串的绝大多数的操作StringBuffer都是效率更高的,这是上面这一例子确实例外。

Java的常用对象①②的更多相关文章

  1. Java学习之Java中常用对象

    java的几种对象(PO,VO,DAO,BO,POJO)解释     一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中 ...

  2. 对Java的常用对象(POJO、DTO、PO、BO、VO、DAO)详细解释及应用场景

    首先这些对象都应用都是一些单词的简称,也是一种应用思想,故其他语言也可以使用,在Java里比较常见这些对象吧.下面来一一解释. 一.POJO(Plain Ordinary Java Object). ...

  3. Java的常用对象

    PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数 ...

  4. java中常用的工具类(三)

    继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类       ...

  5. Java最常用的变量定义汇总

    Java最常用的数据类型有基本数据类型,字符串对象,数组,基本数据类型又分为:数值型(包括整形和浮点型),字符型,布尔型,下面用一个简单的程序把这些数据类型汇总一下 public class Java ...

  6. JavaSE_ API常用对象 总目录(11~14)

    JavaSE学习总结第11天_开发工具 & API常用对象111.01 常见开发工具介绍11.02 Eclipse和MyEclipse的概述11.03 Eclipse的下载安装及卸载11.04 ...

  7. java中常用的字符串的截取方法

    java中常用的字符串的截取方法   1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int l ...

  8. Java API 常用类(一)

    Java API 常用类 super类详解 "super"关键字代表父类对象.通过使用super关键字,可以访问父类的属性或方法,也可以在子类构造方法中调用父类的构造方法,以便初始 ...

  9. java后台常用json解析工具问题小结

    若排版紊乱可查看我的个人博客原文地址 java后台常用json解析工具问题小结 这里不细究造成这些问题的底层原因,只是单纯的描述我碰到的问题及对应的解决方法 jackson将java对象转json字符 ...

随机推荐

  1. LeetCode() Super Ugly Number

    用了优先队列,还是超时 class Solution { public: int nthSuperUglyNumber(int n, vector<int>& primes) { ...

  2. 用帝国CMS时遇到的问题

    今天用帝国CMS时出现了如下提示: Table 'tuanwei.phome_ecms_twnews_index' doesn't exist delete from ***_ecms_t 删除栏目时 ...

  3. ext.net与extjs的关系

    一.在客户端,ext.net中可以使用extjs的语法. 如发送ajax请求, Ext.Ajax.request({            url: 'Common/getNode',         ...

  4. 如何导出和导入mysql数据(数据迁移)

    . 导出数据库数据 mysqldump -uroot -p dp_db > dumpout.sql 其中 root是账户名 dp_db是需要导出的数据库名称 dumpout.sql存储导出的数据 ...

  5. BarTender如何将条码下的数字嵌入到条码中

    现今社会,在各种包装箱子.书籍.超市商品等东西上面,必不可少的绝对要数条形码或者二维码了.有时候,根据客户的需求或者其他条件限制等原因,我们需要将BarTender 2016条码下的数字嵌入到条码中. ...

  6. 安装sql2008的时候选择的是Windows身份验证,现在我想用sql server身份验证,我应该到哪儿设置呢

    本文档整理自网络,存粹用作笔记. 安装过程中,SQL Server 数据库引擎可以设置为 Windows 身份验证模式或 SQL Server 和 Windows 身份验证模式. 本文介绍如何在安装后 ...

  7. 转载:Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    原文 http://www.powerxing.com/install-hadoop/ 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单,书上有写到, ...

  8. 1、rhel 6.5 系统准备

    1.启动.关闭.重置服务    (rhel7 为 systemctl) [root@rhel-6 ~]# service atd status #关闭atd服务 atd 已停 [root@rhel-6 ...

  9. SSHD服务搭建

    SSH协议:安全外壳协议.为Secure Shell 缩写.SSH为建立在应用层和传输层基础上的安全协议.   1.检查SSH服务端安装情况 [root@rhel6_84 ~]# rpm -qpi / ...

  10. nodejs向远程服务器发送post请求----融云Web SDK/客户端获取token

    最近要用到一个叫融云的及时通讯的SDK,在获取token这个步骤的时候有点卡顿,以防以后碰到类似的问题,再此记录一下. 客户端通过融云 SDK 每次连接服务器时,都需要向服务器提供 Token,以便验 ...