首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java基础面试题&知识点总结(上篇)

Java 中 == 和 equals 有什么区别? 在 Java 中,== 和 equals() 方法用于比较两个对象,但它们比较方式和使用场景有所不同。...==:对于基本数据类型,== 比较值是否相等;对于引用类型,== 比较两个引用是否指向同一对象,即它们地址是否相同。 equals():这是一个方法,不是操作符。...它行为可能会根据它在哪个中被调用而变化。在 Object 中,equals() 方法行为和 == 相同,比较引用是否指向同一对象。...解答:静态字段不能被序列化。这是因为静态字段不属于对象,而是属于。 在 Java 中,静态字段级别的,所有的对象实例共享同一个静态字段。...如果你使用 equals() 方法比较两个字符串,会得到 true,因为 equals() 方法比较字符串内容 问题 24. Java 中有哪些创建字符串方式?

27210

【面经】淘天Java一面面经(下)

五、JVM怎么创建一个对象说之前先捋清一个大致思路:创建对象过程大致分为 5 步:1、加载检查当我们在 Java 程序中 new 一个对象时候,在底层其实会有大概以下几步:首先它会检查这个指令是否能在常量池中能否定位到一个符号引用...它无非就是指在 Java 堆中内存并非规整(使用内存和未使用过内存没有划分开来),比较杂乱无章,此时虚拟机就得需要列表记录内存中哪些已经使用哪些没有使用,然后在给对象分配内存空间时候在该列表中找一个足够内存分给对象实例...,例如这些对象哪些实例、以及如何才能找到元信息、对象哈希码(实际对象哈希码会延期到真正调用 Object::hashCode()方法时才计算)、对象 GC 分代年龄等信息,这些信息都会保存在对象头中...生成这4条指令最常见Java代码场景:使用new关键字实例化对象时候、读取或配置一个静态字段(被final修饰、已在编译期把结果放入常量池静态字段除外)时候,以及调用一个静态方法时候...八、线程状态,一个线程包含哪些信息线程程序执行单元,它包含了一些状态信息,线程状态线程在执行过程中不同阶段表现。

27930
您找到你想要的搜索结果了吗?
是的
没有找到

SAP用户权限控制设置及开发

,可以在不同权限角色中同时调用同一权限对象,并为所生成对象分配定义不同权限值。...点击“保存”后,SAP会将权限对象以及所维护权限值以树状结构分层列出,最顶级为对象对象同类属性权限对象集合,一个对象可以包含多个权限对象。...对象及权限对象维护SU21 对象多个权限对象集合,而一个权限对象又可以分配多个权限字段对象和权限对象都是通过事务码SU21来维护。...这个权限对象叫 “S_TCODE”,该权限对象权限字段叫“TCD”,该字段允许值(Field Value)存放就是事务代码;有一种特殊权限字段用来表示可以针对该权限对象哪些操作,允许创建、修改...,如果需要多组,则可以通过以下方式来让同一权限对象有多组权限数据: 上面有两组权限数据,当有多组数据时,如果某个权限在两组都有,最终权限叠加 S_RS_COMP权限对象: 每个权限对象每个权限字段业务含义不一样

3.7K33

JVM | 基于openJDK源码深度拆解Java虚拟机

它包含了哪些信息?除了对象头,对象内存结构中还隐藏了哪些内容?这些内容又如何影响对象访问和操作呢?我们来深入分析下。...数组长度(如果数组对象):如果对象是数组,则此字段存储数组长度。实例数据字段对象所有字段值都存储在这里,包括原始类型字段和引用类型字段。...具体作用:垃圾回收系统定期检查堆中对象,确定哪些对象不再被引用并可以安全回收。...我在 基于加载器完全实践 中提到命名空间概念,通过一个例子告诉你,两个加载器加载同名对象obj1不等于obj2。其底层两个加载器拥有不同加载数据,或者说是不同元空间。..._init_thread字段可以帮助检测这种递归初始化,确保不会尝试重新初始化同一

70581

equals和hashCode你学会了么?

