5 java Exception相关 | abstract final | == equals

Redis妙用--存储用户token ​ 在设计类似电商的系统时,一个常见的需求是每个页面都需要携带登录用户信息。常见的解决方法有两种:使用cookie保存、使用JWT保存。但如果系统中使用了Redis缓存,那么还可以有第三种解决方案–将用户token缓存在Redis中。 一、登陆时生成一个token存入Redis //生成一个token对象,保存在redis中 redisTemplate.opsForHash().put("token","user",user); 二、在每个页面生成时,提供token //以JSON字符串形式返回to. 阅读详情

public class ExceptionTest{
	public void doSomething() throws ArithmeticException{
		System.out.println("do something");
	 }
	public static void main(String[] arge){
		ExceptionTest test = new ExceptionTest();
		test.doSomething();
	 }
 }

是否可以编译通过?

可以编译通过,因为ArithmeticExcetpion运行时异常,所以不用显示的try catch。

java 中异常分为两类:

1,checked exception

(1)继续抛出,消极做法,直到抛到JVM

(2)try...catch

2,unchecked exception (runtime exception)

------------------------------------------------------------------

一个类的声明可否既是abstract的有是final的?为什么?

不能。

abstract要求必须被继承,才可以实例化,而final则要求不能被继承,互相矛盾,所以一个类的声明不能同时用abstract和final两个修饰符。

一个抽象类里不一定包含抽象方法。

但是一个类里有抽象方法,则必须是抽象类。


为什么对于一个public类型的终态的成员变量,一般都要声明为static的?

public static final String s = "abc";

节省内存。

-------------------------------------------------------------------

String str = new String("abc");
String str2 = new String("abc");

System.out.println(str == str2);
System.out.println(str.equals(str2));
输出:

false

true

----

Object object = new Object();
Object object2 = new Object();

System.out.println(object == object2);
System.out.println(object.equals(object2));
输出:

false

false

由于Object类里 equals 方法为 this == ojb 所以返回false

---------------

class Person{
	String name;
	public Person(String name){
		this.name = name;
	 }
 }

Person p1 = new Person("zhangsan");
person p2 = new Person("zhangsan");
System.out.println(p1 == p2);
System.out.println(p1.equals(p2));

输出:

false

false




















Java面试核心知识点与八股文全解析 面向对象编程中的继承与接口实现是Java语言的基础概念,它们通过不同的代码复用机制实现多态特性。继承建立is-a关系实现代码复用,接口则定义行为契约支持多实现。理解这些核心机制对于掌握Java编程至关重要,特别是在面试场景中,这些知识点常被作为考察基本功的八股文问题。从JVM内存模型到多线程并发控制,从集合框架到异常处理体系,系统掌握这些基础原理能帮助开发者编写更健壮的代码,也是应对技术面试的关键。本文整理的最新Java面试知识点覆盖了从基础语法到高级特性的完整知识体系,包括热门的Java 8新特性如Lam 阅读详情

相关推荐

Java枚举类深度解析:原理、应用与性能优化

枚举类(Enum)是Java中表示固定常量集合的特殊类结构,通过继承java.lang.Enum实现类型安全。其核心原理是编译时生成的final类,每个枚举值都是静态实例。枚举在状态机、错误码系统等场景具有显著优势,能提升代码可读性和可维护性。现代开发中,枚举与策略模式、单例模式的结合尤为常见,同时需要注意values()方法性能问题和序列化兼容性。在Spring框架中,枚举可实现自动参数绑定;在领域驱动设计中,枚举可作为值对象封装业务逻辑。合理使用枚举能显著提升工程实践质量,但需避免在常量数量过大时使用。

weixin_34221112的博客 418

JAVA基础中的异常Exception

