今天偷懒了,没学进去什么。就单单上午应该看了一个多小时的视频,果然玩手机的诱惑就是大,悲伤那么大。好了,废话不多说,先上学习内容。
JVM内存
- 栈
基本数据类型变量,对象的引用,函数调用的保存现场 - 堆
new
和构造器创建的对象,分为新生代和老生代 - 方法区
JVM
加载的类信息,常量,静态变量,JIT
编译器编译后的代码等;方法区中有常量池,程序中的字面量就放入其中
Calendar类
java.util.Calendar
,提供很多操作日历的方法。
Calendar
是抽象类,所以使用时,调用getInstance()
方法返回其子类对象。
常用方法
public int get(int field)
返回给定字段的值
public void set(int field, int value)
给指定字段设定指定值
public void set(int year, int month, int day)
设置年月日
public static void add(int field, int amount)
给指定的日历字段增加和减少指定时间量
public Date getTime()
返回一个表示此Calendar
时间值的Date
对象
System类
public static long currentTimeMillis()
返回当前时间对应的毫秒值
public static void arraycopy(Object src, int srcPos, Object dest, int desPos, int length)
将数组中指定数据拷贝到另一个数组:src
拷贝源数组,srcPos
源数组的起始索引,dest
拷贝目标数组,destPos
目标数组的起始索引,length
拷贝的数据长度
StringBuilder类
java.lang.StringBuilder
字符串缓冲区
不同点/相同点 | String | StringBuilder |
---|---|---|
相同点 | 底层是byte[] | 底层是byte[] |
不同点 | 不可变 | 可变 |
初始容量为16,若超过初始容量,则自动扩充一倍
构造方法:
StringBuilder()
构造一个不带任何字符的字符串生成器,初始容量16个字符
StringBuilder(String str)
构造一个字符串生成器,初始化为str
成员方法:
public StringBuilder append(...)
添加任意类型的数据,返回当前对象本身;可以采取链式编程的方式添加数据,格式为:对象.append(...).append(...).append(...)
public String toString()
将当前StringBuilder
对象转换为String
对象
包装类
将基本数据类型进行封装,用一些方法操作这些基本数据类型
举例:
int->Integer
原理:
- 装箱
Integer(int i)
已过时
Integer(String s)
已过时
static Integer valueOf(int i)
static Integer valueOf(String s)
此处若s
非数字,则会抛出异常 - 拆箱
public int intValue()
jdk1.5+
自动拆箱/装箱
基本类型与字符串相互转换:
- 字符串->基本数据类型
调用包装类的静态方法parseXXX()
- 基本数据类型->字符串
- 基本类型变量值+""
- 包装类的静态方法
toString(参数)
String
类的静态方法valueOf(参数)