非空性 非空性要求所有的对象不等于null 如何写好equals 如果比较操作昂贵,可以优先使用==操作符检查是否同一对象引用 使用instanceOf操作符检查参数是否为正确类型(正确类型通常是指...equals方法所在那个,但有时也是该类实现某个接口,比如Set、List等集合) 把参数转换为正确类型 对于该类中每个关键字段检查参数中字段是否与该对象中对应字段相匹配,对于既不是float...hashCode方法需要遵循以下规定: 在程序执行期间,只要对象equals方法比较操作用到信息没有被修改,那么对于同一对象调用多次hashCode方法必须返回同一个整数。...如果两个对象根据equals方法比较结果相等,那么调用任意一个对象hashCode方法都必须产生相同结果 如果两个对象根据equals方法比较结果不想等,那么调用这两个对象hashCode方法可以产生相同或者不同整数结果...方法 如果一个不可变并且计算散列码成本比较大,可以考虑把散列码缓存在对象内部,而不是每次请求时都重新计算(这一点在Kafka中也有所应用)。

71020

SQL命令 UPDATE(二)

IRIS打开这个对象复制它内容,更新stream字段。 例如: SET oref=##class(%Stream.GlobalCharacter)....FROM Retirees AS Rt WHERE Emp.EmpId = Rt.EmpId 如果UPDATE TABLE-REF和FROM子句引用同一个表,则这些引用可能引用同一个表,也可能引用该表两个实例联接...这取决于如何使用表别名: 如果两个表引用都没有别名,则两者都引用同一个表: UPDATE table1 value-assignment FROM table1,table2 /* join of.../* join of 2 tables */ 如果两个表引用都有别名,并且别名不同,则 IRIS将执行表两个实例联接: UPDATE table1 AS x value-assignment FROM...不同之处在于,SQLStats收集代码仅为该特定语句生成。 正在编译例程/所有其他SQL语句将生成代码,就像PTools被关闭一样。

1.8K30

JAVA三年面试总结,金九银十,你准备好了吗?

垃圾回收机制: 一般情况下,一个对象创建后存在堆内存中年轻代伊甸区,年轻代分为伊甸区和两个幸存区,对象经过回收从伊甸区移动到幸存区,再经历N次回收后,最终存活对象移动到老年代。...1.引用计数算法:对象被引用个数为0会被回收 2.可达性算法:与引用链无关联对象会被回收 排序方法有哪些?...首先MySQL会去检查这条语句有没有缓存数据,有就结束了,没有开始检查语法,然后选择用哪些个索引,最后使用选择搜索引擎( InnoDB 还是 MyISAM)去执行。 expain怎么用?...数据库多大时候需要分表? 分别为纵向分表和横向分表 纵向分表:一张表根据字段活跃度不同为多张表,经常查询放在一张表这样。...消费者也是通过一个手动应答方式告诉RabbitMQ是否真正消费。消息重复:对消费消息方法加锁,对消息唯一性做判断。 分布式锁实现方式有哪些

87930

JVM精通面试系列 | 掘金技术征文

加载器命名空间有什么作用 在 Java 虚拟机中,唯一性加载器实例以及全名一同确定。即便是同一串字节流,经由不同加载器加载,也会得到两个不同。...在大型应用中,我们往往借助这一特性,来运行同一不同版本。 什么链接 链接,指将创建成合并至 Java 虚拟机中,使之能够执行过程。链接还分验证、准备和解析三个阶段。...如何解决 假设两个线程分别访问同一对象不同 volatile 字段,逻辑上它们并没有共享内容,因此不需要同步。...然而,如果这两个字段恰好在同一个缓存行中,那么对这些字段写操作会导致缓存行写回,也就造成了实质上共享。...如何查看跟踪对象字段内存布局情况 使用 JOL 工具添加虚拟机选项 -XX:-RestrictContended。

78920

编写代码良好习惯——C#

空字符串;   九、相等判断多种表示关系   1、ReferenceEquals()判断引用相等,需要两个引用同一对象时方可返回true;   2、静态Equals()方法先进性引用判断再进行值类型判断...  十二、默认字段初始化优于赋值语句   1、字段生命默认会将值类型初始化为0,引用类型初始化为null;   2、对同一对象进行多次初始化会降低代码执行效率;   3、将字段初始化放到构造器中有利于进行异常处理...四十、根据需要选用恰当集合   1、数组有两个比较明显缺陷:不能动态调整大小;调整大小非常耗时;   2、ArrayList混合了一维数组和链表特征,Queue和Stack建立在Array基础上特殊数组...四十四、为应用程序创建特定异常   1、需要不同异常唯一原因让用户在编写catch处理器时能够方便地对不同错误采取不同做法;   2、可能有不同修复行为时我们才应该创建多种不同异常...blittable类型可以有效地在托管和非托管环境中来回复制,而不受对象内部结构影响;   3、使用In/Out特性来确保最贴切不必要多次复制,通过声明数据如何被列举来提高性能;   4、使用COM

70731

Spring面试题(2020最新版)

