每当到了寻找java开发相关工作的时候,免不了需要参加各种企业的笔试以及面试,没错,刷题是必要的,先不管有没有用,好歹做的题目足够多了,自信也就来了,下面就跟小编一起来看看吧。

1. JDK和JRE有什么区别?

JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java的开发环境和运行环境。

JRE:Java Runtime Environment 的简称,Java运行环境,为Java的运行提 供了所需环境。 具体来说 JDK 其实包含了

JRE,同时还包含了编译 Java 源码的编译器 Javac,还 包含了很多 Java 程序调试和分析的工具。

简单来说:如果你需要运行 Java 程序, 只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK。

2、int和Integer有什么区别?

Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类

型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入 了对应的包装类型(wrapper

class),int的包装类就是Integer,从Java 5开始引入了自 动装箱/拆箱机制,使得二者可以相互转换。

3、float f=3.4是否正确?

不正确。3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于

下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转 换float f =(float)3.4; 或者写成float f

=3.4F。

4、 什么是Java虚拟机?为什么Java被称作是“平台无关的编程 语言”?

java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能 被Java虚拟机执行的字节码文件。

因为它有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,是在虚拟机上 进行的,每个系统平台都是有自己的虚拟机(JVM),所以JAVA语言能跨平台。

5、Math.round(11.5) 等于多少?Math.round(-11.5)等于多 少?

答:Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四

舍五入的原理是在参数上加0.5然后进行下取整。

6、Java 中会存在内存泄漏吗,请简单描述。

答:理论上不会,Java有垃圾回收机制(GC)不会存在内存泄露问题(); 然而在实际开发中,可能会存在无用但可达的对象,这些对象不能被GC回收,

因此也会导致内存泄露的发生。

7、数据库性能优化有哪些方式?

SQL优化:

尽量避免使用 SELECT *;

只查询一条记录时使用 limit 1;

使用连接查询代替子查询;

尽量使用一些能通过索引查询的关键字。

表结构优化:

尽量使用数字类型字段,提高比对效率;

长度不变且对查询速度要求高的数据可以考虑使用 char,否则使用 varchar;

表中字段过多时可以适当的进行垂直分割,将部分字段移动到另外一 张表;

表中数据量过大可以适当的进行水平分割,将部分数据移动到另外一张 表。

其它优化:

对查询频率高的字段适当的建立索引,提高效率;

根据表的用途使用合适 的数据库引擎;

读写分离。

8、JDBC中存在哪些不同类型的锁?

从广义上讲,有两种锁机制来防止多个用户同时操作引起的数据损坏。

乐观锁-只有当更新数据的时候才会锁定记录。

悲观锁 - 从查询到更新和提交整个过程都会对数据记录进行加锁。