下面有关java的一些细节问题,描述错误的是?
A:构造方法不需要同步化
B:一个子类不可以覆盖掉父类的同步方法
C:定义在接口中的方法默认是public的
D:容器保存的是对象的引用
答案:B
解析:构造方法每次都构造新的 对象,不存在多个线程同时访问同一对象的问题,所以不需要同步
父类中的方法使用了synchronized关键字,子类覆盖了这个方法,默认情况下子类中的这个方法并不是同步的,必须在子类的这个方法中加上synchronized关键字才可以。或者子类直接调用父类同步的方法
接口中只能有常量相当于 public static final ;接口里面的方法为抽象方法,相当于public abstract
下列关于 java 并发的说法中正确的是:
A copyonwritearraylist 适用于写多读少的并发场景
B readwritelock 适用于读多写少的并发场景
C concurrenthashmap 的写操作不需要加锁,读操作需要加锁D 只要在定义 int 类型的成员变量的时候加上 volatile 关键字,那么多线程并发执行i++这样的操作的时候就是线程安全的了
答案:B
解析:CopyOnWriteArrayList适用于写少读多的并发场景
ReadWriteLock即为读写锁,他要求写与写之间互斥,读与写之间互斥,读与读之间可以并发执行。在读多写少的情况下可以提高效率
ConcurrentHashMap是同步的HashMap,读写都加锁
volatile只保证多线程操作的可见性,不保证原子性
下列不属于Java语言的特性的是
A. Java 致力于检查程序在编译和运行时的错误。
B. Java 虚拟机实现了跨平台接口类型检查帮助检查出许多开发早期出现的错误。
C. Java 自己操纵内存减少了内存出错的可能性。
D. Java 还实现了真数组,避免了覆盖数据的可能。
答案:D
解析: 是避免数据覆盖的可能,而不是数据覆盖类型
在 Java 中,()类提供定位本地文件系统,对文件或目录及其属性进行基本操作
A. FilelnputStream
B. FileReader
C. FileWriter
D. File
答案:D
在运行时,由java解释器自动引入,而不用import语句引入的包是
A. java.lang
B. java.system
C. java.io
D. java.util
答案:A
解析:java.lang包是java语言的核心包,lang是language的缩写
java.lang包定义了一些基本的类型,包括Integer,String之类的,是java程序必备的包,有解释器自动引入,无需手动导入
以下哪一条JavaScript代码会产生运行错误
A. var obj=( );
B. var obj=[ ];
C. var obj={ };
D. var obj=/ /;
答案:A
解析:B 声明obj为数组对象;C 声明obj为对象;D 声明obj为正则对象
JavaScript中document.getElementById()的返回值的类型为()。
A. Array
B. Object
C. String
D. Function
答案:B
在标准的 JavaScript 中, Ajax 异步执行调用基于
A. Event 和 callback
B. 多线程操作
C. 多 CPU 核
D. Deferral 和 promise
答案:A
关于 JAVA 的垃圾回收机制,下面哪些结论是正确?
A 程序可以任意指定释放内存的时间
B JAVA 程序不能依赖于垃圾回收的时间或者顺序
C 程序可明确地标识某个局部变量的引用不再被使用
D 程序可以显式地立即释放对象占有的内存
答案:B
解析: java提供了一个系统级的线程,即垃圾回收器线程。用来对每一个分配出去的内存空间进行跟踪。当JVM空闲时,自动回收每块可能被回收的内存,GC是完全自动的,不能被强制执行。程序员最多只能用System.gc()来建议执行垃圾回收器回收内存,但是具体的回收时间,是不可知的。 java提供了一个系统级的线程,即垃圾回收器线程。用来对每一个分配出去的内存空间进行跟踪。当JVM空闲时,自动回收每块可能被回收的内存,GC是完全自动的,不能被强制执行。程序员最多只能用System.gc()来建议执行垃圾回收器回收内存,但是具体的回收时间,是不可知的。
下列哪些语句关于 java 内存回收的说明是正确
A 程序员必须创建一个线程来释放内存
B 内存回收程序负责释放无用内存
C 内存回收程序允许程序员直接释放内存
D 内存回收程序可以在指定的时间释放内存
答案:B
在 Java 7中,下列哪个说法是正确的()
A. ConcurrentHashMap 使用 synchronized 关键字保证线程安全
B. HashMap 实现了 Collection 接口
C. Arrays.asList 方法返回 java.util.ArrayList 对象
D. SimpleDateFormat 对象是线程不安全的
答案:D
解析: ConcurrentHashMap采用分段加锁的机制来确保安全
HashMap 实现的是 Map 接口
Arrays.asList 方法将一个数组转化为一个List对象,这个方法返回一个ArrayList类型的对象, 这个ArrayList类并非java.util.ArrayList类,而是Arrays类的静态内部类
下面有关 java hashmap 的说法错误的是?
A HashMap 的实例有两个参数影响其性能:"初始容量"和“加载因子”
B HashMap 的实现不是同步的,意味着它不是线程安全的C HashMap 通过开放地址法解决哈希冲突
D HashMap 中的 key - value 都是存储在 Entry 数组中的
答案:C
解析: 解决冲突主要有三种方法:定址法,拉链法,再散列法。HashMap是采用拉链法解决哈希冲突的。
w3c制定的 javascript 标准事件模型,以下正确的顺序以及
A 事件捕获﹣>事件处理﹣>事件冒泡
B 事件冒泡﹣>事件处理
C 事件冒泡﹣>事件处理﹣>事件捕获
D 事件处理﹣>事件捕获﹣>事件冒泡
答案:A
ServerSocket 的监听方法 accept ()的返回值类型
A. DatagramSocket
B. void
C. Object
D. Socket
答案:D
java中将ISO8859-1字符串转成GB2312编码,语句为 ?
A. new String("字符串".getBytes("ISO8859-1"),"GB2312")
B. new String(String.getBytes("GB2312"), ISO8859-1)
C. new String(String.getBytes("ISO8859-1"))
D. new String(String.getBytes("GB2312"))
答案:A
A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明:
A a0 = new A();
A a1 = new B();
A a2 = new C();问以下哪个说法是正确的?()
A、只有第一行能通过编译
B、第1、2行能通过编译,但第3行运行时出错
C、第1、2、3行能通过编译,但第2、3行运行时出错
D、第1行、第2行和第3行的声明都是正确的
答案:D