java面试题精选

简介: java面试题精选

一、tomcat运行原理:

1. Tomcat需要main方法启动,创建实例:server。

2. Tomcat需要监听本机上的某个端口,主要有8005,8043,8080。

3. Tomcat需要抓取此端口(8080)上来自客户端的链接并获得请求调用的方法与参数。

4. Tomcat需要根据请求调用的方法,动态地加载方法所在的类,完成类的实例化并通过该实例获得需要的方法,最终将请求传入方法执行。

5. 将结果返回给客户端(jsp/html页面、json/xml字符串)。

二、描述spring是如何工作的?

(1)通过IOC控制反转模式将组件间的依赖关系从程序内部转变到外部来管理,由容器控制程序之间的依赖关系,而非传统实现中,由程序代码直接操控。


(2)通过依赖注入DI将组件的依赖通过外部以参数或者其他形式注入,即组件之间的依赖关系由容器在运行期决定,由容器动态的将某种依赖关系注入到组件之中。


(3)使用AOP面向切面编程,将一些横向的功能抽离出来形成一个独立的模块,然后在指定位置插入这些功能,将日志记录,性能统计,安全控制,事务处理,异常处理等代码从逻辑代码中分离出来,从而使业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发效率。

三、JVM运行原

image.png

(1)java源文件经编译器,编译成字节码(其中方法被编译成字节码指令)

(2)通过类加载器将字节码加载到虚拟机内存,并将字节码所代表的静态存储结构转化为方法区的运行时数据结构。

(3)通过JVM解释器将每一条字节码指令翻译成特定平台上的机器码,然后通过特定平台运行。


四、java中包装类与基本数据类型区别?


(1)包装类比基本数据类型占空间少。


(2)基本类型存放在栈,包装类型存放在堆里


(3)包装类是对象,拥有方法,基本类型没有


(4)泛型只能使用引用数据类型,所以只能使用包装类。


五、shiro权限标签及其用处?


<shiro:guest>验证当前用户是否是访客


<shiro:user> 验证是否为认证通过或者已经记住的用户


<shiro:authenticated> 已经通过的用户,不包括已经记住的用户


<shiro:principal> 输出当前用户信息


<shiro:hasRole name=""> 验证是否拥有该角色


<shiro:hasPermission name="">验证是否拥有该权限


六、servlet的生命周期?

Servlet的生命周期包含了下面四个阶段:


1、加载和实例化


当Servlet容器启动或客户发送一个请求时,Servlet容器会查找内存中是否存在servlet实例,若存在,则直接读取该实例响应请求;如果不存在,就创建一个Servlet实例。


2、初始化


实例化后,Servlet容器将调用Servlet的init()方法进行初始化


3、请求处理


初始化后,Servlet处于能响应请求的就绪状态。当接受到客户端请求时,调用service()的方法处理客户端请求,HttpServlet的service()方法会根据不同的请求转调不同的doget()或者doPost()方法。


4、服务终止


当servlet容器关闭时,Servlet实例也随时销毁。其间,Servlet容器会调用servlet的destroy()方法去判断该Servlet是否应当被释放。


七、java的作用域有哪些?分别作用范围?有什么区别?

image.png

目录
相关文章
|
26天前
|
Java 程序员
java线程池讲解面试
java线程池讲解面试
49 1
|
5天前
|
XML 缓存 Java
Java大厂面试题
Java大厂面试题
16 0
|
5天前
|
存储 安全 Java
Java大厂面试题
Java大厂面试题
11 0
|
5天前
|
存储 安全 Java
Java大厂面试题
Java大厂面试题
13 0
|
6天前
|
安全 Java
就只说 3 个 Java 面试题 —— 02
就只说 3 个 Java 面试题 —— 02
18 0
|
6天前
|
存储 安全 Java
就只说 3 个 Java 面试题
就只说 3 个 Java 面试题
10 0
|
15天前
|
Java 关系型数据库 MySQL
大厂面试题详解:Java抽象类与接口的概念及区别
字节跳动大厂面试题详解:Java抽象类与接口的概念及区别
40 0
|
25天前
|
存储 缓存 算法
Java入门高频考查基础知识4(字节跳动面试题18题2.5万字参考答案)
最重要的是保持自信和冷静。提前准备,并对自己的知识和经验有自信,这样您就能在面试中展现出最佳的表现。祝您面试顺利!Java 是一种广泛使用的面向对象编程语言,在软件开发领域有着重要的地位。Java 提供了丰富的库和强大的特性,适用于多种应用场景,包括企业应用、移动应用、嵌入式系统等。下是几个面试技巧:复习核心概念、熟悉常见问题、编码实践、项目经验准备、注意优缺点、积极参与互动、准备好问题问对方和知其所以然等,多准备最好轻松能举一反三。
49 0
Java入门高频考查基础知识4(字节跳动面试题18题2.5万字参考答案)
|
29天前
|
Java 程序员 API
java1.8常考面试题
在Java 1.8版本中,引入了很多重要的新特性,这些特性常常成为面试的焦点
42 8
|
1月前
|
NoSQL Java 关系型数据库
整理Java面试题
整理Java面试题