Java面试题及答案整理(三)

Java20道选择题包含答案 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( )。10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( )。5.下列哪些语句关于内存回收的说法是正确的()(选择一项)4.下列关于关键字的使用说法错误的是()(选择一项)3.Java中接口的修饰符可以为()(选择一项) 阅读详情

前言

本题集列举了众多IT公司面试真题,对应聘Java程序员职位的常见考点和知识体系都进行的分类和归纳整理。

本题集适合应聘Java和Java SE职位的程序员作为面试复习、学习和强化的资料,也适合其他程序员作为拓展读物进行阅读。

本题集包含了常见的算法、面试题,也包含了新的高级技术,比如:微服务架构等技术的面试题目。本题集非常全面,对于工作1-5年左右的java程序员面试有非常好的指导作用。

大家也可以访问(直接在线观看最新版的面试题):Java零基础入门全套教程(含项目+面试题)

31.谈谈Java的多态

实现多态的三个条件(前提条件,向上转型、向下转型)

1、继承的存在;(继承是多态的基础,没有继承就没有多态)

2、子类重写父类的方法。(多态下会调用子类重写后的方法)

3、父类引用变量指向子类对象。(涉及子类到父类的类型转换)

向上转型 Student person = new Student()

将一个父类的引用指向一个子类对象,成为向上转型,自动进行类型转换。此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,而不是父类的方法此时通过父类引用变量无法调用子类特有的方法。

向下转型 Student stu = (Student)person;

将一个指向子类对象的引用赋给一个子类的引用,成为向下转型,此时必须进行强制类型转换。向下转型必须转换为父类引用指向的真实子类类型,,否则将出现ClassCastException,不是任意的强制转换

向下转型时可以结合使用instanceof运算符进行强制类型转换,比如出现转换异常---ClassCastException

32.简述Java的垃圾回收机制

传统的C/C++语言,需要程序员负责回收已经分配内存。

显式回收垃圾回收的缺点:

1)程序忘记及时回收,从而导致内存泄露,降低系统性能。

2)程序错误回收程序核心类库的内存,导致系统崩溃。

Java语言不需要程序员直接控制内存回收,是由JRE在后台自动回收不再使用的内存,称为垃圾回收机制,简称GC;

1)可以提高编程效率。

2)保护程序的完整性。

3)其开销影响性能。Java虚拟机必须跟踪程序中有用的对象,确定哪些是无用的。

垃圾回收机制的特点:

1)垃圾回收机制回收JVM堆内存里的对象空间,不负责回收栈内存数据。

2)对其他物理连接,比如数据库连接、输入流输出流、Socket连接无能为力。

3)垃圾回收发生具有不可预知性,程序无法精确控制垃圾回收机制执行。

4)可以将对象的引用变量设置为null,暗示垃圾回收机制可以回收该对象。

现在的JVM有多种垃圾回收 实现算法,表现各异。

垃圾回收机制回收任何对象之前,总会先调用它的finalize方法(如果覆盖该方法,让一个新的引用变量重新引用该对象,则会重新激活对象)。

程序员可以通过System.gc()或者Runtime.getRuntime().gc()来通知系统进行垃圾回收,会有一些效果,但是系统是否进行垃圾回收依然不确定。

永远不要主动调用某个对象的finalize方法,应该交给垃圾回收机制调用。

33.基本数据类型和包装类

1) 八个基本数据类型的包装类

2)为什么为基本类型引入包装类

2.1基本数据类型有方便之处,简单、高效。

2.2但是Java中的基本数据类型却是不面向对象的(没有属性、方法),这在实际使用时存在很多的不便(比如集合的元素只能是Object)。

为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行包装,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。

3) 包装类和基本数据类型之间的转换

3.1包装类------ wrapperInstance.xxxValue() ------>基本数据类型

3.2包装类-------new WrapperClass(primitive)

3.2包装类-------new WrapperClass(primitive)

4) 自动装箱和自动拆箱

JDK1.5提供了自动装箱(autoboxing)和自动拆箱(autounboxing)功能, 从而实现了包装类和基本数据类型之间的自动转换

5) 包装类还可以实现基本类型变量和字符串之间的转换

基本类型变量--->String.valueof()--->字符串 基本类型变量<---WrapperClass.parseXxx(string)---字符串

34.Integer与int的区别

int是java提供的8种原始数据类型之一,Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。

int是java提供的8种原始数据类型之一,Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。

