- StringBuilder有何作用?StringBuilder和StringBuffer两个类有何区别?
- StringBuilder是一个可变的字符串类,用于在Java中高效地处理字符串拼接操作。它允许我们追加、插入、替换和删除字符串内容。
- StringBuilder相比于StringBuffer,是非线程安全的,但在单线程环境下,StringBuilder的性能会稍微更好一些。
- StringBuffer是StringBuilder的线程安全版本,可以在多线程环境下使用。
- 为什么java中的时间零点是"1970-01-01 00:00:00"?那我们中国也是这个时间么?
- 这个时间点被称为Unix纪元(或称为Epoch时间),它被认为是计算机科学和操作系统中的一个重要基准。
- Java中的时间起点也是参考了这个Unix纪元,即1970年1月1日的零点。在中国,也是使用这个时间作为起点。
- 分别说出:Date、SimpleDateFormat、Calendar类的作用?
- Date类:在Java中用于表示日期和时间,它包含了一个long类型的毫秒数,代表自1970年1月1日午夜以来的毫秒数。
- SimpleDateFormat类:用于格式化和解析日期时间字符串。可以将Date对象转换为指定格式的字符串,也可以将字符串解析成Date对象。
- Calendar类:提供了对日期和时间的操作,可以进行日期的计算、比较、格式化等操作。Calendar是一个抽象类,通过它的getInstance()方法可以获取一个具体实现(比如GregorianCalendar)的实例。
- 分别说出:LocalDate、ZoneId、ZonedDateTime、Instant、DateTimeFormatter、Period、Duration类的作用?
- LocalDate:表示日期,不包含时间和时区信息,例如:2023-10-24。
- ZoneId:代表时区的标识符,可以用于将本地日期时间转换为带时区的日期时间。
- ZonedDateTime:包含日期、时间和时区信息,可以表示某个特定时区的日期和时间,例如:2023-10-24T12:34:56+08:00[Asia/Shanghai]。
- Instant:表示一个瞬时点,与日期时间无关,是一个精确到纳秒的时间戳。
- DateTimeFormatter:用于格式化和解析日期时间对象,可以将日期时间对象转换为指定格式的字符串,也可以将字符串解析成日期时间对象。
- Period:用于在日期之间进行精确的日期单位(如天、月、年)的计算。
- Duration:用于在时间之间进行精确的时间单位(如小时、分钟、秒)的计算。