1.检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。
public class HelloB extends HelloA{
public HelloB(){
}
{
System.out.println("I’m B class ");
}
static{
System.out.println("static B ");
}
public static void main(String[] args){
new HelloB();
}
}
Class HelloA{
public HelloA(){
}
{
System.out.println(" I’m A class ");
}
static{
System.out.println("static A ");
}
}
答案:static A
static B
I’m A class
I’m B class
解析:先调用父类静态代码块,再调用子类静态代码块,然后调用父类非静态代码块,再调用子类的非调用代码块,然后调用父类构造方法,最后调用子类构造方法
2.下面哪一项不是加载驱动程序的方法?
答案:通过DriverManager.getConnection方法加载
解析:DriverManager.getConnection是获取链接的方法
3.JDK 和 JRE 有什么区别?
答案:JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境
JRE只提供Java运行环境,是面向Java的程序的使用者
4.zookeeper可用性差一点,那它可用性差在哪里?
答案:zookeeper不是为高可用性设计的,zookeeper选举过程速度很慢,zookeeper性能是有限的,zookeeper无法进行有效的权限控制
5.关于TCP方面,你介绍一下三次握手呗?
答案:
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
6.公鸡五块钱,母鸡三块钱。小鸡一块钱三个。一百块钱买一百只鸡。公鸡母鸡小鸡分别占多少?
答案:
public class test { public static void main(String[] args) { for (int x=0;x<20;x++){ for (int y=0;y<33;y++){ int z = 100-x-y; if(5*x+3*y+z/3==100&&z%3==0){ System.out.println("公鸡:"+x+",母鸡:"+y+",小鸡:"+z); } } } } }