在Hibernate中,如果将OID定义为Integer类型,那么Hibernate就可以根据其值是否为null而判断一个对象是否是临时的,如果将OID定义为了int类型,还需要在hbm映射文件中设置其unsaved-value属性为0。

另外,Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数的最大值和最小值的常量。

35.java.sql.Date和java.util.Date的联系和区别

1) java.sql.Date是java.util.Date的子类,是一个包装了毫秒值的瘦包装器,允许 JDBC 将毫秒值标识为 SQL DATE 值。毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数。 为了与 SQL DATE 的定义一致,由 java.sql.Date 实例包装的毫秒值必须通过将时间、分钟、秒和毫秒设置为与该实例相关的特定时区中的零来“规范化”。 说白了,java.sql.Date就是与数据库Date相对应的一个类型,而java.util.Date是纯java的Date。

2)JAVA里提供的日期和时间类,java.sql.Date和java.sql.Time,只会从数据库里读取某部分值,这有时会导致丢失数据。例如一个包含2002/05/22 5:00:57 PM的字段,读取日期时得到的是2002/05/22,而读取时间时得到的是5:00:57 PM. 你需要了解数据库里存储时间的精度。有些数据库,比如MySQL,精度为毫秒,然而另一些数据库,包括Oracle,存储SQL DATE类型数据时,毫秒部分的数据是不保存的。以下操作中容易出现不易被发现的BUG:获得一个JAVA里的日期对象。 从数据库里读取日期 试图比较两个日期对象是否相等。如果毫秒部分丢失,本来认为相等的两个日期对象用Equals方法可能返回false。.sql.Timestamp类比java.util.Date类精确度要高。这个类包了一个getTime()方法,但是它不会返回额外精度部分的数据,因此必须使用...

总之,java.util.Date 就是Java的日期对象,而java.sql.Date 是针对SQL语句使用的,只包含日期而没有时间部分。

36.使用递归算法输出某个目录下所有文件和子目录列表

37.关于Java编译,下面哪一个正确()(选择一项)

38.下列说法正确的有()(选择一项)

39.Java中接口的修饰符可以为()(选择一项)

40.给定以下代码,程序将输出 ()(选择一项)

Java经典面试题总结(附答案) 所谓反射,是java在运行时进行自我观察的能力,通过class、constructor、field、method四个方法获取一个类的各个组成部分。在Java运行时环境中,对任意一个类,可以知道类有哪些属性和方法。这种动态获取类的信息以及动态调用对象的方法的功能来自于反射机制。序列化就是一种用来处理对象流的机制。将对象的内容流化,将流化后的对象传输于网络之间。 阅读详情

相关推荐

WebLogic漏洞复现与三层防御实战指南

WebLogic作为企业级Java应用服务器,其安全本质在于对反序列化、协议暴露和配置风险的系统性治理。XMLDecoder反序列化漏洞(如CVE-2017-10271)揭示了Java生态中危险反射机制与中间件默认配置叠加产生的高危攻击面;而T3协议滥用则进一步放大了远程代码执行的可达性与隐蔽性。这类漏洞的技术价值不仅在于利用链的简洁性,更在于它倒逼组织建立补丁管理、运行时加固与日志监控三位一体的纵深防御体系。典型应用场景覆盖金融核心系统加固、等保2.0合规整改、攻防演练红蓝对抗及DevSecOps左移实践

weixin_30907935的博客 693

9道常见的java笔试选择题

1.关于Java编译,下面哪一个正确()(选择一项) A.Java程序经编译后产生machine code B.Java程序经编译后会生产byte code C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 分析: Java是解释型语言,编译出来的是字节码; 因此A不正确,C是C/C++语言编译动态链接库的文件为.DLL; 正确答案为B 2.下列说法正确的有()(选择一项) A.class中的construtor不可省略 B.construtor与class同名,但方法不能与class同名

webot123456的博客 1059

WebLogic CVE-2018-2894深度复现与实战防御

WebLogic是企业级Java应用服务器的典型代表,其安全机制涉及管理控制台、JAX-WS服务配置、类加载器动态编译等核心组件。CVE-2018-2894本质并非简单文件上传,而是由认证绕过、路径遍历与JSP热加载三重机制叠加导致的任意代码执行漏洞。该漏洞凸显中间件中管理接口与业务逻辑权限耦合的设计缺陷,在真实生产环境中常因JAX-WS未启用、配置文件未校验或临时目录权限失控而被忽视。掌握其触发链(config.do访问→uploadDir路径跳转→_WL_internal目录写入→JSP自动编译)对红队

