Java面试(static 关键字)(final关键字)

简介: static 关键字,final关键字

static

static 是 Java 中⾮常重要的关键字,static 表示的概念是 静态的 ,在 Java 中,static 主要⽤来

  1. 修饰变量,static 修饰的变量称为 静态变量 、也称为 类变量 ,类变量属于类所有,对于不同的类来说,static 变量只有⼀份,static 修饰的变量位于⽅法区中;static 修饰的变量能够直接通过类名.变量名 来进⾏访问,不⽤通过实例化类再进⾏使⽤。
  2. 修饰⽅法,static 修饰的⽅法被称为 静态⽅法 ,静态⽅法能够直接通过 类名.⽅法名 来使⽤,在静态⽅法内部不能使⽤⾮静态属性和⽅法static 可以修饰代码块,主要分为两种,⼀种直接定义在类中,使⽤ static{} ,这种被称为 静态代码块 ,⼀种是在类中定义 静态内部类 ,使⽤ static class xxx 来进⾏定义。
  3. static 可以⽤于静态导包,通过使⽤ import static xxx 来实现,这种⽅式⼀般不推荐使⽤
  4. static 可以和单例模式⼀起使⽤,通过双重检查锁来实现线程安全的单例模式。

final

final 是 Java 中的关键字,它表示的意思是 不可变的 ,在 Java 中,final 主要⽤来

修饰类,final 修饰的类不能被继承,不能被继承的意思就是不能使⽤ extends 来继承被 final 修饰的类。

  1. 修饰变量,final 修饰的变量不能被改写,不能被改写的意思有两种,对于基本数据类型来说,final修饰的变量,其值不能被改变,final 修饰的对象,对象的引⽤不能被改变,但是对象内部的属性可以被修改。final 修饰的变量在某种程度上起到了 不可变 的效果,所以,可以⽤来保护只读数据,尤其是在并发编程中,因为明确的不能再为 final 变量进⾏赋值,有利于减少额外的同步开销。
  2. 修饰⽅法,final 修饰的⽅法不能被重写。
  3. final 修饰符和 Java 程序性能优化没有必然联系
相关文章
|
7小时前
|
存储 Java
面试官:素有Java锁王称号的‘StampedLock’你知道吗?我:这什么鬼?
面试官:素有Java锁王称号的‘StampedLock’你知道吗?我:这什么鬼?
43 23
|
7小时前
|
消息中间件 安全 前端开发
字节面试:说说Java中的锁机制?
Java 中的锁(Locking)机制主要是为了解决多线程环境下,对共享资源并发访问时的同步和互斥控制,以确保共享资源的安全访问。 锁的作用主要体现在以下几个方面: 1. **互斥访问**:确保在任何时刻,只有一个线程能够访问特定的资源或执行特定的代码段。这防止了多个线程同时修改同一资源导致的数据不一致问题。 2. **内存可见性**:通过锁的获取和释放,可以确保在锁保护的代码块中对共享变量的修改对其他线程可见。这是因为 Java 内存模型(JMM)规定,对锁的释放会把修改过的共享变量从线程的工作内存刷新到主内存中,而获取锁时会从主内存中读取最新的共享变量值。 3. **保证原子性**:锁
15 1
|
7小时前
|
Java
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
18 0
|
7小时前
|
安全 Java 程序员
【Java多线程】面试常考——锁策略、synchronized的锁升级优化过程以及CAS(Compare and swap)
【Java多线程】面试常考——锁策略、synchronized的锁升级优化过程以及CAS(Compare and swap)
12 0
|
SQL 缓存 安全
Java高频面试题目
面试时面试官最常问的问题总结归纳!
102 0
JAVA高频面试题目集锦(6)
JAVA高频面试题目集锦(6)
104 0
JAVA高频面试题目集锦(6)
|
存储 安全 Java
JAVA高频面试题目集锦(5)
JAVA高频面试题目集锦(5)
152 0
JAVA高频面试题目集锦(5)
|
算法 安全 Java
JAVA高频面试题目集锦(4)
JAVA高频面试题目集锦(4)
85 0
JAVA高频面试题目集锦(4)
|
存储 Java 对象存储
JAVA高频面试题目集锦(3)
JAVA高频面试题目集锦(3)
94 0
JAVA高频面试题目集锦(3)
|
存储 缓存 算法
JAVA高频面试题目集锦(2)
JAVA高频面试题目集锦(2)
116 0
JAVA高频面试题目集锦(2)