Java面试系列16-jdbc、hibernate、流、线程实现、多态、继承事程序执行顺序等

1

JDBC,Hibernate 分页怎样实现?

方法分别为:

1) Hibernate 的分页:

Query query = session.createQuery("from Student");

query.setFirstResult(firstResult);//设置每页开始的记录号

query.setMaxResults(resultNumber);//设置每页显示的记录数

Collection students = query.list();

2) JDBC 的分页:根据不同的数据库采用不同的sql 分页语句

例如: Oracle 中的sql 语句为: "SELECT * FROM (SELECT a.*, rownum r FROM

TB_STUDENT) WHERE r between 2 and 10" 查询从记录号2 到记录号10 之间的

所有记录

2

java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?

有两种实现方法,

分别是继承Thread类与实现Runnable接口   

用synchronized关键字修饰同步方法  

反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。

结果很难检查出真正的问题所在。suspend()方法容易发生死锁。调用suspend()的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。

此时,其他任何线程都不能访问锁定的资源,除非被"挂起"的线程恢复运行。对任何线程来说,如果它们想恢复目标线程,同时又试图使用任何一个锁定的资 源,就会造成死锁。

所以不应该使用suspend(),而应在自己的Thread类中置入一个标志,指出线程应该活动还是挂起。若标志指出线程应该挂起, 便用wait()命其进入等待状态。若标志指出线程应当恢复,则用一个notify()重新启动线程。

3

java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 

字节流,字符流。字节流继承于InputStream OutputStream,字符流继承于InputStreamReader OutputStreamWriter。

在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。

4

java中实现多态的机制是什么?

方法的重写Overriding和重载Overloading是Java多态性的不同表现。

重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现

5

继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?

父类:

package test;

public class FatherClass {

public FatherClass() {

System.out.println("FatherClass Create");

}

}   子类: package test;

import test.FatherClass;

public class ChildClass extends FatherClass {

public ChildClass() {

System.out.println("ChildClass Create");

} public static void main(String[] args) {

FatherClass fc = new FatherClass();

ChildClass cc = new ChildClass();

}

}

输出结果:

C:\>java test.ChildClass

FatherClass Create

FatherClass Create

ChildClass Create

内部类的实现方式?

答:示例代码如下:

package test;

public class OuterClass {

private class InterClass {

public InterClass() {

System.out.println("InterClass Create");

}

} public OuterClass() {

InterClass ic = new InterClass();

System.out.println("OuterClass Create");

} public static void main(String[] args) {

OuterClass oc = new OuterClass();

}

}  

输出结果:

C:\>java test/OuterClass

InterClass Create

OuterClass Create

再一个例题:

public class OuterClass {

private double d1 = 1.0;

//insert code here

}

You need to insert an inner class declaration at line 3. Which two inner class declarations are valid?(Choose two.)

A. class InnerOne{

public static double methoda() {return d1;}

}

B. public class InnerOne{

static double methoda() {return d1;}

}

C. private class InnerOne{

double methoda() {return d1;}

}

D. static class InnerOne{

protected double methoda() {return d1;}

}

E. abstract class InnerOne{

public abstract double methoda();

}

说明如下:   

1.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 故 A、B 错   

2.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;故 D 错   

3.非静态内部类的非静态成员可以访问外部类的非静态变量。 故 C 正确   

4.答案为C、E

原文发布于微信公众号 - Java帮帮(javahelp)

原文发表时间:2017-04-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

mysql 字段时间类型的比较

字段的时间类型分为: ,,,,; 下面就分别介绍这几种时间类型的区别 ? 每个时间类型都有一个有效范围和一个零值,当指定的类型的值超过有效范围时,就会使用零值 ...

2158
来自专栏十月梦想

php的八种基本数据类型

        例子:1.5,5.2,1.0,3.0都是float类型。所有的小数点数。科学计数法(2000:2E3,0.15:1.5E-1)等都是float型...

772
来自专栏java达人

数据字典项实现方案

在应用开发中,总会遇到许多数据字典项,比如对象状态、对象类型等等,这些项一般都是固定的若干可选值选项,比如对象状态可能有新建、修改、删除等状态,这些数据字典项一...

1.1K7
来自专栏全华班

java学习手册-JAVA程序员笔试题(一)

JAVA程序员笔试题(一) 一、选择题: 1、类的成员变量要求仅仅能够被同一package下的类访问,应该使用哪个修辞词 A. Protected、B. Pub...

4165
来自专栏小二的折腾日记

day5(面向对象2)

用来将文件或文件夹封装成对象。 方便对文件与文件夹的属性信息进行操作。 File对象可以作为参数传递给

661
来自专栏老马说编程

(60) 随机读写文件及其应用 - 实现一个简单的KV数据库 / 计算机程序的思维逻辑

查看历史文章,请点击上方链接关注公众号。 57节介绍了字节流, 58节介绍了字符流,它们都是以流的方式读写文件,流的方式有几个限制: 要么读,要么写,不能同时读...

2366
来自专栏彭湖湾的编程世界

【PHP】当mysql遇上PHP

一.利用PHP连接mySQL数据库 这要从一个故事说起。 某一天,一位名叫MySQL的农夫的一把斧子(数据库操作)掉进了一条名为PHP的河里,这时候,一位好心...

2658
来自专栏熊二哥

快速入门系列--CLR--03泛型集合

.NET中的泛型集合 在这里主要介绍常见的泛型集合,很多时候其并发时的线程安全性常常令我们担忧。因而简述下.NET并发时线程安全特性,其详情请见MSDN。 ...

1797
来自专栏Android开发指南

15:IO之File、Properties类

3828
来自专栏Python爱好者

Java基础笔记19

1536

扫码关注云+社区

领取腾讯云代金券