weixin_34258838的博客 510

JAVA开发面试题&基础篇&第四部分

JAVA开发面试题&基础篇&第四部分选择题( 9 道) 选择题( 9 道) 37.关于Java编译,下面哪一个正确()(选择一项) 选项 内容 A Java程序经编译后产生machine code B Java程序经编译后会生产byte code C Java程序经编译后会产生DLL D 以上都不正确 答案:B 分析: Java是解释型语言,编译出来的是字节码; 因此A不正确,C是C/C++语言编译动态链接库的文件为.DLL; 正确答案为B 38.下列说法正确

zsk1996888的博客 1029

WebLogic CVE-2018-2628高危漏洞:原理剖析与实战修复指南

Java反序列化漏洞是Java应用安全领域的核心威胁之一,其原理在于攻击者通过构造恶意的序列化数据,在目标系统进行反序列化时触发任意代码执行。这类漏洞的技术价值在于其危害性极高,常被用于远程控制服务器、窃取数据或植入后门。在Java EE应用服务器场景中,Oracle WebLogic Server的T3协议反序列化机制曾因缺乏严格校验而成为攻击入口,典型代表便是CVE-2018-2628高危漏洞。该漏洞CVSS评分达9.8,允许攻击者通过网络远程执行任意代码,对线上核心业务构成严重威胁。本文聚焦于该漏洞的

weixin_30352191的博客 370

WebLogic高危漏洞CVE-2020-14882:权限绕过原理、复现与加固实战

在Web应用安全领域,权限校验是防止未授权访问的核心机制,其原理通常基于对请求路径的认证与授权检查。然而,当路径处理逻辑出现不一致时,便可能产生严重的权限绕过漏洞。以Oracle WebLogic Server的CVE-2020-14882漏洞为例,其技术根源在于URL双重编码导致的路径规范化差异:安全过滤器基于解码一次的路径进行校验,而请求路由时却对路径进行了二次解码与规范化,使得攻击者能构造特殊请求,绕过认证直接访问高权限管理接口。这种漏洞的价值在于揭示了中间件安全模型中校验与执行环节脱节的经典风险,常

dicha7140的博客 1007

Java 面试题及答案整理(2024 年金九银十最新版)

2024 年金九银十到了,发现网上很多 Java 面试题都没有答案,所以花了很长时间搜集整理出来了这套 Java 面试题大全~

csdn1234561231的博客 6748

Oracle WebLogic Server 企业级应用与管理

Oracle WebLogic Server作为企业级应用服务器的佼佼者,历史悠久,最初由BEA Systems开发,并在2008年被Oracle公司收购。自诞生以来,它一直是Java EE应用的主要承载平台,凭借其强大的性能、可靠性和可扩展性,获得了广泛的应用。WebLogic的定位是一个全面、灵活的解决方案,可以管理企业级应用的整个生命周期,从开发、部署到监控和优化,无一不涵盖在内。Oracle WebLogic Server提供了多种管理工具,其中管理控制台和命令行工具WLST是最常用的工具。

weixin_35829279的博客 1222

WebLogic 中间件高危漏洞应急响应案例分享

某省级单位系统遭受WebLogic漏洞攻击的安全事件分析

yh120055480的博客 951

RK3588 InsightFace人脸识别移植及精度测试全解析

本文详细介绍了如何在RK3588平台上移植InsightFace人脸识别模型并进行精度验证。通过PyTorch转ONNX、ONNX转RKNN量化模型的关键步骤,实现了INT8量化模型的部署。测试数据显示,该模型在LFW数据集上达到99.43%的准确率(接近官方99.52%),推理时间仅14.23ms。ROC曲线和相似度分布图表明模型区分能力优秀,AUC超过0.99,满足实际应用需求。文中还详解了量化原理、环境搭建和测试方法,为边缘设备部署人脸识别提供了完整解决方案。

Hi20240217的博客 3673

IGS精密星历高效获取与解析指南

本文详细介绍了IGS精密星历在高精度定位中的核心作用,对比了IGS Final、IGR和IGU等不同产品的精度与时效性差异。指南提供了从武汉大学、NASA CDDIS等数据中心高效下载数据的实战方法,并深入解析了SP3文件格式,帮助用户掌握精密星历的获取、解析与自动化处理技巧,以支持厘米级定位应用。

garlic的博客 839

