Java错题合集(6)
1、java中将ISO8859-1字符串转成GB2312编码,语句为
new String("ISO8859-1".getBytes("ISO8859-1"),"GB2312")
2、属于JVM堆内存中的区域
survivor区eden区
old区
3、非抽象类实现接口后,必须实现接口中的所有抽象方法,除了abstract外,方法头必须完全一致
错误解析:
实际上这道题考查的是两同两小一大原则:
方法名相同,参数类型相同
子类返回类型小于等于父类方法返回类型,
子类抛出异常小于等于父类方法抛出异常,
子类访问权限大于等于父类方法访问权限。
4、关于数据库连接的程序,语句的注释是正确的
String url=”jdbc:odbc:student_access”; //指定数据源为student_accessConnection con=DriverManager.getConnection(url); //创建连接指定数据库的对象
Statement stmt=con.creatStatement();//创建执行SQL语句的Statement对象
5、jdk1.8版本之前的前提下,接口和抽象类描述正确的有
接口没有构造函数抽象类不允许多继承
6、java中提供了哪两种用于多态的机制
通过子类对父类方法的覆盖实现多态利用重载来实现多态.即在同一个类中定义多个同名的不同方法来实现多态。
7、集合对象中是线程安全的
VectorHashtable
8、关于JAVA多线程的叙述正确的是
CyclicBarrier和CountDownLatch都可以让一组线程等待其他线程Callable类的call()方法可以返回值和抛出异常
9、关于抽象类与接口,说法正确的有
优先选用接口,尽量少用抽象类抽象类和接口都不能被实例化。
10、关于JSP生命周期的叙述,为真的是
JSP会先解释成Servlet源文件,然后编译成Servlet类文件每当用户端运行JSP时,jsp service()方法都会运行一次
11、关于多线程和多进程,描述正确的是
多进程里,子进程可获得父进程的所有堆和栈的数据;而线程会与同进程的其他线程共享数据,拥有自己的栈空间。线程的通信速度更快,切换更快,因为他们在同一地址空间内。
12、如果Child extends Parent,正确的有
如果Child是interface,那么Parent必然是interface如果Child是interface,那么Child可以同时extends Parent1,Parent2等多个interface
如果Child是class,并且没有显示声明任何构造函数,那么此时仍然会调用Parent的构造函数
13、说法中正确的有
StringBuilder是 线程不安全的volatile关键字不保证对变量操作的原子性
14、说法正确的有
环境变量可在编译source code时指定javac一次可同时编译数个Java源文件
javac.exe能指定编译结果要置于哪个目录(directory)
15、关于volatile关键字,描述正确的是
用volatile修饰的变量,每次更新对其他线程都是立即可见的。对volatile变量的操作不会造成阻塞。
16、true、false、null、sizeof、goto、synchronized 哪些是Java关键字
gotosynchronized
17、final、finally和finalize的区别中,说法正确的有
final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。
**18、以下哪一项正则能正确的匹配网址: http://www.bilibili.com/video/av21061574 **
/^(http:\/\/)?(\w+)\.bilibili\.com\/?video\/av(\d{1,8})\/?$/
19、流可以用于字符输入
java.io.inputStreamReader
20、由3 个“1”和 5 个“0”组成的 8 位二进制补码,能表示的最小整数
-125
21、正确的 Java 语言标识符是
Sky$Computer
NULL
22、如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是() 注:一个元素进栈后可以马上出栈,不用等全部进栈
e2,e4,e3,e1e2,e3,e4,e1
23、Java 提供的事件处理模型是一种人机交互模型。它有三个基本要素
事件源事件对象
事件监听器
24、关于volatile的功能说法正确的是哪个
有序性可见性
25、关于final关键字说法正确的是
final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性final修饰的方法不能被重载
26、关于对象序列化描述正确的是
使用transient修饰的变量不会被序列化对象序列化的所属类需要实现Serializable接口
27、关于Java中的ClassLoader下面的描述是正确的
默认情况下,Java应用启动过程涉及三个ClassLoader: Boostrap, Extension, System类装载器需要保证类装载过程的线程安全
ClassLoader的父子结构中,默认装载采用了父优先
28、哪些方式实现的单例是线程安全的
枚举静态内部类
双检锁模式
饿汉式
29、类型为Final类型的为
HashMapHashtable
30、截止JDK1.8版本,java并发框架支持锁包括
读写锁自旋锁
乐观锁
31、关于Java以下描述正确的有
native关键字表名修饰的方法是由其它非Java语言编写的
32、以下哪个式子有可能在某个进制下成立
13*14=204
**33、在Java中,关于HashMap类的描述,正确的是 **
HashMap使用键/值得形式保存数据HashMap允许将null用作键
HashMap允许将null用作值
34、有关java构造函数叙述正确的是
构造器可以有0个,1个或一个以上的参数每个类可以有一个以上的构造器
35、Java程序的种类有
AppletApplication
Servlet
36、有关hashMap跟hashTable的区别,说法正确的是
HashMap和Hashtable都实现了Map接口HashMap是非synchronized,而Hashtable是synchronized
HashTable使用Enumeration,HashMap使用Iterator
HashMap允许将 null 作为一个 entry 的 key 或者 value,而 Hashtable 不允许。
37、类型为Final类型的为
StringBufferString
38、true、false、null、sizeof、goto、synchronized 哪些是Java关键字
gotosynchronized
39、JavaWEB中有一个类,当会话种邦定了属性或者删除了属性时,他会得到通知,这个类是
HttpSessionAttributeListener
40、下面哪些类可以被继承? Java.lang.Thread、java.lang.Number、java.lang.Double、java.lang.Math、 java.lang.ClassLoader
ThreadNumber
ClassLoader
41、对 Map 的用法,正确的有
new java.util.HashMap().put( null , null ) ;new java.util.TreeMap().put( 0 , null ) ;
42、如果定义一种表达式结构:(+ 6 3)的值为9,(- 6 3)的值为3,( 6 3)的值为18,(/ 6 3)的值为2;那么对于表达式( (- 16 (* 3 2 2 )) (+ 5 (/ 6 (- 5 3))))输出的结果为____。**
32
43、哪个Set类是排序的
TreeSet
44、java用()机制实现了进程之间的同步执行
监视器
45、有一个源代码,只包含import java.util. ; 这一个import语句,叙述正确的是*
能访问java/util目录下的所有类,不能访问java/util子目录下的所有类
46、Math.floor(-8.5)=( )
(double)-9.0
47、哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换
dst=new String(src,"GBK").getBytes("UTF-8")
48、属于优化Hibernate所鼓励的
不用一对一,用多对一取代配置对象缓存,不使用集合缓存
继承类使用显式多态
49、哪些具体实现类可以用于存储键,值对,并且方法调用提供了基本的多线程安全支持
java.util.ConcurrentHashMapjava.util.Hashtable
50、多态的作用
提高可重用性扩展代码模块
51、有关Java的说法正确的是
一个类可以实现多个接口protected成员在子类可见性可以修改
通过super可以调用父类构造函数
String是不可修改的,且java运行环境中对string对象有一个对象池保存
52、关于ThreadLocal类 以下说法正确的是
ThreadLocal是采用哈希表的方式来为每个线程都提供一个变量的副本ThreadLocal保证各个线程间数据安全,每个线程的数据不会被另外线程访问和破坏
**53、哪些容器按 key 查找的复杂度为 O(log(n)) **
std::multimapstd::map
54、JavaWEB中有一个类,当会话种邦定了属性或者删除了属性时,他会得到通知,这个类是
HttpSessionAttributeListener
55、StringBuffer类对象创建之后可以再修改和变动
正确解析:
1.String对象不可变、StringBuffer对象可变的含义: 举个例子:String str = "aa"; str = "aa"+"bb"; 此时str的值为"aabb",但是"aabb"不是在开始的字符串"aa"后面直接连接的"bb",而是又新生成了字符串"aabb",字符串"aa"一旦被初始化,那么它的值不可能再改变了。 StringBuffer strb = StringBuffer("aa"); strb.append("bb"); 此时的strb的值也为"aabb",但是"aabb"是直接在开始的字符串"aa"后面连接的“bb”,并没有生成新的字符串。
56、枚举(enum)属于原始数据类型(primitive type)
错误解析:
在Java中,变量有两种类型,一种是原始类型,一种是引用类型。
原始类型一共有8种,它们分别是char,boolean,byte,short,int,long,float,double。在Java API中,有它们对应的包装类,分别是(首字母大写)Character,Boolean,Byte,Short,Integer,Long,Float,Double(char,int的变化稍微大点)。
JAVA JVM对于不同的原始类型会分配不同的存储空间,具体分配如下:
byte : 1个字节 8位
最大值: 127 (有符号)
short : 2个字节 16位 32767
int : 4个字节 32位 2147483647
long: 8个字节 64位 9223372036854775807
float: 4个字节 32位 3.4028235E38
double:8个字节 64位 1.7976931348623157E308
枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示,是特殊的类,可以拥有成员变量和方法。
57、在Java中,关于HashMap类的描述,正确的是
HashMap允许将null用作值HashMap允许将null用作键
HashMap使用键/值得形式保存数据
58、java用()机制实现了进程之间的同步执行
监视器
59、关于 Socket 通信编程,描述正确的是
客户端通过new Socket()方法创建通信的Socket对象
60、字段声明中哪一个在interface主体内是合法的
public static int answer = 42;
61、DBMS 中实现事务持久性的子系统是
恢复管理子系统
62、集合对象中哪几个是线程安全的
VectorHashtable
63、关于while循环、do-while循环和for循环说法正确的是
while循环先执行条件判断,do-while循环执行循环体while循环能够实现的操作,for循环也能实现
64、哪个正确
abstract类只能用来派生子类,不能用来创建abstract类的对象。abstract不能与final同时修饰一个类。
abstract类定义中可以没有abstract方法。
65、java中 String str = "hello world"语句正常的是
str=str+100
66、关于面向对象的一些理解哪些是正常的
面向对象的最重要的特性是支持继承、封装和多态系统设计应该遵循开闭原则,系统应该稳定不不可修改,但应支持通过继承、组合等方式进行扩展
面向对象设计时,每个类的职责应该单一,不要再一个类中引入过多的接口
过程式语言和面向对象的语言各有其优势,过程式语言更加灵活,面向对象语言更加强调抽象和封装
Java和C++都是静态类型的面向对象编程语言
67、对 Map的用法,正确的有:
new java.util.HashMap().put( null , null ) ;new java.util.TreeMap().put( 0 , null ) ;
68、有关静态初始化块说法正确的是
无法直接调用静态初始化块在创建第一个实例前或引用任何静态成员之前,将自动调用静态初始化块来初始化
静态初始化块既没有访问修饰符,也没有参数
**69、方法定义中 , 正确 的是 **
int x( ){ char ch=’a’; return (int)ch; }
70、关于final说法正确的是
final类的方法能否被同一个包的类访问不是由final决定
71、描述正确的一项是
程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行 到了第几行,是线程隔离的原则上讲,所有的对象都是在堆区上分配内存,是线程之间共享的
Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的
72、关于包(package)的描述,正确的是
定义在同一个包(package)内的类可以不经过import而直接相互使用。
73、哪几个函数 public void example(){....} 的重载函数
public void example(int m){...}public int example(int m,float f){...}
解析:
函数方法名必须相同,看参数列表即可,无关返回值。
74、如下哪些是 java 中有效的关键字
nativethis
解析:
这个关键字常见的坑:
true、false、null都不是关键字
goto、const、是保留的关键字
75、jdk1.8中,下面有关java 抽象类和接口的区别,说法正确的是
抽象类可以有构造方法,接口中不能有构造方法一个类可以实现多个接口,但只能继承一个抽象类
76、关于对象序列化描述正确的是
使用transient修饰的变量不会被序列化对象序列化的所属类需要实现Serializable接口
77、类型为Final类型的为
StringBufferString
78、Servlet的生命周期可以分为初始化阶段,运行阶段和销毁阶段三个阶段,过程属于初始化阶段是
加载Servlet类及.class对应的数据创建ServletConfig对象
创建Servlet对象
79、判断一块内存空间是否符合垃圾收集器收集的标准有哪些
给对象赋予了空值null,以下再没有调用过对象重新分配了内存空间
给对象赋予了新值
80、关于Histroy对象的属性或方法描述正确的是
bcak回到浏览器载入历史URL地址列表的当前URL的前一个URLforward转到浏览器载入历史URL地址列表的当前URL的下一个URL。
81、byte[]x={11,22,33,﹣66};其中0≤k≤3,则对x数组元素正常的引用是
x[5-3]x[k]
x[0]
82、字段声明中哪一个在interface主体内是合法的
public static int answer = 42;
83、关于数据库连接的程序,语句的注释是正确的
String url=”jdbc:odbc:student_access”; //指定数据源为student_accessConnection con=DriverManager.getConnection(url); //创建连接指定数据库的对象
Statement stmt=con.creatStatement();//创建执行SQL语句的Statement对象
84、关于Java以下描述正确的有
native关键字表名修饰的方法是由其它非Java语言编写的
85、ServletConfig接口默认是哪里实现的?
GenericServlet
86、jdk1.8版本之前的前提下,接口和抽象类描述正确的有
接口没有构造函数抽象类不允许多继承
87、哪些具体实现类可以用于存储键,值对,并且方法调用提供了基本的多线程安全支持
java.util.ConcurrentHashMapjava.util.Hashtable
88、关于volatile的功能说法正确的是哪个
有序性可见性
89、对于构造方法,叙述正确的是
构造方法的优先级一般比代码块低。构造方法的主要作用是完成对类的对象的初始化工作。
一般在创建新对象时,系统会自动调用构造方法。
90、java8中,忽略内部接口的情况,不能用来修饰interface里的方法的有
privateprotected
91、以下哪种JAVA得变量声明方式可以避免程序在多线程竞争情况下读到不正确的值
volatilestatic volatile
92、JDK提供的用于并发编程的同步器有哪些
SemaphoreCyclicBarrier
CountDownLatch
93、Hashtable 和 HashMap 的区别是:
HashMap 是内部基于哈希表实现,该类继承AbstractMap,实现Map接口Hashtable 线程安全的,而 HashMap 是线程不安全的
Properties 类 继承了 Hashtable 类,而 Hashtable 类则继承Dictionary 类
HashMap允许将 null 作为一个 entry 的 key 或者 value,而 Hashtable 不允许。
94、JavaWEB中有一个类,当会话种邦定了属性或者删除了属性时,他会得到通知,这个类是
HttpSessionAttributeListener
95、在运行时,由java解释器自动引入,而不用import语句引入的包是
java.lang
**96、java中将ISO8859-1字符串转成GB2312编码,语句为 **
new String("ISO8859-1".getBytes("ISO8859-1"),"GB2312")
97、关于访问权限,说法正确的是? ( )
类A和类B在同一包中,类B有个protected的方法testB,类A不是类B的子类(或子类的子类),类A可以访问类B的方法testB
98、是面向对象的基本原则的是
单一职责原则(Single-Resposibility Principle)开放封闭原则(Open-Closed principle)
依赖倒置原则(Dependecy-Inversion Principle)
接口隔离原则(Interface-Segregation Principle)
99、下面有关JAVA异常类的描述,说法正确的是?
异常的继承结构:基类为Throwable,Error和Exception继承Throwable,RuntimeException和IOException等继承Exception非RuntimeException一般是外部错误(非Error),其必须被 try{}catch语句块所捕获
Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形,Error不需要捕捉
100、对于文件的描述正确的是
文本文件是以“.txt”为后缀名的文件,其他后缀名的文件是二进制文件。File类是Java中对文件进行读写操作的基本类。
无论文本文件还是二进制文件,读到文件末尾都会抛出EOFException异常。
101、URL u =new URL("http://www.123.com");。如果www.123.com不存在,则返回______
http://www.123.com
102、下面属于java包装类的是
LongCharacter
Short
103、关于多线程和多进程,描述正确的是
多进程里,子进程可获得父进程的所有堆和栈的数据;而线程会与同进程的其他线程共享数据,拥有自己的栈空间。线程的通信速度更快,切换更快,因为他们在同一地址空间内。
104、java8中,忽略内部接口的情况,不能用来修饰interface里的方法的有
privateprotected
105、哪些操作会使线程释放锁资源
wait()join()
106、以下哪几种方式可用来实现线程间通知和唤醒
Object.wait/notify/notifyAllCondition.await/signal/signalAll
107、关于面向对象的一些理解哪些是正确的
面向对象的最重要的特性是支持继承、封装和多态系统设计应该遵循开闭原则,系统应该稳定不不可修改,但应支持通过继承、组合等方式进行扩展
面向对象设计时,每个类的职责应该单一,不要再一个类中引入过多的接口
过程式语言和面向对象的语言各有其优势,过程式语言更加灵活,面向对象语言更加强调抽象和封装
Java和C++都是静态类型的面向对象编程语言
以上是 Java错题合集(6) 的全部内容, 来源链接: utcz.com/z/394981.html