金三银四面试题(十):Java基础问题(1)

这部分面试题多用于面试的热身运动,对很多找实习和准备毕业找工作的小伙伴至关重要。

访问修饰符

在 Java 中,提供了四种访问权限控制:
public
private
protected 以及什么都不写(default)

修饰符当前类同包子包其他包
public
protected
default
private

类的成员不写访问修饰时默认为default。默认对于同一个包中的其他类相当于公
开( public), 对于不是同一个包中的其他类相当于私有(private)。受保护
(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私
有。Java 中,外部类的修饰符只能是public 或默认,类的成员(包括内部类)的
修饰符可以是以上四种。

short s1 = 1; s1=s1+1 和 s1+=1

对于short s1 = 1; s1 = s1 + 1;由于1 是int 类型,因此s1+1 运算结果也是int
型, 需要强制转换类型才能赋值给short 型。而short s1 = 1; s1 += 1;可以正确
编译,因为s1+= 1;相当于s1 = (short)(s1 + 1);其中有隐含的强制类型转换。

int 和 Integer

Java 是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本
数据类型,但是为了能够将这些基本数据类型当成对象操作,Java 为每一个基本

数据类型都引入了对应的包装类型(wrapper class),int 的包装类就是Integer,
从Java 5 开始引入了自动装箱/拆箱机制,使得二者可以相互转换。
Java 为每个原始类型提供了包装类型:

  • 原始类型: boolean,char,byte,short,int,long,float,double
  • 包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,
    Double

这里还隐藏一道面试题

public class Main {public static void main(String[] args) {Integer f1 = 127, f2 = 127, f3 = 128, f4 = 128;System.out.println(f1 == f2);System.out.println(f3 == f4);}
}

打印输出居然是 true false

当我们给一个Integer 对象赋一个int 值的
时候,会调用Integer 类的静态方法valueOf,如果看看valueOf 的源代码就知
道发生了什么。

public static Integer valueOf(int i) {if (i >= IntegerCache.low && i <= IntegerCache.high)return IntegerCache.cache[i + (-IntegerCache.low)];return new Integer(i);
}

简单的说,如果整型字面量的值在-128 到127 之间,那么不会new 新的Integer
对象,而是直接引用常量池中的Integer 对象。

char变量存中文汉字

char 类型可以存储一个中文汉字,因为Java 中使用的编码是Unicode(不选择
任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法), 一
个char 类型占2 个字节( 16 比特), 所以放一个中文是没问题的。

如何实现对象克隆

有两种方式:

  • 实现Cloneable 接口并重写Object 类中的clone()方法;
  • 实现Serializable 接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆。

往期文章

金三银四面试题(一):JVM类加载与垃圾回收

金三银四面试题(二):数据库缓存的数据一致性

金三银四面试题(三):JVM内存模型

金三银四面试题(四):Full GC 和 Minor GC

金三银四面试题(五):JVM之TLAB

金三银四面试题(六):对象大小知多少

金三银四面试题(七):JVM常见面试题(1)

金三银四面试题(八):JVM常见面试题(2)

金三银四面试题(九):JVM常见面试题(3)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/787285.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SSM学习——Spring AOP与AspectJ

Spring AOP与AspectJ 概念 AOP的全称为Aspect-Oriented Programming&#xff0c;即面向切面编程。 想象你是汉堡店的厨师&#xff0c;每一份汉堡都有好几层&#xff0c;这每一层都可以视作一个切面。现在有一位顾客想要品尝到不同风味肉馅的汉堡&#xff0c;如果按照传统的方…

【java】关于String、StringBuffer和StringBuilder的那些事

在之前的文章中我们曾简单介绍过String这个引用类型变量&#xff0c;其实它还有许多特性&#xff0c;还有StringBuffer和StringBuilder这两个方法在字符串操作中也有非常重要的地位&#xff0c;接下来就由小编带大家梳理一下吧&#x1f44a; 目录 一、String 1、构造方法 2、…

独立开发者用微信小程序赚钱

微信小程序能实现赚钱&#xff0c;赚多赚少的问题。 本人就上线了一款小程序 &#xff0c;集结者assemble &#xff0c;现在上了广告了&#xff0c;收益不是很多&#xff0c;但胜在持续&#xff0c;税后收入&#xff0c;也还在持续推广中。 开发小程序赚大钱得找到变现模式&a…

0基础学习Mybatis系列数据库操作框架——目录结构

大纲 配置的修改代码的修改Main.java文件所在包下新增org.example.model包新增org.example.mapper包 单元测试 在《0基础学习Mybatis系列数据库操作框架——最小Demo》一文中&#xff0c;我们用最简单的方法组织出一个Mybatis应用项目。为了后续构建更符合日常开发环境的项目&a…

归并排序和分治

归并排序 归并排序是利用归并的思想实现的排序方法&#xff0c;该算法采用经典的分治策略&#xff08;分治法将问题分成一些小的问题然后递归求解&#xff0c;而治的阶段则将分的阶段得到的各答案"修补"在一起&#xff0c;即分而治之)。 分而治之 可以看到这种结构…

书生浦语全链条开源开放体系

开放了高质量语料数据 预训练 微调 评测 评测框架 部署 智能体 例如把openlab对于计算机视觉的封装

LeetCode-894. 所有可能的真二叉树【树 递归 记忆化搜索 动态规划 二叉树】

LeetCode-894. 所有可能的真二叉树【树 递归 记忆化搜索 动态规划 二叉树】 题目描述&#xff1a;解题思路一&#xff1a;分治&#xff0c;递归解题思路二&#xff1a;动态规划。关键思路是如果构造节点数目为 n 的真二叉树&#xff0c;此时可以从节点数目序列为 [(1,n−2),(3,…

Linux网络编程二(TCP图解三次握手及四次挥手、TCP滑动窗口、MSS、TCP状态转换、多进程/多线程服务器实现)

文章目录 1、TCP三次握手(1) 第一次握手(2) 第二次握手(3) 第三次握手 2、TCP四次挥手(1) 一次挥手(2) 二次挥手(3) 三次挥手(4) 四次挥手 3、TCP滑动窗口4、TCP状态时序图5、多进程并发服务器6、多线程并发服务器 1、TCP三次握手 TCP三次握手(TCP three-way handshake)是TCP协…

选择SD-WAN带宽时需要考虑什么?

部署SD-WAN之前&#xff0c;企业需要考虑关系到带宽大小的一系列因素&#xff0c;以确保其网络能够满足业务需求并保持高效运行。以下是一些在确定SD-WAN带宽时需要考虑的关键因素&#xff1a; 企业规模和用户数量&#xff1a; 企业规模和用户数量是决定带宽需求的重要因素之一…

Vue的前世今生与安装配置

vue的前世今生 Vue.js是一个流行的前端JavaScript框架&#xff0c;用于构建用户界面与单页应用程序&#xff08;SPA&#xff09;。它的诞生和发展可以概括为以下几个重要阶段&#xff1a; 初创阶段&#xff1a;Vue由中国人尤雨溪&#xff08;Evan You&#xff09;创建于2014年…

人工智能聊天机器人都有哪些?分享3款神奇的软件!

在数字化浪潮中&#xff0c;人工智能聊天机器人以其独特的魅力和实用性&#xff0c;逐渐成为我们生活中不可或缺的一部分。它们能够与用户进行智能互动&#xff0c;提供多元化的服务&#xff0c;让我们的生活更加便捷和高效。那么&#xff0c;市场上究竟有哪些领先的人工智能聊…

智能停车场物联网远程监控解决方案

智能停车场物联网远程监控解决方案 智能停车场物联网远程监控解决方案是一种集成了现代物联网技术、大数据分析以及云计算等先进技术手段&#xff0c;对停车场进行全面智能化管理的综合系统。它通过实时感知、精准采集和高效传输各类停车数据&#xff0c;实现对停车场运营状态…

springcloud基本使用二(远程调用)

创建两个springboot maven子项目 子项目名称分别为order-server和user-server 配置user-server子项目: 所需依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependenc…

站群CMS系统

站群CMS系统是一种用于批量建立和管理网站的内容管理系统&#xff0c;它能够帮助用户快速创建大量的网站&#xff0c;并实现对这些网站的集中管理。以下是三个在使用广泛的站群CMS系统&#xff0c;它们各具特色&#xff0c;可以满足不同用户的需求。 1. Z-BlogPHP Z-BlogPHP是…

4年经验来面试20K的测试岗,一问三不知,我还真不如去招应届生。

公司前段缺人&#xff0c;也面了不少测试&#xff0c;结果竟然没有一个合适的。一开始瞄准的就是中级的水准&#xff0c;也没指望来大牛&#xff0c;提供的薪资在10-20k&#xff0c;面试的人很多&#xff0c;但平均水平很让人失望。看简历很多都是4年工作经验&#xff0c;但面试…

vue使用i18n

&#x1f388;个人主页&#xff1a;靓仔很忙i &#x1f4bb;B 站主页&#xff1a;&#x1f449;B站&#x1f448; &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;前端 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#x…

力扣热题100_链表_141_环形链表

文章目录 题目链接解题思路解题代码 题目链接 141. 环形链表 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统…

2024年网络安全运营体系建设方案

以下是部分WORD内容&#xff0c;请您参阅。如需下载完整WORD文件&#xff0c;请前往星球获取&#xff1a; 网络安全运营监控工作整体构想 工作目标及原则 工作目标 为进一步落实强化公司网络安全保障&#xff0c;有效支撑公司数字化转型战略&#xff0c;建立健全公司网省两级协…

HCIP(DSVPN)实验

HCIP&#xff08;DSVPN&#xff09;实验 一&#xff0c;实验要求&#xff1a; 1、r5为isp&#xff0c;只能进行ip地址的配置&#xff0c;其所有ip地址均为共有ip地址 2、r1和r5使用ppp的PAP认证&#xff0c;r5为主认证方 r2和r5之间使用ppp的chap认证&#xff0c;r5为主认证方…

数学公式——蓝桥杯赛题

题目信息 解题代码 def isintersect(k1, b1, k2, b2):# 如果两条直线的斜率不相等&#xff0c;则它们必定相交if k1 ! k2:return Trueelse:return False# 定义一个函数getpoint&#xff0c;用于计算两条直线交点的坐标 def getpoint(k1, b1, k2, b2):# 使用直线交点公式计算交…