0

0

Java中高级面试题(附答案)

angryTom

angryTom

发布时间:2019-11-14 16:51:07

|

11855人浏览过

|

来源于CSDN

转载

Java中高级面试题(附答案)

1、redis如何跟本地数据同步?

程序实现mysql更新、添加、删除就会同步操作redis

程序查询redis,不存在就查询mysql,自动保存redis

2、redis几种数据结构?

set、list、hash、string、zset

立即学习Java免费学习笔记(深入)”;

3、java内存溢出是如何造成的?

OutOfMemoryError:

(1)PerGern Space 程序中使用了大量的jar或class,使虚拟机装载类空间不够。

解决方案:调参 XX:PermSize 和XX:MaxPermSize、减少jar包减少类的重复加载 

(2)Java Heap

Space Java虚拟机创建太多对象。 解决方法:调参Xms(初始化堆大小)Xmx(最大堆大小)、检查死循环或不必要创建的重复对象。

(3)unable to create new native Thread

JVM占用了太多内存空间,而在JVM中创建线程还要再操作系统中创建线程。 解决方案:调整JVM中线程大小。

4、String s = “123”,这个语句有多少对象产生?

若字符串池中没有“123”,则产生一个,并且放入常量池中,若有“123”,则产生0个

5、JDK8的新特性,举例描述

(1)lambda表达式:函数式编程,方法的引用 

(2)Stream API 

(3)接口的默认方法

(4)日期时间API的改进,新增DateTimeFormatter方法

6、解决高并发和高负载

(1)尽可能html静态化,采用信息录入发布系统CMS实现信息录入自动生成静态页面,在前端缓存不经常改变的动态数据。

(2)CDN加速,把CSS/JS等资源分布在不同的服务器上

(3)缓存不常改变的数据(Redis、memcache)。

(4)图片服务器与应用服务器分离。 

(5)集群

7、生产者和消费者模型得瑟作用是什么?

(1)通过平衡生产能力和消费者的消费能力来提升整个系统的运行效率 (2)解耦

8、Mybatis一级、二级缓存

(1)一级缓存:基于PerpetualCache的HashMap本地缓存,其存储作用域Session,当Session

flush或close之后,该Session中的所有Cache就将清空。

Lifetoon
Lifetoon

免费的AI漫画创作平台

下载

(2)二级缓存与一级缓存机制相同,默认也是采用PerpetualCache,HashMap存储,不同在存储作用域Mapper,并且可自定义存储源,如需开启二级缓存。在sql映射文件添加

9、描述一个服务从发布到被消费的详细过程

首先获取zk的配置信息,然后获取需要暴露的url,然后调用registry,register方法将url注册到zookeeper上去

10、如何实现负载均衡,有哪些算法可以实现?

随机(random)、轮训(round-robin)、一致哈希(consistent-hash)和主备(master-slave)

11、如果要你实现Spring AOP,怎么实现?

实现aop技术,主要分为两大类:一采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行

二是采用静态织入的方式,引入特定语法创建“方面”,从而使得编译器间织入有关“方面”的代码

12、如何防止页面重复提交?

集群环境:采用token加redis(redis是单线程的,处理需要排队)

处理流程:

1、数据提交前要向服务申请token,token放到redis内存,token有效时间

2、提交后后台校验token,同时删除token,生成新的token返回

13、什么是微服务?

将工程根据不同的业务规则拆分成微服务,部署在不同的机器上。服务间进行相互调用

14、什么是web服务?

(1)web service就是一个应用程序,它向外界暴露出一个能够通过web进行调用的API

(2)基于HTTP协议传输数据,这使得运行在不同机上的不同应用程序,无需借助附加的、专门的第三方软件和硬件,就可以相互交换数据或集成

15、谈一下你的项目选择Struts2的理由?

①Action是POJO类,没有依赖Servlet API,具有良好的可测试性; ②强大的拦截器,简化了开发的复杂度;

③支持多种表现层技术:JSP、Freemarker等; ④灵活的验证方式; ⑤国际化(I18N)支持 ⑥声明式异常管理;

⑦通过JSON插件简化Ajax; ⑧通过Spring插件跟Spring整合;

16、谈一下拦截器和过滤器的区别?

拦截器和过滤器都可以用来实现横切关注功能,其区别主要在于: ①拦截器是基于JAVA反射机制的,而过滤器是基于函数回调的

②过滤器依赖于Servlet容器,而拦截器不依赖于Servlet容器

③拦截器只能对Action请求起作用(Action中的方法),而过滤器可以对几乎所有的请求起作用(CSS JSP JS)

17、Spring支持的事务管理类型?

编程式事务管理:编程的方式管理事物,极大的灵活性,难维护

声明式事务管理:可以将业务代码和事物管理分离、只需要用注解和XML配置来管理事物

php中文网,大量的免费Java入门教程,欢迎在线学习! 

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

公务员递补名单公布时间 公务员递补要求
公务员递补名单公布时间 公务员递补要求

公务员递补名单公布时间不固定,通常在面试前,由招录单位(如国家知识产权局、海关等)发布,依据是原入围考生放弃资格,会按笔试成绩从高到低递补,递补考生需按公告要求限时确认并提交材料,及时参加面试/体检等后续环节。要求核心是按招录单位公告及时响应、提交材料(确认书、资格复审材料)并准时参加面试。

44

2026.01.15

公务员调剂条件 2026调剂公告时间
公务员调剂条件 2026调剂公告时间

(一)符合拟调剂职位所要求的资格条件。 (二)公共科目笔试成绩同时达到拟调剂职位和原报考职位的合格分数线,且考试类别相同。 拟调剂职位设置了专业科目笔试条件的,专业科目笔试成绩还须同时达到合格分数线,且考试类别相同。 (三)未进入原报考职位面试人员名单。

58

2026.01.15

国考成绩查询入口 国考分数公布时间2026
国考成绩查询入口 国考分数公布时间2026

笔试成绩查询入口已开通,考生可登录国家公务员局中央机关及其直属机构2026年度考试录用公务员专题网站http://bm.scs.gov.cn/pp/gkweb/core/web/ui/business/examResult/written_result.html,查询笔试成绩和合格分数线,点击“笔试成绩查询”按钮,凭借身份证及准考证进行查询。

11

2026.01.15

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

65

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

36

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

75

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

21

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 2.5万人学习

C# 教程
C# 教程

共94课时 | 6.8万人学习

Java 教程
Java 教程

共578课时 | 46.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号