牛客网java题目四

1、jar         将许多文件组合成一个jar文件

javac    编译

javadoc 它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。

javah 把java代码声明的JNI方法转化成C\C++头文件。 JNI可参考java核心技术卷二第12章

2、

3、

执行顺序从左到右:

    父类静态代码块 ->子类静态代码块 ->父类非静态代码块 -> 父类构造函数 -> 子类非静态代码块 -> 子类构造函数。

4、System是java.lang中的一个类,out是System内的一个成员变量,这个变量是一个java.io.PrintStream类的对象,println呢就是一个方法了。

5、Object类的方法

1).clone方法

保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。

2).getClass方法

final方法,获得运行时类型。

3).toString方法

该方法用得比较多,一般子类都有覆盖。

4).finalize方法

该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。

5).equals方法

该方法是非常重要的一个方法。一般equals和==是不一样的,但是在Object中两者是一样的。子类一般都要重写这个方法。

6).hashCode方法

该方法用于哈希查找,重写了equals方法一般都要重写hashCode方法。这个方法在一些具有哈希功能的Collection中用到。

一般必须满足obj1.equals(obj2)==true。可以推出obj1.hash- Code()==obj2.hashCode(),但是hashCode相等不一定就满足equals。不过为了提高效率,应该尽量使上面两个条件接近等价。

7).wait方法

wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()方法一直等待,直到获得锁或者被中断。wait(long timeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。

调用该方法后当前线程进入睡眠状态,直到以下事件发生。

(1)其他线程调用了该对象的notify方法。

(2)其他线程调用了该对象的notifyAll方法。

(3)其他线程调用了interrupt中断该线程。

(4)时间间隔到了。

此时该线程就可以被调度了,如果是被中断的话就抛出一个InterruptedException异常。

8).notify方法

该方法唤醒在该对象上等待的某个线程。

9).notifyAll方法

该方法唤醒在该对象上等待的所有线程。

6、ResultSet跟普通的数组不同,索引从1开始而不是从0开始

7、Java语言中应使用BigDecimal数据类型表示金额

8、对称加密算法:3DES、AES

7、关于单向链表:

如果两个单向链表相交,那他们的尾结点一定相同

快慢指针是判断一个单向链表有没有环的一种方法

快慢指针是获得一个有环单向链表入环的第一个节点的方法。

8、链表

需不断对线性表L进行删除插入适合采用链式结构

带头结点的单链表,在表的第一个元素之前插入一个新元素与链表长度无关

删除单链表中的最后一个元素,与链表长度无关

9、HTTP报文由从客户端到服务器的请求报文格式为:

请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体

10、DNS主机解析域名的顺序为
1浏览器缓存
2找本机的hosts文件
3路由缓存
4找DNS服务器(本地域名、顶级域名、根域名)
5迭代查询、递归查询

11、关于动态链接库和静态链接库的优缺点描述

静态库的代码装载速度比动态库快

静态库被多个应用程序使用时,会被装载多次,浪费内存

动态链接库可以共享,即多个应用程序可以使用同一个动态库

发布了75 篇原创文章 · 获赞 5 · 访问量 4609

猜你喜欢

转载自blog.csdn.net/trytrylmt/article/details/104233716