1. Java异常分类
Java对异常进行了分类,不同类型的异常分别用不同的Java类表示,所有异常的根类为java.lang.Throwable,Throwable下面又派生了两个子类:Error和Exception。Java异常类的层次结构如图所示。
Error
Error是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。
Exception
Exception类是所有异常类的父类,其子类对应了各种各样可能出现的异常事件。 通常Java的异常可分为:
- RuntimeException 运行时异常
- CheckedException 已检查异常
RuntimeException运行时异常
派生于RuntimeException的异常,如被 0 除、数组下标越界、空指针等,其产生比较频繁,处理麻烦,如果显式的声明或捕获将会对程序可读性和运行效率影响很大。 因此由系统自动检测并将它们交给缺省的异常处理程序(用户可不必对其处理)。
CheckedException已检查异常
所有不是RuntimeException的异常,统称为Checked Exception,又被称为“已检查异常”,如IOException、SQLException等以及用户自定义的Exception异常。 这类异常在编译时就必须做出处理,否则无法通过编译。
前缀、中缀、后缀表达式
若前缀表达式为-+ab-cd/ef,后缀表达式为abcd-+ef/-,那么对应二叉树的中序遍历序列是()
a+cd-b-e/f
a+bc-d-e/f
a+bd-c-e/f
a+ec-d-b/f
链接:https://www.nowcoder.com/questionTerminal/a47e7807440d47d5bbad825b14e49695
树的度
在一棵度为3的树中,度为3的节点个数为2,度为2的节点个数为1,则度为0的节点个数为()
链接:https://www.nowcoder.com/questionTerminal/6ebd5b2fce084b59bc928a9d02c8f237
来源:牛客网
A
设该树总共有n个节点,则n=n0+n1+n2+n3.
该树中除了根节点没有前驱以外,每个节点有且只有一个前驱,因此有n个节点的树的总边数为n-1条.根据度的定义,总边数与度之间的关系为:n-1=0n0+1n1+2n2+3n3.
联立两个方程求解,可以得到n0=6
下面哪一个是sort的template的正确写法
void sort(class A first,class A last,class B pred)
void template(class A,class B)sort(A first,A last,B pred)
template void sort(A first,A last,B pred)
template<class A,class B> void sort(A first,A last,B pred)
答案:D
模板函数格式是先声明模板类型,然后才能使用
格式是 template<class T1, class T2, …> 返回值 函数名(参数列表)
employee的表结构及数据结构如图所示,以下语句结果分别为:
ID | Name | Score |
---|---|---|
1 | jack | 1 |
2 | tom | 1 |
3 | rose | null |
select count(*) from employee;
select conut(1) from employee;
select count(Score) from employee;
答案:
3,3,2
Count(1)和Count(*)实际上的意思是,评估Count()中的表达式是否为NULL,如果为NULL则不计数,而非NULL则会计数。
count(*)肯定是查全部的记录条数了
count(数字),和count(*)效果一样,有几条记录就显示几
count(属性名)则查处的是属性名下面的非null数据的个数
count()则报错 错误码: 1064
一台机器对200个单词进行排序花了200秒(使用冒泡排序),那么花费800秒,大概可以对多少个单词进行排序
n的数据量,时间复杂度是O(n^2),200单词是200秒
2n的数据量时间复杂度是2^2O(n),400单词是800秒
答案应该是400个单词
一磁带机有9道磁道,带长700m,带速2m/s,每个数据块1k字节,块间间隔14mm。如果数据传输率为128000字节/秒,求记录位密度为()字节/m.
因为 数据传输率(C)=记录位密度(D) x 线速度( V )
所以 D=C/V= 128000/2=64000
所以答案为 B
假设一个无向图中包含12个顶点,其中5个顶点有5个度,7个顶点有7个度,那么这个图有几条边?()
一条边带来两个度,(77+55)/2=37
下列描述中,哪些是外观模式的特点( )
A. 对客户端屏蔽了子系统组件
B.实现了子系统与客户端之间的紧耦合关系
C.单个子系统的修改不影响其他子系统
D.子系统类变化时,只需要修改外观类即可
答案ACD
流量劫持是网络安全中常见的安全威胁,下列哪些情况可能会造成流量劫持:
A.DNS劫持
B.MAC地址欺骗
C.使用https协议
D.伪造的DHCP服务器
答案ABD
在Spring中装配bean的主要方式有?
A.在properties文件中进行显式配置
B.在XML中进行显式配置
C.在Java中进行显式配置
D.隐式的发现机制和自动装配
答案BCD
罪犯转移
罪犯转移
C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。现在为了方便管理,市长决定转移入狱时间连续的c名犯人,同时要求转移犯人的罪行值之和不超过t,问有多少种选择的方式(一组测试用例可能包含多组数据,请注意处理)?
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
while(in.hasNext()){
int n = in.nextInt();//n个人
int t = in.nextInt();//
int c = in.nextInt();//连续c名
int[] a = new int[n];
for(int i = 0;i<n;i++){
a[i] = in.nextInt();
}
int count = 0;
int tempt = 0;
for(int i = 0;i<c;i++){
tempt += a[i];
}
if(tempt<=t)
count++;
for(int i = c;i<a.length;i++){
tempt = tempt+a[i]-a[i-c];
if(tempt<=t)
count++;
}
System.out.println(count);
}
}
}