Java基础面试题及答案 下载本文

内容发布更新时间 : 2024/4/27 13:03:55星期一 下面是文章的全部内容请认真阅读。

.

public static void main( String[] args ) { new Alpha(); new Base(); } } A.Base B.BaseBase C.程序编译失败.

D.程序运行但没有任何输出

4.指出下列程序运行的结果

public class Example{ String str=new String(\ char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+\ System.out.print(ex.ch); } public void change(String str,char ch[]){ str=\ ch[0]='g'; } } A.good and abc B.good and gbc C.test ok and abc D.test ok and gbc

OOP部分-简答题

.

.

1.抽象类和接口的区别

2.静态变量和实例变量的区别?

3.String s = new String(\创建了几个String Object ?

4.字符串连接时为什么推荐使用StringBuffer而不是直接用String+String的方式,请简述原因?

5.final, finally, finalize的区别。 6.线程

继承Thread类 如果某个类继承了Thread类,那么此时这个类就是一个线程类,如果要创建此类的线程对象 A extends Thread A a = new A(); a.start()

实现Runnable接口 如果某个类实现了Runnable接口,此时这个类不是线程类,这个类中只有将线程要执行的任务写好了

如果此时用用线程来执行这个任务 A implements Runnable A a = new A(); //创建一个线程对象指向该任务 Thread th = new Thread(Runnable r,name); th.start() 生命周期:5种状态 新建,就绪,运行,阻塞,死亡 多线程并发问题:

脏数据:污染了数据 -前提条件:多个线程访问同一个对象 如何避免脏数据的产生:线程同步 - synchronized 可以用来修饰方法,代码块:本质是给对象加锁 如果修饰方法:给调用方法的对象(this)加锁

如果修饰代码块: sychronized(要加锁的对象){} 一般情况下,加锁的对象都为this 线程间的通信 - 线程间要交流

.

.

生产者消费者

Object类下的几个方法来实现了线程间的通信 wait() :一定出现在sychronized的方法中 notify() notifyAll() 线程池:

Excutors.newFixedThreadPool(int nThread) - ExcutorService execute()

ThreadLocal:将数据绑定到当前线程上,那么在整个线程过程中都可以使用该数据 IO流: RandomAccessFile:随机访问流(任意访问流) 特殊之处:

1.这个流既可以读文件,也可以写文件

2.可以定位到文件的任意位置,而且可以获取当前的偏移量 RandomAccessFile(File dest,String mode) read() write() - 按照字节 seek(long pos) getFilePointer() - long

数据库部分-选择题

1.当在执行过程中,如果QUANTITY的值是空的话,哪个语句将显示一个0?

A.SELECT id_number,100/quantity FROM inventory; B.SELECT id_number,NVL(100/quantity,0) FROM inventory; C.SELECT id_number,NULL(100/quantity,0) FROM inventory; D.SELECT idnumber,TOCHAR(100/quantity,0) FROM inventory;

2.分析下面SQL语句,在什么情况下引起这个语句失败?STUDEN表结构:ID NUMBER(9) FIRSTNAME VARCHAR2(25) LASTNAME VARCHAR2(25)

.

.

SELECT * FROM student WHERE id= (SELECT id FROM student WHERE UPPER(first_name)='KATE' AND UPPER(last_name)='HENRY'); A.在数据表中没有学生的名字是Kate Henry B.数据表中学生的名字叫Kate的多于一个 C.数据表中的学生的名字叫Kate Henry的多于一个 D.FIRSTNAME和LASTNAME的值在数据库中是小写的

3.分析下面的SQL语句,这个语句为什么会出现一个错误?

CREATE TABLE sale_items(id_number NUMBER(9),description VARCHAR(25)) AS SELECT id_number,description FROM inventory WHERE quantity>500; A.一个子句丢失 B.一个关键字丢失

C.where子句不能应用在创建表上 D.数据类型在新表中不需要被定义

4.在SQL语言中,关于主键描述正确的是()(多选)

A 只能包含一列 B 可以包含两列

C 可以包含一列或者多列 D 以上都不正确

数据库简答题

1.写SQL语句显示员工表中工资超过平均工资的员工。

2.假如订单表orders用来存储订单信息,cid代表客户编号,money代表单次订购额,现要查询每个客户的订购次数和每个客户的订购总金额?

.