首页 > 编程语言 >JavaSE面试题【长期更新】

JavaSE面试题【长期更新】

时间:2023-05-14 15:22:08浏览次数:42  
标签:面试题 对象 重写 equals 更新 哈希 拷贝 方法 JavaSE

面试题

  • 1包装类型的缓存机制了解过么

    包装类型的缓存机制了解过么
    /*
    Byte Short Integer Long 底层维护一个[-128,127]的缓存数组来提升性能
    Character 底层维护一个[0,127]的数组
    Boolean包装类型直接返回true或者false
    */
    

  • 2自动装箱和拆箱 底层原理

    答案
    /*
    装箱 将基本类型转换为相应的包装类型实际上是调用了包装类型的构造方法进行初始化 
    拆箱 将包装类型转换为基本数据类型 编译器在编译阶段自动拆箱操作底层会调用valueOf()方法
    */
    

  • 3值传递和址传递的区别

    答案
    /*
     参数传递存在于Java方法传参的时候 其实不论值传递还是引用传递本质上都是一份原先数据的拷贝 
     基本类型拷贝值 引用类型拷贝的是址() 也即操作值不影响实参 操作址影响原参
    */
    

  • 4方法重载和方法重写

    答案
    /*
    方法重写就是对父类的方法进行覆盖操作 需要保证(返回值 方法名 参数列表)完全一致 并保证访问符范围只能扩大或一致
    方法重载是指允许本类存在多个方法名相同但参数列表不同的方法
    */
    

  • 5为什么重写equals()还要重写hashcode()

    答案
    /*  
    Object类中equals()默认比较的是引用地址 如果你需要对内容相等性进行判断 需要进行重写equals()操作
    hashCode()方法用于返回一个对象的哈希码值(整数),该值通常用于哈希表中的键值。
    如果您计划使用某个类型的对象作为哈希表的键,则必须重写hashCode()方法并提供自己的实现
    如果您仅重写了equals()方法而不重写hashCode()方法,则可能会导致equals相等的对象具有不同的哈希码,
    这可能会影响哈希表的性能,也可能会导致无法正确地检索哈希表中的对象
    */
    

  • 6 深拷贝和浅拷贝的区别

    答案
    /*
    深拷贝不仅拷贝对象还拷贝对象中引用对象 两个引用对象完全隔离 各自操作互不影响
    浅拷贝两个引用对象虽然地址不同 但内部的引用类型地址却相同
    */
    

  • 7深拷贝有哪些场景 如何实现深拷贝

    答案
    /*
    需要克隆的类都需要实现空接口Cloneble 并且重写Object类中protected修饰的clone()方法
    场景:序列化与反序列化传递对象 避免数据共享问题
    */
    

  • ``

    答案
    /*
    
    */
    

标签:面试题,对象,重写,equals,更新,哈希,拷贝,方法,JavaSE
From: https://www.cnblogs.com/odfive/p/17399373.html

相关文章

  • 正余弦优化算法(SCA)文章复现(非线权重改进位置更新+Levy飞行扰动策略+ABC算法思想)—
    正余弦优化算法(SCA)文章复现(非线权重改进位置更新+Levy飞行扰动策略+ABC算法思想)——SCASL复现内容包括:文章改进SCA算法实现、23个基准测试函数、文中相关因子分析、与SCA对比等。代码基本上每一步都有注释,非常易懂,代码质量极高,便于新手学习和理解。ID:23596702235796......
  • 缎蓝园丁鸟优化算法(SBO)文章复现(非均匀变异策略+非线性权重改进位置更新+互利因子改进
    缎蓝园丁鸟优化算法(SBO)文章复现(非均匀变异策略+非线性权重改进位置更新+互利因子改进位置更新)——ISBO。复现内容包括:改进算法实现、23个基准测试函数、文中相关因子分析、文中相关图分析、与SBO对比等。代码基本上每一步都有注释,非常易懂,代码质量极高,便于新手学习和理解......
  • 黏菌优化算法(SMA)文章复现(改进位置更新策略+自适应决策策略+反向学习更新策略)——AOSMA
    黏菌优化算法(SMA)文章复现(改进位置更新策略+自适应决策策略+反向学习更新策略)——AOSMA。复现内容包括:改进算法实现、23个基准测试函数、多次实验运行并计算均值标准差等统计量、与SMA对比等。代码基本上每一步都有注释,非常易懂,代码质量极高,便于新手学习和理解。ID:24596......
  • #yyds干货盘点# LeetCode面试题:乘积最大子数组
    1.简述:给你一个整数数组nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。测试用例的答案是一个 32-位整数。子数组是数组的连续子序列。 示例1:输入:nums=[2,3,-2,4]输出:6解释: 子数组[2,3]有最大乘积6。示例......
  • git项目换行符LF与CRLF不同导致的更新问题
    转载自jiayaoO3O'sBlog。遇到的问题在windows中gitclone一个代码仓库,拷贝到ubuntu环境下,出现了所有文件都被git记录已更改的问题,但肉眼看不出来文件不同。原因是windows中默认换行用的CRLF(回车+换行),而linux环境下默认用的LF(换行),于是所有文件都被标注被更改。解决方法git有......
  • 前端项目更新的缓存问题
    问题描述:微信公众号前端项目更新总会遇到不会加载最新代码问题,需要进行多次刷新或手动清空微信缓存。问题分析:1、前端项目本身是否存在缓存配置;2、nginx是否存在缓存配置。解决方案:在前端项目配置做过动态hash处理的前提下,更新后构建输出的cssjs图片等文件会被重新请......
  • 必知必会的JavaScript前端面试题篇(二),不看后悔!
    必知必会的JavaScript前端面试题篇(二),不看后悔!1.JavaScript有哪些数据类型以及它们的区别?js一共有八种数据类型,分别是:Undefined,Null,Boolean,Number,String,Object,Symbol,BigInt其中Symbol,BigInt是ES6中新增的数据类型:Symbol:代表唯一的数据类型,主要为了解......
  • 详解缓存更新策略及如何选择
    概述缓存更新是指在数据发生变化时,保持缓存和数据库的数据一致性的问题。如果缓存和数据库的数据不一致,会导致用户看到过期或者错误的数据,影响业务逻辑和用户体验。为了实现缓存更新,我们可以采用以下四种方式其中的一种:CacheAside策略:应用程序直接与数据库和缓存交互,并负责......
  • 高频Jmeter软件测试面试题
    近期,有很多粉丝在催更关于Jmeter的面试题,索性抽空整理了一波,以下是一些高频Jmeter面试题,拿走不谢~一、JMeter的工作原理JMeter就像一群将请求发送到目标服务器的用户一样,它收集来自目标服务器的响应以及其他统计数据,这些统计数据通过图形或表格显示应用程序或服务器的性能。二、......
  • XMind 2022更新,最新修复版XMind 2022下载
    XMindforMac是一款专业的思维导图软件,可以帮助用户更好地组织思维、管理信息、规划项目和解决问题。它提供了丰富的模板和工具,使用户能够创建美观、清晰、易于理解的思维导图。XMindforMac支持多种导图类型,包括思维导图、鱼骨图、组织结构图、流程图、时序图、脑图等,可以满足......