1.java.util.concurrent包中,用于创建线程池的接口名(无需带包名)为
2.若需要对某接口做流控,使用下列哪个类最适合?
A. CountDownLatch
B. CyclicBarrier
C. Semaphore
D. ReentrantLock
3.下面哪些是Thread类的方法()
A start() B run() C exit() D getPriority()
4.有关线程的哪些叙述是对的
A. 一旦一个线程被创建,它就立即开始运行。
B. 使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。
C. 当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。
D. 一个线程可能因为不同的原因停止并进入就绪状态。
5.请写出创建线程的几种方式____,区别分别是__
6.下面哪些是Thread类的方法()
A start() B run() C exit() D getPriority()
7.volatile关键字是否能保证线程安全?
8.以下程序中的list扩充几次()
ArrayList
for(int i=0;i<30;i++){
list.add(i);
}
9.以下描述正确的是:
A:线程池-ScheduledThreadPool为调度性线程池,多用于周期执行或者按照schedule依次delay执行线程
B:线程池-CachedThreadPool 为缓存型线程池,多用于执行时间较短的异步型任务
C:线程池-newFixedThreadPool 为常规线程池,保持固定数量的线程,多用于服务器,针对一些很稳定很固定的正规并发线程
D:单线程池-SingleThreadExecutor 任意时间池中只能有一个线程
10.char类型能否存储一个中文字符
11.拦截器和过滤器都可以用来实现横切关注功能,其区别主要在于
A拦截器是基于Java反射机制的,而过滤器是基于接口回调的。
B过滤器依赖于Servlet容器,而拦截器不依赖于Servlet容器。
C拦截器只能对Action请求起作用,而过滤器可以对所有请求起作用。
D拦截器可以访问Action上下文、值栈里的对象,而过滤器不能。
12.针对spring IOC描述正确的是:
A:控制反转(Inversion of Control,英文缩写为IoC)是一种设计模式
B:控制反转还有一个名字叫做依赖注入(Dependency Injection)。简称DI
C:IOC模式减少代码间的耦合,提供系统的可扩展性
D:IOC使用反射生成对象,耗cpu,在效率上有些损耗
13.hibernate的SessionFactory是线程安全的吗?Session是线程安全的吗?
A:是,不是
B:是,是
C:不是,不是
D:不是,是
14.Runnable和Callable的的描述正确的是()
A、Callable规定的方法是call(),Runnable规定的方法是run()。
B、Callable和Runnable的任务执行后都不能返回值得。
C、call方法可以抛出异常。
D、run方法不可以抛出异常。
15.GC线程是否为守护线程?()
16.Java Core文件提供的信息不包含( )
A.JVM的参数启动参数、Jdk版本
B.最后一次详细的垃圾回收记录
C.JVM中,所有线程执行情况
D.类的实例对象个数
17.哪个关键字可以对对象加互斥锁?
A transient
B synchronized
C serialize
D static
18.下列哪些情况可以终止当前线程的运行?
A 抛出一个异常时。
B 当该线程调用sleep()方法时。
C 当创建一个新线程时。
D 当一个优先级高的线程进入就绪状态时。
19.线程同步中,对象的锁在( )情况下持有线程返回:
A. 当synchronized()语句块执行完后
B. 当在synchronized()语句块执行中出现例外(exception)时
C. 当持有锁的线程调用该对象的wait()方法时
D. 以上都是
20.Character流与Byte流的区别是():
A) 每次读入的字节数不同 B) 前者带有缓冲,后者没有
C) 前者是字符读写,后者是字节读写
D) 二者没有区别,可以互换使用
21.请问,以下哪些是有关垃圾回器的正确描述?请选择所有正确答案:
A程序员可以在指定调用时间调用垃圾回收器释放内存。
B垃圾回收器可以保证JAVA程序从不会产生内存溢出。
C程序员可以指定垃圾回心目中对像。
D对像的finaliz()方法在对像被垃圾回收之前获得调用。
22.JDK 默认的ClassLoader 有:
A:Bootstrp loader
B:AppClassLoader
C:ExtClassLoader
D:SystemClassLoader
23.下面不是正确的IO模型的是
A:阻塞IO、
B:非阻塞IO、
C:多路同步IO.
D:信号驱动IO
24.JMX标准的提供的Bean有
A:Standard MBean。
B:Dynamic MBean
C:Model MBean
D:Open MBean
25.以下哪项不是JMX架构体系的层次:
A:设备层(Instrumentation Level)
B:代理层(Agent Level)
C:聚合层(Aggregation Level)
D:附加管理协议API(Additional Mangement Protocol APIS)
26.当服务器出现内存溢出的时候,下面哪种日志可以帮助尽快定位问题:
A:HeapDump
B:javaCore
C:Snap
D:host-controller.log
27.在JVM规范中,默认首先启动的ClassLoader是
A:Bootstrp loader
B:AppClassLoader
C:ExtClassLoader
D:SystemClassLoader
28.在JavaURI中,一个URI实例可以代表绝对的,也可以是相对的,只要它符合URI的语法规则,同时java.net.URI提供没有转义功能,需要自己对内容进行转义.
29.SDOSS.整体采用对象存储思想;多个小对象聚合为一个大文件;文件路径跟对象的映射关系存放在一个元数据集群中.
30.RSF支持的调用方式:HTTP、RMI、TCP协议及Hessian化机制.
31.关于redis高可用,下面说明正确的是:
A:从Redis 2.8开始加入对Sentinel机制从而实现了服务器端的主从切换
B:Redis默认提供两种方式的备份和恢复的方式:RDB和AOF。
RDB是在某个时间点将内存中的所有数据的快照保存到磁盘上,AOF是以文本的方式将所有对数据库进行过写入的命令(及其参数)记录到文件中
C:当Master端Redis服务崩溃,Redis sentinel将Slave切换为读写状态,并提供生产服务。
通过故障诊断修复Master,启动后会自动加入Sentinel并从Slave端完成数据同步,同时进行Master的重新还原.'
D:在REDIS集群中一个Slave,无论是第一次连接还是重连到Master,它都会发出一个SYNC命令,和MASTER进行数据同步.
32.关于JCA描述正确的是:
A:JCA的全称是J2EE Connector Architecture,它定义了一个连接J2EE平台和Enterprise Information Systems(EIS)的标准架构,使得各个EIS能够接入到Application Server当中
B:JCA把要接入的叫做Contract(合约)。JCA定义了三个Contract:Connection management, Transaction management, Security (安全规范)
C:在开发JCA的基本步骤,在一个应用服务器上开发一个ResourceAdapter,用RAR的形式部署,将EIS接进来。
D:JCA是并不支持事务.
33.下面官员netty或者mina说明正确的是
A:Mina和netty都采用了 Reactors in threads 线程模型
B:Mina 和 netty 具有相同的任务调用粒度.
C:Netty采用IO多路复用技术,即select/poll模式来提高性能,这个技术在jdk1.5 开始出现,主要用于替换原来的epoll技术.
D:Netty使用了并行多个独立锁的设计,IO线程内部进行并行操作,极大的提高了性能.
34.下面关于SOA描述不正确的是:
A.SOA的要素主要包括 标准化、复用、松耦合可编排 三个方面.
B.SOA主要目标是通过对服务的流程化来实现业务的灵活性.
C:完整的SOA的参考架构模型由五大组成部分是基础设施服务、企业服务总线、关键服务组件、开发工具、管理工具.
D:ESB是中间件技术与RMI技术结合的产物,也是SOA系统中的核心基础设施
35.关于JVM下面说法是不对的是
A:引起FULL GC的主要原因是 包括· 年老代被写满、Perm被写满、System.gc()被显示调用、上一次GC之后Heap的各域分配策略动态变化
B:在Perm区域中,主要存储是Java类、方法等静态文件
C:GC主要两种类型Scavenge GC和Full GC,其中Scavenge GC 清理的是 Tenured区域
D:在JVM选择垃圾回收方式的时候,有三种方式可供选择:串行、并行、并发收集器
36.下面关于WEB前端知识说明错误的是
A:cookie长度是没有限制的,我们可以放心在往里面存数据.
B:当我们需要对个别的浏览器引入特定的css样式的时候,可以使用如下语法:[if SafMob] @import('iphone.css');
C:cookie的类型的是string
D:一个简单的闭包可以是在一个函数内定义另外一个函数.
37.关于ehcache说明正确的是
A:@Cacheable 用于标注一个可以被缓存的数据,基本功能和JCache中的@CacheResult类似.
B:ehcache使用的JAVA堆内内存,所以大小还是JVM堆大小的限制.
C:echache存储对象较多的时候会引起GC
D:eCache用 memoryStoreEvictionPolicy 属性当内存超出设置堆的时候进行回收出策略,默认值是FIFO
38.一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 用给定的计数初始化,并且计数无法被重置。符合以上描述的类是:
A.CyclicBarrier
B.CounDownLatch
C.atomic
D.locks
39.现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
40. 在java中wait和sleep方法,sleep会释放锁?
41.关于java.util.concurrent包说法错误的是()
A、Executor,具体Runnable任务的执行者。
B、ExecutorService,一个线程池管理者,其实现类有Runnable,Callable,BlockingQueue
C、Semaphore,是一个计数信号量
D、ReentrantLock ,一个可重入的互斥锁定 Lock,功能类似synchronized,但要强大的多。
42.下列说法正确的有()
A、class中的constructor不可省略
B、constructor必须与class同名,但方法不能与class同名
C、constructor在一个对象被new时执行
D、一个class只能定义一个constructor
A、default String s
B、public final static native int w( )
C、abstract double d
D、abstract final double hyperbolicCosine( )
44.Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错误的是()
A、ArrayList和LinkedList均实现了List接口
B、ArrayList的访问速度比LinkedList快
C、添加和删除元素时,ArrayList的表现更佳
D、HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
45.下列哪种异常是检查型异常,需要在编写程序时声明()
A、NullPointerException
B、ClassCastException
C、FileNotFoundException
D、IndexOutOfBoundsException
46.在Java中,关于HashMap类的描述,以下错误的是()
A、HashMap使用键/值得形式保存数据
B、HashMap 能够保证其中元素的顺序
C、HashMap允许将null用作键
D、HashMap允许将null用作值
47.内部类是在一个类内嵌套定义的类。其特点描述错误的是()
A、只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名
B、可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部变量
C、可以作为其它类的成员,而且可访问它所在类的成员
D、除static内部类外,不能在类内声明static成员
48.关于sleep()和wait(),以下描述错误的一项是()
A、sleep是线程类(Thread)的方法,wait是Object类的方法;
B、sleep不释放对象锁,wait放弃对象锁
C、sleep暂停线程、但监控状态仍然保持,结束后会自动恢复
D、wait后进入等待锁定池,只有针对此对象发出notify方法后获得对象锁进入运行状态
49.以下关于final关键字说法错误的是()
A、final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性
B、final修饰的类肯定不能被继承
C、final修饰的方法不能被重载
D、final修饰的变量不允许被再次赋值
50.下列集合是线程安全的有()
A、HashMap
B、HashTable
C、ConcurrentHashMap
D、TreeMap
51.下列关于Java线程的说法那些是正确的()
A、每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。
B、创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。
C、Thread类属于java.util程序包
D、以上说法无一正确
52.关于sleep()和wait(),以下描述错误的一项是()
A、sleep是线程类(Thread)的方法,wait是Object类的方法
B、sleep不释放对象锁,wait放弃对象锁
C、sleep暂停线程、但监控状态仍然保持,结束后会自动恢复
D、wait后进入等待锁定池,只有针对此对象发出notify方法后获得对象锁进入运行状态
53.内部类是在一个类内嵌套定义的类。其特点描述错误的是()
A、只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名
B、可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部变量
C、可以作为其它类的成员,而且可访问它所在类的成员
D、除static内部类外,不能在类内声明static成员
54.下面能让线程停止执行的有()
A、sleep();
B、stop();
C、notify();
D、synchronized();
E、yield();
F、wait();
G、notifyAll();
55.下列方法中,()不可以用来程序调优?
A、改善数据访问方式以提升缓存命中率
B、使用多线程的方式提高 I/O 密集型操作的效率
C、利用数据库连接池替代直接的数据库访问
D、利用迭代替代递归
E、合并多个远程调用批量发送
F、共享冗余数据提高访问效率
56.枚举类型增加或者减少实例不会影响反序列化
57.JDK7中,下面语句中共创建了几个对象()
String s = "a" + "b" + "c" + "d" + "e";
A、没有创建对象
B、1个对象
C、2个对象
D、5个对象
58.两个等价线程并发执行下列程序,a为全局变量,初始值为0,假设++,—,printf都是原子性的,则肯定不会输出的为()
void foo() {
if(a<=0)
a++;
else
a--;
println(a);
}
A、01
B、10
C、12
D、22
59.下列关于Java并发的说法中正确的是()
A、CopyOnWriteArrayList适用于写多读少的并发场景
B、ReadWriteLock适用于读多写少的并发场景
C、ConcurrentHashMap的写操作不需要加锁,读操作需要加锁
D、只要在定义int类型的成员变量i的时候加上volatile关键字,那么多线程并发执行i++这样的操作的时候就是线程安全的了
60.CyclicBarrier可以重复使用已经通过的障碍,而CountdownLatch不能重复使用
61.反射能够创建灵活的代码,这些代码在运行时装配,无需在组件之间进行链接。反射允许在编写与执行时,使用程序代码能够接入装载到JVM中的类的内部信息,而不是源代码中选定的类协作的代码
62.下面关于Java语言说法错误的是:( )
A.java语言是完全面向对象的
B. java语言支持多继承
C.java语言支持多线程
D. java语言最早是为消费电子产品领域设计的
63.关于 finally 描述不正确的是()
A.总是被执行
B.如果try块后面没有catch块时,finally块中的代码才会执行
C.异常发生时才被执行
D.异常没有发生时才被执行
64.对于非运行时异常,程序中一般可不做处理,由Java虚拟机自动进行处理。
65.接口定义时相关修饰符可以省略,实现时也能省略。
66.JVM的基本概念和为什么说JVM是JAVA语言可以跨平台的关键因素?
67.synchronized和java.util.concurrent.locks.Lock的异同
-------------------------------------
后续更新更多面试题,请关注公众号 “零售云技术”
閱讀更多 零售雲技術內參 的文章