在 Spring中如何注入一个java集合? 什么bean装配? 什么bean自动装配? 解释不同方式自动装配,spring 自动装配 bean 有哪些方式?...对象创建并不是一件简单事,在对象关系比较复杂时,如果依赖关系需要程序猿来维护的话,那是相当头疼 解耦,由容器去维护具体对象 托管了产生过程,比如我们需要在产生过程中做一些处理,最直接例子就是代理...Spring配置文件包含了哪些信息 Spring配置文件个XML 文件,这个文件包含了信息,描述了如何配置它们,以及如何相互调用。...CGLIB(Code Generation Library),一个代码生成库,可以在运行时动态生成指定一个子类对象覆盖其中特定方法添加增强代码,从而实现AOP。...连接点在应用执行过程中能够插入切面的一个点。这个点可以是调用方法时、抛出异常时、甚至修改一个字段时。切面代码可以利用这些点插入到应用正常流程之中,添加新行为。

1.6K11

100 个常见 PHP 面试题

13) PHP中如何比较两个对象? 在PHP中,我们可以使用运算符==来比较两个对象是否为同一实例,并且拥有相同属性和属性值。...还可以是使用运算符===来比较两个对象是否引用了同一同一实例。 14) PHP和HTML如何交互? 可以通过PHP脚本生成HTML,还可以将信息从HTML传递到PHP。...想象一下,当用户单击「提交到帖子」表单时,表单上有一个名为「var」表单字段,然后您可以像这样访问值: 1 $_POST["var"]; 36) 如何检查给定变量值为数字?...== 表示 不全等 ( 如果a 不完全等于 b则为TRUE). 83) 如何确定 PHP 变量是否某个实例化对象?...因此,您可以在同一主机上运行两个不同Memcache进程,但它们完全独立。除非您已经对数据进行了分区,否则有必要知道从哪个实例获取数据或将数据放入哪个实例。

21K50

谈MDM主数据管理系统设计和实现关键点

其次多表间数据稽核,我们谈到过主数据管理平台最终是为了解决多业务系统主数据不一致问题,但是即使上了主数据平台也还需要对多业务系统中同一数据对象进行数据内容稽核,实时发现数据不一致情况并进行预警...主数据平台趋势一定是从技术平台转到业务平台 举一个简单例子来说,如果你一直做汽车制造行业MDM主数据系统,那么实施多了后,你自然就很清楚对于汽车制造行业涉及到哪些主数据,每一个主数据对象究竟应该包括哪些通用基础字段和扩展字段...这个分组一个方面我们进行维护和管理,一个后续在界面建模时候直接将不同分组属性映射到不同tab页签上面。...同时我们看到还有一个核心工作,即数据本身一致性检查和数据稽核。 比如从两个系统都采集到供应商数据,如何去匹配和检查两个系统供应商数据差异和一致性,这就需要有独立数据稽核功能。...数据稽核首先对数据对象有唯一匹配关键字,其次定义需要进行数据稽核字段。对于A和B两个数据表而言,常见数据稽核和比对结果主要包括如下几个方面。 A和B两个哪些数据完全相同

3.5K20

2024年 Java 面试八股文 5万字(持续更新ing)

多态:灵活行为调度多态OOP第三个核心概念,它允许不同对象同一消息做出响应,但具体行为会根据对象实际类型而有所不同如何实现多态?...在Java中,泛化关系和实现关系面向对象编程两个基本概念,它们描述了与接口之间不同连接方式。...重载:发生在同一中,方法名相同,但参数列表不同,返回类型可以不同。当然可以。重写(Override)和重载(Overload)Java中两个非常重要概念,它们在不同场景下有不同应用。...本文将深入探讨equals()与==区别、联系以及在不同场景下应用。==运算符:引用比较==运算符用于比较两个对象引用是否相同,即它们是否指向内存中同一对象。...检查**null**:在比较检查对象是否为null。实例of:确保对象是正确类型。使用**instanceof**:在进行类型转换前,使用instanceof检查对象实际类型。

41510

Java实战入门:深入解析Java中hashCode()方法

根据Java规范: 如果两个对象根据equals(Object)方法比较相等,那么它们hashCode()方法也必须返回相同整数结果。...如果两个对象根据equals(Object)方法比较不相等,它们hashCode()方法不一定返回不同整数结果。但是,不同对象哈希码值相同会降低哈希表性能。...三、实现hashCode()方法最佳实践 在实现hashCode()方法时,需要遵循以下几个原则: 一致性:对于同一对象,多次调用hashCode()方法应返回相同整数值,前提对象状态未被修改情况下...使用质数31一个常见惯例,它能够有效地分布哈希码。...() { return Objects.hash(name, age); } 六、常见错误和注意事项 在实现hashCode()方法时,常见错误包括: 未考虑所有重要字段:未使用对象所有重要字段来计算哈希码可能导致不同对象产生相同哈希码

