java面试题有难度_有点难度的10道java面试题

本文列举了10道具有挑战性的Java面试题,涵盖JVM优化、安全防护、RESTful API设计、序列化方案、并发死锁等方面。了解这些问题将有助于提升你的Java技术和面试准备。
摘要由CSDN通过智能技术生成

1.jvm对频繁调用的方法做了哪些优化?

java虚拟机最开始是通过解释器进行解释执行的,当虚拟机发现某个方法或者代码块的运行特别频繁时,就会把这些代码认定为”热点代码”,为了提高热点代码的执行效率,在运行时,虚拟机会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为即时编译器(JIT)。

2.常见的攻击手段有哪些?如何防范?

XSS、CSRF、SQL注入、DOS/DDOS等具体细节见历史文章。

3.restful api有哪些设计原则?

需要考虑的设计原则有:域名、版本、路径、动词、状态码、返回结果等等之后具体会形成文章。

4.hessian是做什么用的?它的传输单位是什么?

Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。

5.http中的post、get有什么区别?base64过后的字符串可以通过get传输吗?

区别:

1、两种动作不一样,get是获取资源,post是提交资源

2、get参数在URL中不安全,post是放在http body中的相对安全

3、get传输字节数受限于URL长度,post无限制

4、后台获取数据的方式get只能是QueryString,post可从InputStream中获取 base64编码后有+=特殊符号的会转码不能经get传输,如果是改进的base64会替换掉特殊符号可以用get传输。

6.常用的算法都有哪些分类,分别有哪些算法及应用场景?

一般有散列算法、对称算法、非对称算法,具体细节见历史文章。

7.死锁是什么?写一个死锁的例子?如何避免死锁?

死锁就是多线程相互等待对方释放锁造成的假死状态,具体见历史文章。

8.学用的序列化方案都有哪些,说说它们的优缺点? 序列化有对象序列化,JSON序列化,XML序列化等,像java自带序列化、kryo、protostuff、GSON、jackson、fastjson等之后形成文章。

9.什么是过滤器、拦截器、监听器,它们的顺序是怎样的? 监听器是容器启动和销毁时触发的动作,过滤器是进入servlet请求之前触发的工作,拦截器是像springmvc框架实现的内部的请求拦截器。

顺序:监听器>过滤器>拦截器

10.servlet3.0有哪些新规范?

增加注解不需要web.xml配置、异步处理、可插性支持,性能增强等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值