[1]. 消息队列主要是传递什么消息的?
消息队列主要用于在不同的应用程序或服务之间传递异步消息。这些消息通常包含需要处理的数据或事件通知,使得系统能够解耦、提高并发性和可伸缩性。
消息队列中传递的常见消息类型包括:
-
事件通知,用于通知其他服务发生了某个事件;
-
命令消息,用于指示其他服务执行某个特定的操作;
-
数据同步消息,用于在不同的系统或数据库之间同步数据;
-
请求-响应消息,用于模拟同步的请求-响应模式。
[2]. try…catch…对应多个catch块的使用场景
try…catch…结构可以包含多个catch块,以便针对try块中可能抛出的不同类型的异常采取不同的处理方式。这通常用于以下场景:
-
针对不同异常类型采取不同的处理措施。
-
保证异常处理的优先级,将处理更具体异常类型的catch块放在前面。
-
提高代码的可读性和可维护性,将不同类型的异常处理代码分配到不同的catch块中。
[3]. JDK1.7与1.8的区别?
JDK 1.8相对于JDK 1.7来说,最核心的改进是Lambda表达式,JDK 1.8允许将函数作为参数传递给方法,极大地简化了代码。
JDK 1.8配合StreamAPI,还可以用声明式的方式处理集合数据,避免了大量的循环代码。
JDK1.8使用元空间取代了永久代,避免了PermGen OOM的风险。
此外,HashMap也进行了优化,当链表长度过长时,会转换成红黑树,提高了查找效率。
[4]. String的常用方法
String类提供了很多常用的方法,可以分为以下几个类别:
获取字符串信息:length()获取字符串长度,charAt(int index)获取指定索引位置的字符,indexOf(String str)查找子字符串第一次出现的索引。
字符串比较:equals(Object obj)比较两个字符串的内容是否相同,区分大小写,equalsIgnoreCase(String anotherString)比较两个字符串的内容是否相同,忽略大小写。
字符串操作:substring(int beginIndex)截取字符串的一部分,concat(String str)将指定的字符串连接到该字符串的末尾,trim()去除字符串两端的空白字符,toUpperCase()和toLowerCase()转换大小写,split(String regex)分割字符串。
字符串转换:valueOf(Object obj)将各种类型的数据转换为字符串,toCharArray()将字符串转换为字符数组。