静默安装weblogic 12.2.1.3集群

一 WebLogic介绍 1.1 WebLogic介绍 Oracle WebLogic Server是一个可扩展的企业级Java平台企业版7(JavaEE7)应用服务器。 WebLogic Server基础设施支持多种类型的分布式应用程序的部署,是基于面向服务架构(SOA)构建应用程序的理想基础。 Weblogic server使企业能够在一个健壮、安全、高可用和可伸缩的环境中部署关键应用程序。这些特性允许企业配置WebLogic服务器实例集群来分配负载,并在硬件或其他故障时提供额外的容量。新的诊断

雅冰石的专栏 993

整理的15个公开且可直接使用的电力视觉输电线路领域数据集

而巡检数据是目前来说影响我们做科研的最大阻碍,为此本内容主要总结了,现有的且公开免费的巡检数据集,供大家使用。STN PLAD数据集133个航拍图像,五个电力部件:电力塔及其塔的ID、绝缘子,防震锤,联板(yoke),图像的尺寸在5472×3648到5472×3078。IDID数据集:2000张图像,包含三个类别,正常绝缘子,破损绝缘子和闪络绝缘子三个类别,用于目标检测的实验。TTPLA数据集,用于实例分割,1100张尺寸为3840×2160,包含两个类别,电力杆塔和电力线。主要用于电力杆塔的目标检测。

weixin_42048361的博客 5019

java,weblogic和jdk性能文档(转)

1.应用服务器weblogic应用服务器是weblogic8.11.1 weblogic核心运行规则WebLogic Server的核心组件由监听线程,套接字复用器和可执行线程的执行队列组成。当服务器由监听线程接收到连接请求后,将对它的连接控制权交给等待接收请求的套接字复用器。然后套接字复用器读取离开套接字的请求,并将此请求及相关安全信息或事务处理环境一起置入适当的执行队列中(一般为默认的执行

木头人吉的专栏 738

强化学习环境Gym库的介绍

Gym是一个用于进行强化学习实验的开源库,它提供了一个仿真环境,内置了多种仿真游戏,例如出租车游戏、悬崖游戏等,不同的游戏所用的网格、规则、奖励(reward)都不一样,适合为强化学习做测试。(1) 多种环境:Gym库内置了上百种实验环境,包括算法环境、简单文本环境、经典控制环境、Atari游戏环境、MuJoCo环境和机械控制环境等。(2) Gym提供多种环境供我们使用,这里以一个简单的CartPole-v0为例,首先导入gym库,然后创建一个CartPole-v0环境,通过调用gym.make方法实现。

ahah12345678的博客 2148

【毕业设计参考】基于yolov8+pyqt5自适应界面设计的锂电池表面缺陷检测系统

基于YOLOv8+PyQt5的锂电池表面缺陷检测系统结合了先进的目标检测技术与友好的用户界面设计,为锂电池质量检测提供了一种高效、准确的解决方案。未来,随着深度学习技术的不断发展,我们可以进一步优化模型,提高检测精度和速度,同时拓展系统功能,如实现实时视频流检测、与生产系统的深度集成等,为锂电池产业的发展注入新的活力。希望本文对大家在相关领域的研究和实践有所帮助,欢迎大家在评论区交流讨论。

1182

Linux 下 WebLogic 14.1.1 静默安装与 WLST 建域实战

企业级 Java 中间件通常以应用服务器形态承载 WAR、EAR、JMS、数据源与集群等能力,WebLogic 是其中典型代表。其核心原理是通过域组织配置与运行资源,由 AdminServer 统一管理,并依赖受认证 JDK 提供运行环境。在 Linux 生产服务器无图形界面的场景下,静默安装与 WLST 离线建域能显著降低人工交互,提升交付一致性和可回滚性,适用于中间件运维、Java 应用交付和信创环境适配。围绕 WebLogic 14.1.1.0.0,需重点关注 JDK 11/8 版本约束、安装目录与域

weixin_33901641的博客 352

OBC_开环扫频波特图拟合操作流程(结合 Simulink)

摘要: 本文详细介绍了基于Simulink的开环扫频波特图测试与拟合流程,适用于电源/控制系统(如LLC/PFC)的小信号分析。主要内容包括:1)前期准备(测试点选择、信号范围设定);2)Simulink建模方法(信号注入、数据记录);3)两种扫频方式(逐频正弦/Chirp扫频)的实现;4)MATLAB数据处理(FFT分析、传递函数拟合);5)线性分析工具使用技巧。重点强调了激励信号幅值控制、稳态数据采集及模型验证方法,并提供完整MATLAB脚本示例。该流程可有效获取系统频域特性,为控制器设计提供可靠依据。