JAVA基础中的异常Exceptionjava中的异常ExceptionJava中的异常分为两大类:运行时异常异常处理的一般结构 java中的异常Exception java.lang.Exception类是Java中所有异常的直接或间接父类。即Exception类是所有异常的根类。 比如程序: public class ExceptionTest { public static vo...

此处有结界 672

Java多重继承替代方案:接口、Lambda与AOP实战指南

多重继承是面向对象编程中的经典概念,指一个类同时继承多个父类的属性和行为。其核心原理在于代码复用与行为组合,但易引发菱形继承、方法冲突与维护复杂等固有缺陷。Java通过显式拒绝语法层面的多重继承,转而提供更安全可控的替代路径:基于契约的接口多实现、函数式编程驱动的Lambda能力装配、运行时织入的AOP横切增强,以及语言级约束的record与sealed class。这些机制共同构成一套分层演进的能力组合体系,兼顾类型安全、可测试性与业务表达力。本文聚焦真实支付系统场景,详解如何用Java原生特性与Spri

weixin_30321449的博客 412

JAVA异常 ,相等, equals()方法默认比较内容详解

Throwable 异常:可以补救,可恢复的错误 Exception类 错误:不可恢复的问题 Error类 常见的异常 AWTException swing组件的异常 ClassNotFoundException 找不到类的异常 IOException IO流出现异常 NoSuchFieldException 没有匹配的属性 NoSuchMethodException ...

代码写到地老天荒 1440

Java基础深度解析:从内存模型到并发编程的实战指南

面向对象编程是现代软件开发的基石,其核心思想在于通过抽象、封装、继承和多态来构建复杂系统。在Java中,这一思想通过类、接口和对象机制得以实现,其底层依赖于JVM内存模型来管理对象生命周期和线程交互。理解这些原理对于编写高性能、可维护的代码至关重要,尤其是在高并发场景下,需要掌握synchronized锁升级、volatile可见性等并发控制技术。在实际开发中,集合框架如HashMap的扩容机制、ArrayList的遍历删除陷阱等高频问题,直接关系到应用性能与稳定性。本文聚焦Java核心基础,通过剖析内存管

weixin_34293246的博客 423

Java 观察者模式 3 种实现对比:原生接口 vs 自定义 vs Spring Event

本文深入对比Java中观察者模式的3种实现方式:原生JDK接口、自定义实现和Spring Event。通过实际代码示例和性能分析,探讨了各方案在电商订单通知、配置同步等场景下的优缺点,并提供了企业级应用的选型建议。特别针对设计模式中的观察者模式(Observer)进行了工程实践层面的详细解析。

long_yu2的专栏 735

Java 基础

只需要继承。

Co_Hui的博客 185

继承多态重写重载访问修饰符泛型、final/static、super/this、equals/==、构造器是否运行、深浅零拷贝、接口抽象类、record、函数式Bean/接口、斐波那契数列、冒泡、二分

多态的必要条件:继承,重写,父类引用指向子类对象。当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误(因为是父类引用指向子类对象,通过父类引用来调用方法);如果有,再去调用子类重写的同名方法;子类没有重写则调用父类自己的方法。

の博客 306

java学习日常

java学习日常,学习java点滴

song854601134的博客 2634

JAVA常见知识

@[TOP] 一,关于main方法的问题 1,main方法传参形式? String 数组,且不能改变 2,mian方法为啥是静态的? main方法一定要是静态的,如果不是jvm就要先实例化它的类。如果是非静态的,就只能作为普通方法使用,虽然可以编译成功,但是运行会失败。 3,main方法可以重载吗? 可以, 4,main方法可以被覆盖吗? 因为其实静态的,所以在jvm编译时静态方法会编译在一起,为...

小爷欣欣 440

JAVA的22种设计模式

java设计模式集大成--易理解!慢慢积累追加笔记。

の博客 1922

Java面试题库升级:现代技术栈与核心机制深度解析

Java作为企业级开发的主流语言,其技术生态持续演进,从JDK新特性到Spring生态的更新都对开发者提出了更高要求。理解JVM工作原理、并发编程模型等底层机制是Java工程师的核心竞争力,尤其在微服务与云原生架构盛行的当下。本文聚焦现代Java技术栈的面试要点,深入剖析类加载机制、对象语义、IO模型等基础原理,结合HashMap优化、字符串性能陷阱等实战案例,帮助开发者构建系统化的知识体系。针对当前面试题库版本滞后、深度不足的痛点,特别强调JDK8/11/17特性差异、响应式编程等高频考点,为应对大厂技术

weixin_34353714的博客 422

ubuntu打实时内核补丁教程以及安装后显卡驱动问题解决方法

在ubuntu20.04上安装成功,亲测有效 目录ubuntu打实时内核补丁教程1、下载实时内核2、解压和打补丁(patch)3、安装依赖和编译安装4、修改一些文件,便于之后切换内核5、重启电脑实时内核版本下安装nvidia显卡驱动的问题1、先切换回之前的内核(非实时)版本2、重装之前内核(非实时)版本下的显卡驱动3、切换回实时内核(按照上面的步骤)4、在实时内核下安装显卡驱动 ubuntu打实时内核补丁教程 安装目标系统:ubuntu20.04 电脑配置:i9,2080ti 1、下载实时内核 打开终端,输

weixin_39275295的博客 7995

Java基础知识点全面总结

本文系统梳理了Java开发中的核心知识点,包括面向对象特性、设计原则、数据类型、并发编程、集合框架、反射机制、动态代理等关键内容。适合Java初学者系统学习,也适合作为中级开发者的知识复习手册。

L793404933的博客 232

(南京观海微电子)——TCON介绍

TCON又称:逻辑板,控制板,在液晶电视里的作用和CRT中的视放板相当,但有本质的区别,逻辑板不是一个纯粹的信号放大器,它输入是LVDS格式信号,而不是RGB。逻辑板的作用是把数字板送来的LVDS或TTL图像数据信号,时钟信号进行处理移位寄存器存储将图像数据信号,时钟信号转换成屏能够识别的控制信号行列信号RSDS控制屏内的MOSFET管工作而控制液晶分子的扭曲度。目前国内主要的TCON板生产商有视显光电。传统TCON的布局主要分为以下两种:X+C分离式和X+C一体式。

m0_75095200的博客 3833

适合初学者的ROS机器人教程(1): Ubuntu下ROS创建自己的包和使用github下载的包

ROS如何创建自己的包 1. 首先创建catkin工作空间(如果你以及有了请忽略) $ mkdir catkin_ws # 创建一个文件夹里面计划放我们的项目,ws是workspace的缩写 $ cd catkin_ws # 将当前工作文件夹切换到catkin_ws这个文件夹 ~/catkin_ws$ catkin_make # 执行catkin_make创建一ROS项目 此时你的catkin_...

@司南牧|知乎|博客|易懂教程|李韬 3244

Java基础面试题

装箱:基本类型 → 包装类(如int→Integer),编译期调用。拆箱:包装类 → 基本类型(如Integer→int),编译期调用xxxValue()。自定义异常只需继承Exception(受检异常)或(非受检异常),并提供构造方法(通常提供无参构造和带消息的构造)。// 自定义受检异常// 自定义非受检异常什么时候需要自定义异常?​ 当标准异常(如)无法清晰表达业务错误含义时泛型是 JDK 5 引入的类型参数化机制,允许在定义类、接口、方法时使用类型参数(如<T>

m0_47691180的博客 268

实例讲解Simulink CAN通讯丢失故障判定模型搭建及仿真测试验证方法

本文通过ABS通讯丢失故障触发、判定条件Simulink模型的搭建和仿真的讲解,介绍了一种控制器CAN通讯丢失故障判定的方法和建模方法,希望能给相关技术人员带来一定参考和帮助。

qq_43011586的博客 3684

Java基础知识

泛型(Generics)允许在定义类、接口、方法时使用类型参数,提供编译时类型安全检查,消除强制类型转换。泛型只在编译阶段有效,编译后会进行类型擦除。反射(Reflection)允许程序在运行时获取类的完整信息,并动态操作类的属性和方法。核心类是Class,代表一个类的字节码对象。序列化是将对象转换为字节序列的过程,反序列化则是将字节序列恢复为对象。主要用于对象持久化存储和网络传输。可以通过在类中定义和readObject。

qq_45921760的博客 370

【cocos2dx面试题干货】--2021年最新cocos2dx面试干货(引擎篇)

【cocos2dx面试题干货】--2020年度最新cocos2dx面试干货(引擎篇 ) 大家好,我是Lampard~~ 经过春招一番艰苦奋战之后,我终于是进入了心仪的公司。 今天给大家分享一下我在之前精心准备的一套面试知识。 由于我面试的岗位是cocos2dx的开发岗,今天就先给大家分享一下引擎方面的知识。 本人亲测80%的引擎相关题目都...

Lampard的博客 1万+

【Dify】PPT生成工具应用

本文介绍了一款自动化PPT生成工具,通过智能接口将文本内容高效转化为结构化演示文档。该系统采用三阶段工作流(内容输入、HTTP请求上传、文件输出),无需复杂操作即可生成专业PPT。工具适用于教学课件、产品发布、企业培训等场景,能显著提升内容表达效率,特别适合初学者快速制作演示材料。文章详细说明了核心节点、应用场景及开发资源,为文本到PPT的自动化转换提供了实用解决方案。

Mr数据杨 1216

JAVA面向对象程序设计

指的是同一方法调用,由于对象不同可能会有不同的行为。前提必须存在继承方法,最重要是父类引用要指向子类对象。@Override// 表示s没有指向任何对象实体say(null);

2301_79922499的博客 1148

AI Agent开发大全第一课-AI是什么以及如何使用AI

近年来,人工智能的迅猛发展引发了广泛的关注,尤其是“大模型”这一概念越来越深入人心。大模型,顾名思义,通常指的是那些拥有大量参数、能够处理复杂任务的机器学习模型。与传统小模型相比,大模型在数据处理、信息理解和生成等方面表现更加出色。为了理解为什么现在的AI被称为大模型,我们需要深入探讨几个关键因素。立角色是指在提示词中清晰地界定交互双方的身份。明确用户希望模型扮演的角色,可以帮助模型更准确地理解上下文和用户需求。

打造全国最全的AI Agent开发知识领域的博客 1406

Java基础语法实战指南:从核心概念到高频坑点解析

编程语言的基础语法是构建软件的逻辑基石,它定义了数据表示、流程控制和代码组织的核心规则。理解变量、数据类型、运算符和控制结构等基础概念,是掌握任何编程范式的第一步。这些语法元素共同构成了程序的执行逻辑和内存模型,其重要性在于确保代码的健壮性、可读性和可维护性。在实际的工程开发中,无论是构建微服务架构还是实现高并发业务,扎实的语法基础都是高效排查问题、进行性能优化的前提。本文聚焦于Java语言,深入探讨了面向对象编程、集合框架、异常处理等核心语法机制,并针对自动拆装箱、字符串拼接等高频实战场景中的典型问题,如

weixin_33858485的博客 315

第44节:cesium 大雾效果(cesium自带)(含源码+视频)

cesium 大雾效果(cesium自带)

qq_29384639的博客 1702

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

java基础知识

java基础知识

xgq_111的博客 2231

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: 4 java final 变量 | 变量即是final 又是static | 引用类型与基本数据类型 | Exception相关
下一篇: 6 java Set集合
hackq
博客等级 码龄20年 19粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值