文章目录
- 1. 下列叙述错误的是( )
- 2. 一个类中,有两个方法名、形参类型、顺序和个数都完全一样,返回值不一样的方法,这种现象叫覆盖。
- 3. 后端获取数据,向前端输出过程中,以下描述正确的是
- 4. 以下是java concurrent包下的4个类,选出差别最大的一个
- 5. 类方法中可以直接调用对象变量。( )
- 6. 下面关于JAVA的垃圾回收机制,正确的是( )
- 7. java语言中,按照一定格式生成程序的文档的工具是?
- 8. 以下代码将打印出
- 9. 能用来修饰interface的有()
- 10. 对下面Spring声明式事务的配置含义的说明错误的是()
- 11. 以下JAVA程序代码的输出是
- 12. 以下哪个式子有可能在某个进制下成立()?
- 13. 下列方法中哪个是执行线程的方法? ()
- 14. 根据下面的代码,String s = null; 会抛出NullPointerException异常的有()
- 15. 在JAVA中,下列哪些是Object类的方法()
- 16. 以下关于对象序列化描述正确的是
- 17. 下面的switch语句中,x可以是哪些类型的数据:()
- 18. 下面有关forward和redirect的描述,正确的是() ?
- 19. 下面哪项技术可以用在WEB开发中实现会话跟踪实现?
1. 下列叙述错误的是( )
java程序的输入输出功能是通过流来实现的
java中的流按照处理单位可分成两种:字节流和字符流
InputStream是一个基本的输出流类。
通过调用相应的close()方法关闭输入输出流
C: 字节输入流
这里"基本的",其实就是将流分为节点流和处理流,而“基本的”是表示节点流
所以C选项可以看成:InputStream是属于节点输出流;
所以我们就要判断InputStream是节点流还是处理流,是输出流还是输入流
这就涉及到哪些是节点流,哪些是处理流了,而且很明显,他是一个输入流
节点流:
FileInputStream,FileOutputStrean,FileReader,FileWriter
StringReader,StringWriter
ByteArrayInputStream ,ByteArrayOutputStream ,CharArrayReader
PipedInputStream PipedOutputStream PipedReaderPipedWriter
处理流:
BufferedInputStrean,BufferedOutputStream,BufferedReader,BufferedWriter
InputStreamReader,OutputStreamReader
DataInputStream,DataOutputStream
PrintWriter
不知道大家发现没有,节点流的前缀都是名词,如File,String,Char等;处理流的前缀都是动词,如input,print,bufferd等等
所以大家别烦分不清一个流到底是节点流还是处理流,看他前缀是名词还是动词就行了
手敲不易,所以有帮助请左上角走一波
2. 一个类中,有两个方法名、形参类型、顺序和个数都完全一样,返回值不一样的方法,这种现象叫覆盖。
运行不了,覆盖是子类和父类之间的,重载是一个类中方法的参数类型,顺序个数不同,如果全相同 就报错
重载(overload)和重写(override)的区别:
重载就是同一个类中,有多个方法名相同,但参数列表不同(包括参数个数和参数类型),与返回值无关,与权限修饰符也无关。
调用重载的方法时通过传递给它们不同的参数个数和参数类型来决定具体使用哪个方法,这叫多态。
重写就是子类重写基类的方法,方法名,参数列表和返回值都必须相同,否则就不是重写而是重载。
权限修饰符不能小于被重写方法的修饰符。重写方法不能抛出新的异常或者是比被重写方法声明更加宽泛的检查型异常。
3. 后端获取数据,向前端输出过程中,以下描述正确的是
对于前端过滤过的参数,属于可信数据,可以直接输出到前端页面
对于从数据库获得的数据,属于可信数据,可以直接输出到前端页面
对于从用户上传的Excel等文件解析出的数据,属于可信数据,可以直接输出到前端页面
其它选项都不属于可信数据,输出前应该采用信息安全部发布的XSSFilter做进行相应编码
D 一般设计模式都会增加代码量
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,
一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,
在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
MVC只是将分管不同功能的逻辑代码进行了隔离,增强了可维护和可扩展性,增强代码复用性,因此可以减少代码重复。
但是不保证减少代码量,多层次的调用模式还有可能增加代码量
4. 以下是java concurrent包下的4个类,选出差别最大的一个
Semaphore
ReentrantLock
Future
CountDownLatch
C
A、Semaphore:类,控制某个资源可被同时访问的个数;
B、ReentrantLock:类,具有与使用synchronized方法和语句所访问的隐式监视器锁相同的一些基本行为和语义,但功能更强大;
C、 Future:接口,表示异步计算的结果;
D、 CountDownLatch: 类,可以用来在一个线程中等待多个线程完成任务的类。
A B D是并发编程的锁机制相关,Future是一个线程任务的返回结果的‘欠条’。
5. 类方法中可以直接调用对象变量。( )
正确
错误
静态方法中不能调用对象的变量,因为静态方法在类加载时就初始化,对象变量需要在新建对象后才能使用
6. 下面关于JAVA的垃圾回收机制,正确的是( )
当调用“System.gc()”来强制回收时,系统会立即回收垃圾
垃圾回收不能确定具体的回收时间
程序可明确地标识某个局部变量的引用不再被使用
程序可以显式地立即释放对象占有的内存
B
java提供了一个系统级的线程,即垃圾回收器线程。用来对每一个分配出去的内存空间进行跟踪。
当JVM空闲时,自动回收每块可能被回收的内存,GC是完全自动的,不能被强制执行。
程序员最多只能用System.gc()来建议执行垃圾回收器回收内存,但是具体的回收时间,是不可知的。
当对象的引用变量被赋值为null,可能被当成垃圾。
选C多半是认为置为null,但是置为null不一定就不会使用了啊~那我初始化的时候还置为null呢
况且,置为null只是被认为可以当垃圾回收了。不一定会马上回收.
局部变量分为引用变量和基本类型变量,基本类型的变量名称和值都是存储在栈中。
引用变量只存储引用在栈中,值在堆中,题目中说的是局部变量的引用,而要释放这个需要finalize()方法,这个方法即便使用了也不是一定立刻马上执行。
一般局部变量都是随着方法执行结束而释放
7. java语言中,按照一定格式生成程序的文档的工具是?
javac
javah
javadoc
jar
C
jar 将许多文件组合成一个jar文件
javac 编译
javadoc 它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。
javah 把java代码声明的JNI方法转化成C\C++头文件。 JNI可参考java核心技术卷二第12章
如
public class HelloNative {
public static native void greeting();
}
使用javah后生成
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>