14610

干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

违反语义规则包括2种情况:(a)一种Java库内置语义检查。(b)另一种情况就是Java允许程序员扩展这种语义检查,程序员可以创建自己异常,自由选择在何时用throw关键字引发异常。...2.复合数据类型() 当他们用(==)进行比较时候,比较他们在内存中存放地址,所以,除非同一个new出来对象,他们比较结果为true,否则比较后结果为false。...也就是说对于两个对象,如果调用equals方法得到结果为true,则两个对象hashcode值必定相等;如果equals方法得到结果为false,则两个对象hashcode值不一定不同;如果两个对象...1、在项目中是否采用分层结构,怎样划分,各层之间采用了哪些相关技术? 对哪些设计模式比较熟悉?%2、什么低耦合和高聚合?封装原则又是什么意思?%3、A依赖B,会产生什么问题?...3、 数据库优化,使用过哪些优化工具:常用SQLYOG、基准测试,expain、status等 具体问题: 如何找到定位慢SQL?

1.3K30

Java 中文官方教程 2022 版(四)

Box内部类是什么? 从任何中可以使用Box哪些嵌套如何创建BoxFiller实例? 练习 获取文件Class1.java。编译运行Class1。...两个工业团体都不需要知道*对方软件如何实现。事实上,每个团体都认为自己软件高度专有的,保留随时修改权利,只要它继续遵守已发布接口。...如果你坚持在各种类中实现Relatable,那么从任何这些实例化对象都可以使用findLargest()方法进行比较——前提两个对象属于同一。...此外,您可以实例化一个来创建一个对象,而接口不能这样做。正如在什么对象?一节中所解释对象将其状态存储在字段中,这些字段中定义。...当您通过实例化该类创建对象时,该对象将从所有超继承字段。如果不同方法或构造函数实例化相同字段会怎样?哪个方法或构造函数将优先?由于接口不包含字段,您不必担心由于状态多重继承而导致问题。

14300

一篇文章带你对Java对象创建过程解密

加载检查 当我们在Java程序中new一个对象时候,在底层其实会有大概以下几步: 首先它会检查这个指令是否能在常量池中能否定位到一个符号引用 接着会检查这个符号引用代表是否已经被加载、解析...如果没有会进行一个**加载** 检查加载后就是分配内存了。(这里有人可能会问那该对象具体内存是否确认呢?...其实加载完成后可以确认它所需要内存了) Step2:分配内存 现在我们已经知道了对象所占内存,那么虚拟机如何对象在Java堆中分配内存呢?...它无非就是指在Java堆中内存并非规整(使用内存和未使用过内存没有划分开来),比较杂乱无章,此时虚拟机就得需要列表记录内存中哪些已经使用哪些没有使用,然后在给对象分配内存空间时候在该列表中找一个足够内存分给对象实例...,例如这些对象哪些实例、以及如何才能找到元信息、对象哈希码(实际对象哈希码会延期到真正调用Object::hashCode()方法时才计算)、对象GC分代年龄等信息,这些信息都会保存在对象头中

14310

日常理解

检查是否加载(从下往上),再加载(从上往下) } java加载器双亲委派模型: {   双亲委派模型一种组织加载器之间关系一种规范,他工作原理:如果一个加载器收到了加载请求,它不会自己去尝试加载这个...BTREE在MyISAM里形式和Innodb稍有不同 在 Innodb里,有两种形态:一primary key形态,其leaf node里存放数据,而且不仅存放了索引键数据,还存放了其他字段数据...aop是什么,实现动态代理有哪些方式,代理和原来之间是什么关系 21、 什么悲观锁和乐观锁,分别如何实现 22、 java有哪几种自带线程池,说说它们应用场景 java动态代理 { JDK...cglib针对来实现代理,他原理对指定目标生成一个子类,覆盖其中方法实现增强,但因为采用继承,所以不能对final修饰进行代理。...26、 jvm有哪些自带命令及如何使用 27、 说说jvm内存模式及如何调优 28、 如何对tomcat调优 29、 用户登录有哪些保障安全手段 30、 如何减库存,如何防止超买超卖 31、 TCP

43620
领券