IT精选面试题系列之Java(1)

简介: 本文为Java面试题进阶解析,涵盖B/S与C/S架构、JDK/JRE区别、面向对象特性、数据类型、instanceof关键字、装箱拆箱等13个核心知识点,助力求职者深入掌握Java基础,轻松应对技术面试。

第二天,你们“日更”(目前是)的博主已上线!废话不多说,直接上干货。今天的Java面试题解析,难度升级,干货加倍。你们负责学,我负责输出就完了!PS:昨天的面试准备篇,都消化了吗?


1、什么是B/S架构?什么是C/S架构

B/S(Browser/Server),浏览器/服务器程序

C/S(Client/Server),客户端/服务端,桌面应用程序

2、Java都有那些开发平台?

JAVA SE:主要用在客户端开发

JAVA EE:主要用在web应用程序开发

JAVA ME:主要用在嵌入式应用程序开发

3、什么是JDK?什么是JRE?

JDK:java development kit:java开发工具包,是开发人员所需要安装的环境

JRE:java runtime environment:java运行环境,java程序运行所需要安装的环境

4、Java语言有哪些特点

简单易学、有丰富的类库

面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高)

与平台无关性(JVM是Java跨平台使用的根本)

可靠安全

支持多线程

5、面向对象和面向过程的区别

1. 面向过程:

一种较早的编程思想,顾名思义就是该思想是站着过程的角度思考问题,强调的就是功能行为,功能的执行过程,即先后顺序,而每一个功能我们都使用函数(类似于方法)把这些步骤一步一步实现。使用的时候依次调用函数就可以了。

2. 面向对象:

一种基于面向过程的新编程思想,顾名思义就是该思想是站在对象的角度思考问题,我们把多个功能合理放到不同对象里,强调的是具备某些功能的对象。具备某种功能的实体,称为对象。面向对象最小的程序单元是:类。面向对象更加符合常规的思维方式,稳定性好,可重用性强,易于开发大型软件产品,有良好的可维护性。在软件工程上,面向对象可以使工程更加模块化,实现更低的耦合和更高的内聚。


6、Java的数据结构有那些?

1.线性表(ArrayList)

2.链表(LinkedList)

3.栈(Stack)

4.队列(Queue)

5.图(Map)

6.树(Tree)


7、什么是OOP?

面向对象编程


8、类与对象的关系?

类是对象的抽象,对象是类的具体,类是对象的模板,对象是类的实例


9、Java中有几种数据类型

整形:byte,short,int,long

浮点型:float,double

字符型:char

布尔型:boolean


10、标识符的命名规则。

标识符的含义:

是指在程序中,我们自己定义的内容,譬如,类的名字,方法名称以及变量名称等等,都是标识符。

命名规则:(硬性要求)

标识符可以包含英文字母,0-9的数字,$以及_

标识符不能以数字开头

标识符不是关键字

命名规范:(非硬性要求)

类名规范:首字符大写,后面每个单词首字母大写(大驼峰式)。

变量名规范:首字母小写,后面每个单词首字母大写(小驼峰式)。

方法名规范:同变量名。

11、instanceof关键字的作用

instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:


boolean result = obj instanceof Class


其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或

间接子类,或者是其接口的实现类,结果result 都返回 true,否则返回false。

注意:编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错,如果不能确定

类型,则通过编译,具体看运行时定。


inti=0;

System.out.println(i instanceof Integer);//编译不通过i必须是引用类型,不能是基本类型

System.out.println(i instanceof Object);//编译不通过

Integer integer=newInteger(1);

System.out.println(integer instanceof Integer);//true

//false,在JavaSE规范中对instanceof运算符的规定就是:如果obj为null,那么将返回false。

System.out.println(nullinstanceofObject);


12、Char类型能不能转成int类型?能不能转化成string类型,能不能转成double类型

Char在java中也是比较特殊的类型,它的int值从1开始,一共有2的16次方个数据;

Char<int<long<float<double;Char类型可以隐式转成int,double类型,但是不能隐式转换成string;如果char类型转成byte,short类型的时候,需要强转;


13、什么是拆装箱?

装箱就是自动将基本数据类型转换为包装器类型(int–>Integer);调用方法:Integer的

valueOf(int) 方法

拆箱就是自动将包装器类型转换为基本数据类型(Integer–>int)。调用方法:Integer的intValue方 法

