都是很基础的题
单选
- 下面哪个类声明是正确的
D
B
java的finally块会在return之前执行,无论是否抛出异常且一定执行.
- 下面关于构造函数的说法不正确的是
B
- 下面哪条语句是用来创建 InputStream并且读 “file.txt”
B
try( InputStream inputstream = new FileInputStream("file.txt") ) {
int data = inputstream.read();
while(data != -1){
data = inputstream.read();
}
}
我选错了
- 执行
a=0;c=0 do{ --c a=a-1;}while(a>0);
后c的值
C
- 关于抽象类,下列说法正确的是
C
- 正则
B
\d
表示数字,排除 A C
^
匹配开头
$
匹配结尾
D选项 对于 slkfjd23213232lsfjd
这样也是可以通过的,不符合
- java 中,负责对字节代码解释执行的是()
B
java中负责对字节代码解释执行的是虚拟机,虚拟机将得到的字节代码进行编码运行。
- 在java中,下列不能派生出子类的是()
D
final 修饰的不可被继承
- 下列哪一项,可以让线程开始运行的正确代码
B
线程运行有两种:继承Thread,重写run() ; 实现Runable接口
- 下面关于白盒测试正确的是
A
- 进程的基本状态
D
1)就绪状态(Ready):进程已获得除处理器外的所需资源,等待分配处理器资源;只要分配了处理器进程就可执行.就绪进程可以按多个优先级来划分队列.例如,当一个进程由于时间片用完而进入就绪状态时,排入低优先级队列;当进程由I/O操作完成而进入就绪状态时,排入高优先级队列.
2)运行状态(Running):进程占用处理器资源;处于此状态的进程的数目小于等于处理器的数目.在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的空闲进程.
3)阻塞状态(Blocked):由于进程等待某种条件(如I/O操作或进程同步),在条件满足之前无法继续执行.该事件发生前即使把处理机分配给该进程,也无法运行.
- 关于索引的使用,下列说法中不确的是()
D
使用 通配符 %
会导致索引失效
对于组合索引 :至少要包含组合索引的第一列(即如果索引建立在多个列上,只有它的第一个列被where子句引用时,优化器才会使用该索引)
以下几种情况索引不会被使用
1、不等于操作不能用于索引
2、经过普通或者函数运算的索引列不能使用索引
3、含前向模糊查询(通配符%在搜索词首出现),比如“like %王xx”【反向键索引:reverse】
4、索引列为空,或包含空值
5、数值比较时左右类型不同,相当于做了隐式类型转换
6、给索引查询的值是未知字段,而不是已知数
14.当客户端关闭一个从连接池中获取的连接,会发生下面哪一种情况?
A
- 想要在视图上成功的执行查询需要做什么?
填空
Math.round(-11.5)
=
-11
ceil(x):向上取整;
floor(x):向下取整;
rint(x):取最接近的整数,如果距离相等,则取偶数;例:rint(2.5)取整 为2.0
round(x):如果是单精度:返回(int)Math.floor(x+0.5)
如果是双精度:返回(long)Math.floor(x+0.5)
例如:Math.round(2.6f)取3,return int
Math.round(2.6)取3,ruturn long
abs(x):返回一个数(int,long,float,double)的绝对值
- java 语言中 protected作用域访问权限包括
修饰符 当前类 同 包 子 类 其他包
public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×
- Ajax 技术中,实现其功能的关键对象是
AJAX技术的核心是XMLHttpRequest对象的使用。
- java代码
String a = "hello"; System.out.println(a.compareTo("hello"));
输出结果是
0
返回参与比较的前后两个字符串的asc码的差值,如果两个字符串首字母不同,则该方法返回首字母的asc码的差值
- ___类似于 HashMap,但是不允许 null键 和 null 值。它也比 HashMap慢,因为它是同步的
Hashtable
HashMap 和 Hashtable 区别
都属于Map接口的类,实现了将惟一键映射到特定的值上。
HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。
Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许,还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue(Returns true if this map maps one or more keys to the specified value)和containsKey(Returns true if this map contains a mapping for the specified key)。因为contains(Tests if some key maps into the specified value in this hashtable)方法容易让人引起误解。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
问答题
- 甲乙丙丁戊5人各借了一本小说,约定读完后相互交换.这5本书的厚度和他们的阅读速度差不多,因此5人总是同时换书.经过数次交换后,5人每人都读完了这5本书
https://www.zybang.com/question/6a2fa488424fbfc71ecd60bc0fdc2a82.html
- 以下SQL文件执行效率比较低 ,请将其修改以提高其执行效率
表连接替换EXISTS
表连接比EXISTS效率更高
#优化后
select ename from emp e
join dept d on d.dept_no=e.dept_no
where d.dept_cat='A';
- java 中常用的两种线程同步wait() 和 sleep() 有什么区别?
1、每个对象都有一个锁来控制同步访问,Synchronized关键字可以和对象的锁交互,来实现同步方法或同步块。sleep()方法正在执行的线程主动让出CPU(然后CPU就可以去执行其他任务),在sleep指定时间后CPU再回到该线程继续往下执行(注意:sleep方法只让出了CPU,而并不会释放同步资源锁!!!);wait()方法则是指当前线程让自己暂时退让出同步资源锁,以便其他正在等待该资源的线程得到该资源进而运行,只有调用了notify()方法,之前调用wait()的线程才会解除wait状态,可以去参与竞争同步资源锁,进而得到执行。(注意:notify的作用相当于叫醒睡着的人,而并不会给他分配任务,就是说notify只是让之前调用wait的线程有权利重新参与线程的调度);
2、sleep()方法可以在任何地方使用;wait()方法则只能在同步方法或同步块中使用;
3、sleep()是线程线程类(Thread)的方法,调用会暂停此线程指定的时间,但监控依然保持,不会释放对象锁,到时间自动恢复;wait()是Object的方法,调用会放弃对象锁,进入等待队列,待调用notify()/notifyAll()唤醒指定的线程或者所有线程,才会进入锁池,不再次获得对象锁才会进入运行状态;
- 异常捕获的问题
我自己是这么写的
- 冒泡
https://blog.youkuaiyun.com/bajianxiaofendui/article/details/83011314