1、JDBC操作的步骤
加载数据库驱动类
打开数据库连接
执行mysql语句
处理返回结果
关闭资源
2.在使用jdbc的时候,如何防止出现sql注入问题?
在使用PreparedStatement类,而不是使用Statement类
3.怎么在jdbc内调用一个存储过程?
使用CallableStatement
4.是否了解连接池,使用连接池有什么好处?
数据库连接是非常耗资源的,影响到程序的性能指标,连接池是用来分配,管理,释放数据库连接的,可以使应用程序重复使用一个数据库连接,而不是每次创建新的数据库连接。通过释放空闲时间较长的数据库连接避免数据库因为创建过多的连接而造成的连接遗漏问题,提高了程序性能。
5.你所了解的数据源技术有哪些?使用数据源有什么好处?
Dbcp,c3p0等,用的最多的还是c3p0,因为c3p0更加稳定,安全;通过配置文件的形式来维护数据库信息,而不是通过硬编码。当连接数据库信息发生改变时,不需要再更改程序就实现代码了数据库信息的更新。
6.&和&&的区别?
&是位运算符,&&是布尔逻辑运算符,在进行逻辑判断时用&任然需要对后面的内容进行判断,用&&处理的前面为false不在处理后面的内容。
7.静态内部类如何定义?
定义在类内部的静态类,就是静态内部类;
public class Out {
private static int a;
private int b;
public static class Inner {
public void print() {
System.out.println(a);
}
}
}
1.静态内部类可以访问外部所有静态变量和方法,即使是private修饰的变量也一样。
2.静态内部类和一般类一致,可以定义静态变量,方法,构造方法等。
3.其它类使用静态内部类需要使用外部类.静态内部类的方式,:Out.Inner Inner=new Out.Inner.print();
4Java集合HashMap内部就有一个晶体内部类Entry。Entry是HashMap存放元素的抽象,HashMap内部维护Entry数组用了存放元素,但是Entry对使用者是透明的。像这种和外部类关系密切的,且不依赖外部类实例的,都可以使用静态内部类。
8.什么是成员内部类
定义在类内部的非静态类,就是成员内部类。成员内部类不能定义静态方法和变量(final修饰除外)。这是因为成员内部类是非静态的,类初始化的时候最先初始化静态成员,如果允许成员内部类定义静态变量,那么成员内部类静态变量初始化顺序是有歧义的,实例:
public class Out {
private static int a;
private int b;
public class Inner {
public void print() {
System.out.println(a);
System.out.println(b);
}
}
}
9.Static Nested Class和Inner Class的不同
Nested Class(一般C++的说法),Inner Class(一般是JAVA的说法)。java内部类与c++嵌套类最大的不同就在于是否指向外部引用上。注:静态内部类(inner)意味着创建一个static内部类对象,不需要一个外部类对象,不能从一个Static内部类的一个对象访问一个外部类对象。
10.什么时候使用assert
assert(断言)在软件开发中一种常见的调试方式,很多开发语言中都支持这种机制。在现实中,assert就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确的程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态,系统将给出警告或退出。一般来说assertion用于保证程序最基本,关键的正确性。assertion检查通常是在开发和测试开启,为了提高性能,在软件开发后,assertion检查通常是关闭的。