1.一个接口有3个实现类,每个实现类都是不一样的。
provider 中提供了3个类的实例
comcumer中配置了一个接口实例
调用时如何确定调用的是哪一个接口实例?
问题一:
comcumer中配置的name应该与接口是没有关系的,有3个实现类如何确定使用的是哪一个实现类?
问题二:
如果同时有多个满足关系的provide,consumer调用的时候如何决定使用哪一个?分配方案是什么?
2、对象容器:
目前JAVA有多个对象容器如:List Map Set
为什么要设计多个对象容器,有什么区别?存储上的区别 操作上的区别
3、Java具有功能强大、安全、跨平台、国际化的特点。
从哪些方面说明它的这些特点?
4。通过对象引用操作对象。
对象引用是什么?是对象吗?需要分配内存了空间,分配到了什么地方,有效期是怎么算的?
5.BigInteger BigDecimal 可以创建大型的整数和浮点数。
大的有没有限制?为什么没有限制?内部机制是什么,系统是如何做到的?
6.=赋值运算符为字符串赋值的内部实现原理是什么?
String s="abc";
Integer i=1;
7.以下代码如何实现?
Character ch='x';
char c=ch;
8、方法的重载,如果参数个数、参数类型、返回值、方法名都想同,只有参数名称不相同,这算是方法重载吗?为什么?
9.atatic关键字修饰的域或方法通过类名访问?如何实现的?
10.java.lang默认导入每个java文件中?为什么要这样设计?
11.System.out.println(new Date()) newDate()对象自动转换为String类型。
如何做到的呢?
public void println(Object x) {
String s = String.valueOf(x);
synchronized (this) {
print(s);
newLine();
}
String s = String.valueOf(x);
synchronized (this) {
print(s);
newLine();
}
}
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
return (obj == null) ? "null" : obj.toString();
}
public String toString() {
// "EEE MMM dd HH:mm:ss zzz yyyy";
BaseCalendar.Date date = normalize();
StringBuilder sb = new StringBuilder(28);
int index = date.getDayOfWeek();
if (index == gcal.SUNDAY) {
index = 8;
}
convertToAbbr(sb, wtb[index]).append(' '); // EEE
convertToAbbr(sb, wtb[date.getMonth() - 1 + 2 + 7]).append(' '); // MMM
CalendarUtils.sprintf0d(sb, date.getDayOfMonth(), 2).append(' '); // dd
CalendarUtils.sprintf0d(sb, date.getHours(), 2).append(':'); // HH
CalendarUtils.sprintf0d(sb, date.getMinutes(), 2).append(':'); // mm
CalendarUtils.sprintf0d(sb, date.getSeconds(), 2).append(' '); // ss
TimeZone zi = date.getZone();
if (zi != null) {
sb.append(zi.getDisplayName(date.isDaylightTime(), zi.SHORT, Locale.US)); // zzz
} else {
sb.append("GMT");
}
sb.append(' ').append(date.getYear()); // yyyy
return sb.toString();
}
// "EEE MMM dd HH:mm:ss zzz yyyy";
BaseCalendar.Date date = normalize();
StringBuilder sb = new StringBuilder(28);
int index = date.getDayOfWeek();
if (index == gcal.SUNDAY) {
index = 8;
}
convertToAbbr(sb, wtb[index]).append(' '); // EEE
convertToAbbr(sb, wtb[date.getMonth() - 1 + 2 + 7]).append(' '); // MMM
CalendarUtils.sprintf0d(sb, date.getDayOfMonth(), 2).append(' '); // dd
CalendarUtils.sprintf0d(sb, date.getHours(), 2).append(':'); // HH
CalendarUtils.sprintf0d(sb, date.getMinutes(), 2).append(':'); // mm
CalendarUtils.sprintf0d(sb, date.getSeconds(), 2).append(' '); // ss
TimeZone zi = date.getZone();
if (zi != null) {
sb.append(zi.getDisplayName(date.isDaylightTime(), zi.SHORT, Locale.US)); // zzz
} else {
sb.append("GMT");
}
sb.append(' ').append(date.getYear()); // yyyy
return sb.toString();
}
Sun Jul 31 13:47:29 CST 2016
12.import static 是什么意思?
13、直接常量?