- 标签
- Java
Java 静态属性和静态方法能否被继承、重写?
Java中静态成员属于类而非对象,可通过子类访问。核心要点:静态方法不具备运行时多态,无法被重写,但可通过子类访问父类同名静态方法(方法隐藏);静态字段同样不能重写,子类同名字段 thuộc字段隐藏。接口静态方法不可被子类继承,调用需使用接口名称。访问权限决定可见性:private成员不可见,protected默认可见,public全类可见。静态成员不参与多态调用,调用时由变量声明类型决定(如 Parent parent = new Child(); parent打印调用的是Parent类的静态方法)。静态方法不能直接访问实例字段,需显式转为对象调用(如user1.printName())但实际执行避免实例方法的场景。静态调用的编译时绑定特性导致静态成员无法根据实际对象类型动态分发。常见误区包括将方法隐藏误认为重写,静态方法动态绑定等。静态设计仍符合封装、继承等面向对象原则,但属于类级抽象而非对象级实例化。
- 2026/07/10 19:24
- 17
- 0
- 0
- 25.7℃
Java项目配置文件加密方案全解析:从Jasypt到Vault
一、引言:为什么配置文件加密刻不容缓? 在Spring Boot项目中,数据库密码、API密钥、Redis凭证等敏感信息常常被明文写在application.yml或application.properties中,然后堂而皇之地提交到代码仓库。这无异于把家门钥匙贴在门框上——一旦代码泄露或被内部人员
- 2026/06/30 20:00
- 7
- 0
- 0
- 24.7℃
Java线程池的优雅关停:从shutdown到shutdownNow的究竟
应用重启时,线程池里的任务怎么办?直接“拔电源”,正在执行的任务会丢失,积压的队列也可能被清空。要做到“优雅关停”,就得在停止服务前,给线程池一个体面的收场:尽力完成进行中的任务、合理地放弃等待,并确保资源回收。 本文将讲解线程池关闭的核心机制,并给出标准化的优雅停机范式。 一、线程池的状态:先看懂
- 2026/05/09 21:04
- 49
- 0
- 0
- 28.9℃
Java线程池如何处理异常?线程池异常处理:避开“吞异常”陷阱
在使用线程池时,你很可能遇到过这种情况:任务明明出错了,日志里却干干净净,就像什么都没发生一样。这其实是因为 线程池默认会“吞掉”某些异常,尤其当你用 submit() 提交 Callable 或 Runnable 时。 本文将彻底梳理线程池异常处理的四种主要方式,并给出最佳实践,帮你告别“异常黑洞
- 2026/05/09 20:58
- 18
- 0
- 0
- 25.8℃
Java transient关键字
transient 是 Java 中的一个字段修饰符,主要用于对象序列化(Serialization)时控制某些字段不被序列化。 transient 的中文翻译是 "瞬态的" 或 "临时的"。 下面从概念、原理、使用场景、示例和注意事项进行系统讲解。 一、什么是 transient 当一个类实现了
- 2026/02/24 13:02
- 25
- 0
- 0
- 26.5℃
JVM - 主流JVM实现
HotSpot Oracle JDK / OpenJDK 默认 现在用得最多的就是它 OpenJ9 IBM 捐给 Eclipse 基金会 内存占用小、启动快 很多云场景、微服务在用 GraalVM 新一代高性能虚拟机 支持 Java、JS、Python 等多语言 能把 Java 编译成原生可执行文件
- 2026/02/24 12:51
- 26
- 0
- 0
- 26.6℃
Java 本地缓存 Ehcache 该怎么用?
在 Java 缓存生态里,Redis 几乎成了分布式缓存的代名词,但提到本地缓存,有一个 “老伙计” 你一定绕不开 ——Ehcache。作为纯 Java 实现的进程内缓存框架,Ehcache 凭借轻量、易集成、高性能的特点,至今仍是中小型项目、单机应用的首选。本文带你吃透 Ehcache 的核心用法
- 2026/02/24 01:46
- 26
- 0
- 0
- 26.6℃