两年JAVA程序员面试题(2)

2025-04-05 08:21:10

1、java中基本类型有哪些?各占多少字节?答:byte、short、int、long、float、double、char、boolean字节数:byte:1、short:2、int:4、long:8、float:4、double:8、char:2、boolean:1。

2、java中的自动装箱和自动拆箱是什么?有什么区别?答:(1)基本数据类型的自动装箱、拆箱是从J2SE 5.0开始提供的功能。(2)装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。(3)装箱过程是通过调用包装器的valueOf方法实现的;拆箱过程是通过调用包装器的***Value方法实现的(***表示对应的基本数据类型)。

3、Springboot怎么控制事务的?答:在传统的Web工程中,我们通常使用XML配置,利用Spring的AOP切面编程手段,将事务以切面的方式注入到Service的各个数据库操作方法中去,而在SpringBoot中的操作是,使用@Transactional注解来申明事务。要在Springboot中支持事务,首先要导入Springboot提供的JDBC或JPA依赖,SpringBoot会自动默认分别注入DataSourceTransactionManager或JpaTransactionManager,并进行一系列的事务初始化操作,然后不需要任何额外配置就可以用@Transactional注解进行事务的使用。

4、@Transactional的使用注意点答:(1)@Transactional注解只能在抛出RuntimeException或者Error时才会触发事务的回滚,常见的非RuntimeException是不会触发事务的回滚的。但是我们平时做业务处理时,需要捕获异常,所以可以手动抛出RuntimeException异常或者添加rollbackFor = Exception.class(也可以指定相应异常)。(2)只有public修饰的方法才会生效。(3)方法内自调用导致的事务不生效。

5、Java中==和equals的区别答:”==“是比较两个变量的值是否相等、对于引用型变量表示的是两个变量在堆中存储的地址是否相同。equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。

6、Java中懋鲕壶迎基本数据类型和包装类型的区别答:(1)包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址;基眺螗熨膣本类型不是。(2)包装类型是引用的传递;基本类型是值得传递。(3)声明方式不同:基本数据类型不需要new关键字,包装类型需要new在堆内存中进行new来分配内存空间。(4)存储位置不同:基本数据类型直接将值存在值栈中,包装类型是把对象放在堆中,然后通过对象的引用来调用他们。(5)初始值不同:int的初始值为0,boolean的初始值为false,包装类型的初始值为null。(6)使用方式不同:基本数据类型直接赋值使用,包装类型是在如coolectionMap时使用。

7、servlet生命周期答:Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:Servlet 初始化后调用init ()方法。Servlet 调用service()方法来处理客户端的请求。Servlet 销毁前调用destroy()方法。Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。主要分为以下几个阶段:加载类—>实例化(为对象分配空间)—>初始化(为对象的属性赋值)—>请求处理(服务阶段)—>销毁。

8、聚簇索引和非聚簇索引的区别答:(1)聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据。聚簇索引具有唯yi性,聚簇索引默认是主键。非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置。(2)聚簇索引,表中存储的数据按照索引的顺序存储,检索效率比普通索引高,但对数据新增/修改/删除的影响比较大。非聚簇索引,不影响表中的数据存储顺序,检索效率比聚集索引低,对数据新增/修改/删除的影响很小。

9、过滤器和拦截器的辨泔矣嚣区别及执行顺序答:(1)拦截器是基于java的反射机制的,而过滤器是基于函数回调。(2)拦截器不依赖于servlet容器,过滤器依赖于servlet容器。(3)拦鲇馔仓扔截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。(4)拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。(5)在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。执行顺序 :过滤前 - 拦截前 - Action处理 - 拦截后 - 过滤后。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