j2se学习中的一些零碎知识点5
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了j2se学习中的一些零碎知识点5相关的知识,希望对你有一定的参考价值。
1、StringBuffer是什么?是一个字符串缓冲区,工作原理是预先在内存中申请一块空间,以容纳字符序列;如果预留的空间不够用,则进行自动扩容,以容纳更多字符序列。
- StringBuffer,StringBuilder和String之间的区别?StringBuffer底层是一个char数组,但是这个char数组是可变的,并且可以自动扩容。
- StringBuffer和StringBuilder的默认初始化容量是16。
- 如何优化StringBuffer和StringBuilder呢?最好在创建StringBuffer之前,预测StringBuffer的存储字符数量,然后在创建StringBuffer的时候指定初始化容量的方式创建StringBuffer。以此减少底层数组的拷贝,提高效率。
- 推荐字符串频繁拼接使用StringBuffer或者StringBuilder,不会创建大量的字符串对象,节省内存。
- StringBuffer和StringBuilder的区别?StringBuffer是线程安全的。(可以在多线程的环境下使用不会出现问题。)StringBuilder是非线程安全的。(在多线程的环境下使用可能会出现问题。)
2、java中八钟基本数据类型对应的包装类型:
- 假设m方法可以接收java中任意一种数据类型,此时调用m方法想要接收byte类型的数据,可以将byte数据先包装成java.lang.Byte;之后再传递参数。
- java中包装类的继承结构图:
- 以java.lang.Integer类型为例,讲解八种数据类型:
- JDK5.0新特性:自动装箱(auto_boxing)和自动拆箱(auto_unboxing)的特性适合与JDK1.5版本之后的(包括1.5)。
3、深入自动装箱和自动拆箱:自动装箱和自动拆箱是程序编译阶段的一个概念,和程序运行无关。
- 自动装箱和自动拆箱主要目的是方便程序员编码。
4、关于日期类型:
- 获取自1970年1月1日00时00分00秒 000毫秒到当前毫秒数,long now = System.currentTimeMillis();
- 获取系统当前时间:Date nowTime = new Date(); System.out.println(nowTime);(java.util.Date已经重写了Object中的toString方法。)
- 格式化日期类型:SimpleDateFormat(java.util.Date --> String)
- 获取特定的日期:
5、日历Calendar类:
以上是关于j2se学习中的一些零碎知识点5的主要内容,如果未能解决你的问题,请参考以下文章