优化网站关键词的技巧,统一企业官网,怎样提高网站打开速度慢,手工制作会动的玩具java基础复习(五)
1.是否了解类似 RabbitMQ.kalka 之类的队列服务? 请简述队列取务中的常见要素和使用场景#xff1f;
了解#xff0c;队列服务是一种应用间的通信方式#xff0c;可以实现异步处理、应用解耦、流量削峰和消息通信等功能
队列服务的常见要素#xff1a…java基础复习(五)
1.是否了解类似 RabbitMQ.kalka 之类的队列服务? 请简述队列取务中的常见要素和使用场景
了解队列服务是一种应用间的通信方式可以实现异步处理、应用解耦、流量削峰和消息通信等功能
队列服务的常见要素生产者、消费者、消息处理中心和队列
生产者负责发送消息消费者负责接收和处理消息消息处理中心负责存储、确认、重试等。队列按照一定的规则分发消息
RabbitMQ遵循AMQP协议适用实时的对可靠性要求比较高的信息传递
Kafka是Linkedln开源的消息发布订阅系统主要用于处理大数据量的流式数据
2.你在什么时候会使用 Request/Response 模式什么时候使用Publish/Subscribe 模式?
Request/Response 模式
1.会在与外部系统进行通信使用
2.当我需要调用第三方API时
Publish/Subscribe 模式
异步处理信息广播消息给多个订阅者动态提交或移除订阅者
3.是否使用过redis使用过 redis 的哪种数据结构如何优化redis
使用过
String、List、Hash、Set、Sorted Set等
优化
1.缩短键值对的存储长度
2.设置键值的过期时间
3.避免大量数据同时失效
4.继承数据持久化策略
5.禁用长耗时的查询命令
6.限制 Redis 内存大小
7.使用分布式架构增加读写速度
前某家面试题结束
4.String s new String(“xyz”);创建了几个字符串对象
两个对象一个是静态区的xyz,一个是用 new 创建在堆上的对象
5.接口是否可继承extends接口抽象类是否可实现implements接口?抽象类舒服可继承具体类concreteclass
接口可以继承接口而且支持多重继承。抽象类可以实现(implements)接口抽象类可继承具体类也可以继承抽象类
6.一个.java源文件中是否可以包含多个类不是内部类有什么限制
可以但一个源文件中最多只能有一个公开类public class 而且文件名必须和公开类的类名完全保持一致。
7.Anonymous lnner Class(匿名内部类)是否可以继承其它类是否可以实现接口
可以继承其他类或实现其他接口在 swing 编程和 Android 开发中常用此方式来实现事件监听和回调
8.内部类可以引用它的包含类外部类的成员吗有没有什么限制
一个内部类对象可以访问创建它的外部类对象的成员包括私有成员
9.Java 中的 final 关键字有哪些用法
修饰类表示该类不能被继承
修饰方法表示方法不能被重写
修饰变量表示变量只能一次赋值以后值不能被修改常量
10.创建对象时构造器的调用顺序
class A {static {System.out.print(1);}public A() {System.out.print(2);}
}
class B extends A{static {System.out.print(a);}public B() {System.out.print(b);}
}public class Hello {public static void main(String[] args) {A ab new B();ab new B();}
}执行结果:1a2b2b。
创建对象时构造器的调用顺序
先初始化静态成员然后调用父类构造器再初始化非静态成员最后调用自身构造器
11.数据类型之间的转换
如何将字符串转换为基本数据类型
调用基本数据类型对应的包装类中的方法 parseXXX(String)或valueOf(String)即可返回相应基本类型
如何将基本数据类型转换为字符串
一种方法是将基本数据类型与空字符串 连接即可获取其所对应的字符串
另一种方法是调用String 类中的 valueOf()方法返回相应字符串
12.如何实现字符串的反转及替换
使用 String 或 StringBuffer/StringBuilder中的方法
String
public static String reverse(String originStr) {
if(originStr null || originStr.length() 1)return originStr;
return reverse(originStr.substring(1)) originStr.charAt(0);
}StringBuffer/StringBuilder
public static String reverse2(String s){String str;StringBuffer sbBuffer new StringBuffer(s);strsbBuffer.reverse().toString();return str;
}