在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:

Integer i = new Integer(10);


而在从Java SE5开始就提供了自动装箱的特性,如果要生成一个数值为10的Integer对象,只需要这样就可以了:


Integer i = 10;



面试题1: 以下代码会输出什么?


public class Main {

public static void main(String[] args) {

 Integer i1 = 100;

 Integer i2 = 100;

 Integer i3 = 200;

 Integer i4 = 200;

 System.out.println(i1==i2);

 System.out.println(i3==i4);

}

}


结果:


true

false


本次更新的13个Java面试题就全部交付完毕了。建议大家不要贪多,把这13个“知识锦囊”好好内化吸收,足以应对大部分核心考点了。**关注我然下次更新你可能就找不到我啦!**明天解锁后续更多硬核内容,我们明天继续!

链接

相关文章
|
1月前
|
人工智能 Java 关系型数据库
IT精选面试题系列之Java(面试准备篇)
消失一年回归!前凡人程序员化身面试导师,爆肝整理高频IT面试题。首期聚焦Java,涵盖技术储备、项目包装、简历优化与话术技巧,教你从0到1拿下Offer,干货拉满,速来取经!
104 2
|
17天前
|
人工智能 前端开发 算法
大厂CIO独家分享:AI如何重塑开发者未来十年
在 AI 时代,若你还在紧盯代码量、执着于全栈工程师的招聘,或者仅凭技术贡献率来评判价值,执着于业务提效的比例而忽略产研价值,你很可能已经被所谓的“常识”困住了脚步。
999 84
大厂CIO独家分享:AI如何重塑开发者未来十年
|
17天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
1204 43
|
1月前
|
数据采集 前端开发 Java
职责分离的艺术:剖析主从Reactor模型如何实现极致的并发性能
Reactor单线程模型中,I/O操作由单一线程处理,但业务逻辑若同步执行会阻塞线程,影响性能。为此,引入工作者线程池模型,将非I/O任务剥离至独立线程池,提升响应速度。进一步发展为主从多线程模型:MainReactor处理连接建立,SubReactor多线程管理读写,并结合过滤器链实现数据预处理,异步编程提升并发效率。该架构职责分明、扩展性强,广泛应用于Netty等高性能框架,支持百万级并发。
168 11
|
1月前
|
JSON NoSQL Java
RedisTemplate和StringRedisTemplate的区别及个人见解
RedisTemplate和StringRedisTemplate的区别及个人见解
135 4
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
1157 62
|
2月前
|
人工智能 监控 算法
《动漫游戏角色动作优化:手绘帧与物理模拟的协同突破实践》
本文围绕2D横版动漫格斗游戏开发,聚焦角色动作“手绘帧与物理模拟融合”的核心技术实践。针对动作僵硬、同步精度低、形变夸张难落地、性能瓶颈、风格与物理冲突、场景交互脱节六大问题,分别提出骨骼控制器联动、关键帧锚定、手绘形变模板适配、分层物理计算、动漫风格物理参数库、动作与场景物体绑定六大解决方案。通过差异化参数设置、动态层级切换等细节优化,既保留动漫审美张力,又解决技术痛点,还延伸应用至攀爬、游泳场景,为动漫游戏动作开发提供实用技术参考,兼顾效果、性能与用户体验。
1149 4
|
1月前
|
缓存 Java 大数据
深入理解 Project Valhalla:值类型即将如何重塑 JVM 性能
Project Valhalla 是OpenJDK的关键项目,通过引入值类型、泛型特化等特性,显著提升JVM性能与内存效率,减少对象开销和GC压力,助力Java在高性能计算、大数据等领域实现接近底层语言的运行效率。
210 7
|
1月前
|
存储 监控 Java
Project Loom 实战:百万并发的虚拟线程不是梦
Project Loom 引入虚拟线程,以极低开销实现百万级并发。轻量、易用,显著提升I/O密集型应用性能,重塑Java高并发编程体验。
186 7
|
1月前
|
安全 Java API
并发的新范式:从 Executor 到 ScopedValue 的演进之路
Java并发从Thread到Executor,再到虚拟线程与ScopedValue,逐步简化并发编程。结构化并发提升代码可读性与安全性,ScopedValue替代ThreadLocal,更好支持高并发场景,标志着Java并发进入高效、安全新阶段。
159 4

热门文章

最新文章