亿阳通信笔试题
1、list 、set、map 有什么区别?
2、抽象类和接口的区别?
3、连接ORACLE数据库
4、什么是序列化?
5、多线程终止?
6、读出文件,显示行号?
7、Runtime Exception和Exception区别?
亿阳通信笔试题
list 、set、map 有什么区别?
List有序key和value都能重复
Set 无序(除treeSet) key和value都不能重复
Map无序(除treeMap) key 必须唯一 value 可以重复
抽象类和接口的区别?
抽象类里面可以有非抽象方法
但接口里只能有抽象方法
声明方法的存在而不去实现它的类被叫做抽像类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。不能有抽像构造函数或抽像静态方法。Abstract 类的子类为它们父类中的所有抽像方法提供实现,否则它们也是抽像类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽像类的变体。在接口中,所有方法都是抽像的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽像的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对像上调用接口的方法。由于有抽像类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。
连接ORACLE数据库
public class DBConnection {
/** Oracle数据库连接URL*/
private final static String DB_URL = "jdbc:oracle:thin:@192.168.2.66:1521:orcl66";
/** Oracle数据库连接驱动*/
private final static String DB_DRIVER = "oracle.jdbc.driver.OracleDriver";
/** 数据库用户名*/
private final static String DB_USERNAME = "cpp";
/** 数据库密码*/
private final static String DB_PASSWORD = "cpp";
/**
* 获取数据库连接
* @return
*/
public Connection getConnection(){
/** 声明Connection连接对象*/
Connection conn = null;
try{
/** 使用Class.forName()方法自动创建这个驱动程序的实例且自动调用DriverManager来注册它*/
Class.forName(DB_DRIVER);
/** 通过DriverManager的getConnection()方法获取数据库连接*/
conn = DriverManager.getConnection(DB_URL,DB_USERNAME,DB_PASSWORD);
}catch(Exception ex){
ex.printStackTrace();
}
return conn;
}
/**
* 关闭数据库连接
*
* @param connect
*/
public void closeConnection(Connection conn){
try{
if(conn!=null){
/** 判断当前连接连接对象如果没有被关闭就调用关闭方法*/
if(!conn.isClosed()){
conn.close();
}
}
}catch(Exception ex){
ex.printStackTrace();
}
}
}
什么是序列化?
(1)、序列化是干什么的?
简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。
(2)、什么情况下需要序列化
a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;
b)当你想用套接字在网络上传送对象的时候;
c)当你想通过RMI传输对象的时候;
多线程终止?
interrupt只是试图中断线程,而非强行终止,如果线程不愿意被中断,它仍然可以继续执行。
stop方法,已经被遗弃,缺点多多,API已经不建议使用,倒是可以强制终止线程。
读出文件,显示行号?
public class Test {
public static void main(String[] args) {
readFileByLines("d://test.txt");
}
/**
* 以行为单位读取文件,常用于读面向行的格式化文件
*/
public static void readFileByLines(String fileName) {
File file = new File(fileName);
BufferedReader reader = null;
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
// 一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
// 显示行号
System.out.println("line " + line + ": " + tempString);
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
}
Runtime Exception和Exception区别?
Exception是所有异常的父类
runtimeException是他的一个子类
runtimeException可以不必抛出和捕获
亿阳信通笔试题
最新推荐文章于 2024-09-21 11:30:16 发布