①关于继承和实现说法正确的 是 ? ( )
类可以实现多个接口,接口可以继承(或扩展)多个接口
②在接口里面定义的数据格式可以是()
final , static , public // 不可以是abstarct
③以下哪个事件会导致线程销毁?()
A. 调用sleep()方***让线程进入睡眠状态—睡眠指定的时间后再次执行;
B. 调用wait()方***让线程进入等待状态 ----等待别的线程执行notify()或notifyAll()唤醒后继续执行;
C.调用start()方***让线程进入就绪状态—得到CPU时间就执行线程;
D.run()方法是线程的具体逻辑方法,执行完,线程就结束。
④如果一个list初始化为{5,3,1},执行以下代码后,其结果为()?
nums.add(6);
nums.add(0,4);
nums.remove(1);
答案:[4, 3, 1, 6]
nums.add(6);//把6添加到list中,变为{5,3,1,6}
nums.add(0,4);//在list的第0个位置添加4,list变为{4,5,3,1,6}
nums.remove(1);//移除list的第一个元素,list变为{4,3,1,6}
⑤以下代码执行的结果显示是多少()?
答案:0
count = count++ 原理是 temp = count; count = count+1 ; count = temp; 因此count始终是0 这仅限于java 与c是不一样的
⑥单例模式中,两个基本要点是
构造函数私有,唯一实例
⑦以下JAVA程序代码的输出是
评论清一色异或异或,别人说了异或了再说有意思吗?不能说说a选项,JAVA里面的立方怎么表示? math.pow(x,2):平方 math.pow(x,3):立方 所以数学里面的平方符号∧跟JAVA是不一样的。
表示异或 就是相同是0 不同是1
14是1110
3是0011
所以14^3=1101,即13
⑧在一个基于分布式的游戏服务器系统中,不同的服务器之间,哪种通信方式是不可行的()?
管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
既然是不同的服务器之间进行通信,怎么可能会是具有亲缘关系的进程呢?
⑨下面关于volatile的功能说法正确的是哪个
有序性,可见性
offer全家桶
synchronized保证三大性,原子性,有序性,可见性,volatile保证有序性,可见性,不能保证原子性
⑩若有定义语句: int a=10 ; double b=3.14 ; 则表达式 ‘A’+a+b 值的类型是()
正确答案:double
若有定义语句: int a=10 ; double b=3.14 ; 则表达式 ‘A’+a+b 值的类型是()
⑩①下列程序执行后输出结果为( )
正确答案::
执行顺序从左到右:
父类静态代码块 ->子类静态代码块 ->父类非静态代码块 -> 父类构造函数 -> 子类非静态代码块 -> 子类构造函数。
⑩②下列Java代码中的变量a、b、c分别在内存的____存储区存放。
正确答案:堆区,栈区,栈区
a是类中的成员变量,存放在堆区
b、c都是方法中的局部变量,存放在栈区
堆区:只存放类对象,线程共享;
方法区:又叫静态存储区,存放class文件和静态数据,线程共享;
栈区:存放方法局部变量,基本类型变量区、执行环境上下文、操作指令区,线程不共享;
⑩③事务隔离级别是由谁实现的?
正确答案:数据库系统
⑩④下面哪些具体实现类可以用于存储键,值对,并且方法调用提供了基本的多线程安全支持:()
线程安全的map:HashTable,SynchronizedMap,ConcurrentHashMap
⑩⑤代码返回结果为:
Integer a = 1;
Integer b = 1;
Integer c = 500;
Integer d = 500;
System.out.print(a == b);
System.out.print(c == d);
正确答案:true false
Interger的范围时[-128,127],在这个范围内比较大小,相等为true,超过范围为false
⑩⑥ArrayList list = new ArrayList(20);中的list扩充几次
正确答案:0次
Arraylist默认数组大小是10,扩容后的大小是扩容前的1.5倍,最大值小于Integer 的最大值减8,如果新创建的集合有带初始值,默认就是传入的大小,也就不会扩容
⑩⑦下面代码的输出结果是什么?
需要理解Try…catch…finally与直接throw的区别:try catch是直接处理,处理完成之后程序继续往下执行,throw则是将异常抛给它的上一级处理,程序便不往下执行了。本题的catch语句块里面,打印完1之后,又抛出了一个RuntimeException,程序并没有处理它,而是直接抛出,因此执行完finally语句块之后,程序终止了
正确答案:12
⑩⑦以下哪个不属于JVM堆内存中的区域()?
正确答案:常量池
jvm堆分为:新生代(一般是一个Eden区,两个Survivor区),老年代(old区)。
常量池属于 PermGen(方法区)
⑩⑧下面哪些属于JSP内置对象及方法?
JSP内置对象有:
1.request对象
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
2.response对象
response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。
3.session对象
session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.
4.out对象
out对象是JspWriter类的实例,是向客户端输出内容常用的对象
5.page对象
page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例
6.application对象
application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。
7.exception对象
exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象
8.pageContext对象
pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本 类名也叫pageContext。
9.config对象
config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)
⑩⑨关于String、StringBuffer、StringBuilder以下说法错误的是
正确答案:String的值是可变的(错误)
String 底层是数组,还是用final修饰的
②⑩关于Float,下列说法错误的是()
正确答案:Float a = 1.0是正确的赋值 (错误)
1.Float是类,float不是类.
2.查看JDK源码就可以发现Byte,Character,Short,Integer,Long,Float,Double,Boolean都在java.lang包中.
3.Float正确复制方式是Float f=1.0f,若不加f会被识别成double型,double无法向float隐式转换.
4.Float a= new Float(1.0)是正确的赋值方法,但是在1.5及以上版本引入自动装箱拆箱后,会提示这是不必要的装箱的警告,通常直接使用Float f=1.0f.
②①关于 Socket 通信编程,以下描述正确的是:( )
客户端通过new Socket()方法创建通信的Socket对象
服务器端通过new ServerSocket()创建TCP连接对象 accept接纳客户端请求
②②不能用来修饰interface的有( )(仅限外部接口)
privite protected static
②③java运行时内存分为“线程共享”和“线程私有”两部分,以下哪些属于“线程共享”部分
正确答案:方法区 java堆