Sumerking的博客 234

WebLogic服务启动失败?从‘找不到路径’到‘端口占用’的Windows命令行排错全记录

本文详细记录了在Windows环境下WebLogic服务启动失败的常见问题及解决方案,从路径错误到端口占用的全面排查。通过命令行诊断和实用技巧,帮助用户快速解决JAVA_HOME设置、端口冲突、权限问题等启动障碍,确保WebLogic服务顺利运行。

weixin_30691871的博客 714

基于YOLOv8的工业瓷砖缺陷检测:深度学习与UI界面的应用

本文详细介绍了如何使用YOLOv8进行工业瓷砖缺陷检测,并结合图形用户界面(UI)提供了完整的实现方案。通过YOLOv8模型,我们可以高效、精确地检测瓷砖图像中的缺陷,显著提高生产过程中的质量控制水平。随着数据集的进一步扩展和YOLOv8模型的不断优化,未来瓷砖缺陷检测的精度和速度将不断提高。此外,基于深度学习的缺陷检测技术不仅可以应用于瓷砖生产,还可以推广到其他领域的质量检测中。

YOLO 604

CS 188 Project3(RL) Q10:Approximate Q-Learning

实现一个近似的Q-learning学习代理,它学习状态特征的权重,其中许多状态可能共享相同的特征。在qlearningAgents.py中的ApproximateQAgent类中编写实现,它是PacmanQAgent的子类。 注:近似Q-learning学习假设在状态和动作对上存在一个特征函数f(s,a),它产生一个向量f1(s,a) .. fi(s,a) .. fn(s,a)特征值。我们在fe...

大模型与Agent智能体 2657

weblogic请求服务端超时后重发一次请求_记一次后端服务偶发502的排错之旅

现象最近线上业务反馈,服务不定时的出现502报错。登陆到网关日志平台查询httpcode等于502的,还真的发现同一个服务出现的概率还是蛮高的。所以开始了502的排查之旅。抓包吧为了复现问题,直接在测试环境进行压测该服务。压测过程中随着时间的增长,偶尔是能出现的;这就非常好了,只要能复现出问题,那么问题就已经解决一大半了。登陆服务器抓包首先确认该服务器的网卡是哪张(ifconfig命令)...

weixin_39625305的博客 1050

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java,weblogic和jdk性能文档

1.应用服务器weblogic 应用服务器是weblogic8.1 1.1 weblogic核心运行规则 WebLogic Server的核心组件由监听线程,套接字复用器和可执行线程的执行队列组成。当服务器由监听线程接收到连接请求后,将对它的连接控制权交给等待接收请求的套接字复用器。然后套接字复用器读取离开套接字的请求,并将此请求及相关安全信息或事务处理环境一起置入适当的执行队列中(一

萧逸闲侃 1038

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Weblogic8性能优化文档

应用中间件是weblogic8.1 1.1 weblogic核心运行规则 WebLogic Server的核心组件由监听线程,套接字复用器和可执行线程的执行队列组成。当服务器由监听线程接收到连接请求后,将对它的连接控制权...

cpk86585的博客 248

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

weblogic中间件故障排除

23日下午2时,交费业务中断,检查weblogic服务器的日志,发现大量报错,一个交费函数,没有得到响应。为排除软件故障,使用备机进行测试,得到相同结果。 经调试软件,发现语句中的select clt_act clt_name fund from indoor_inv 导致系统报错。单独测试该语句发现,相应时间很慢,检查发现符合索引故障。凌晨4时,故障排除。 转载...

weixin_34281477的博客 325

WebLogic 10.3.6 最新补丁:保障您的系统安全与稳定

WebLogic 10.3.6 最新补丁:保障您的系统安全与稳定 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在当今数字化时代,系统的安全性和稳定性是企业运营的重中之重。WebLogic作为一款广泛应用的企业级应用服务器,其安全性与性能直接关系到企业的业务连续性和数据安全。为了确保WebLogic 10.3.6版本的用户能够享受到最新的安全保障和性能优化,我们特别推...

gitblog_09754的博客 873
上一篇: Java面试题及答案整理(二)
下一篇: Java最常见的500+面试题:面试必备
java9787
博客等级 码龄5年 79粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值