小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI
访问修饰符面试问题

Java有四种访问修饰符:public(全局可见)、private(类内可见)、protected(同包及子类可见)和默认(同包可见)。private方法不可被其他类访问,protected方法可被子类访问。访问修饰符影响方法重写,不能收紧访问权限。Java 9后,接口支持private方法。

访问修饰符面试问题

DEV Community
DEV Community · 2025-04-16T19:27:19Z
清理你的内存:从Finalize到Cleaner

Java 9引入的Cleaner API提供了一种高效的资源清理机制,解决了已弃用的finalize()方法的问题。Cleaner通过虚引用和后台线程监控对象的可达性,确保非内存资源在不再需要时得到清理。与try-with-resources相比,Cleaner适用于无法显式关闭的资源,但使用时需谨慎,以避免性能问题。

清理你的内存:从Finalize到Cleaner

DEV Community
DEV Community · 2025-03-30T16:27:12Z
JShell:Java的交互式解释器

JShell是Java 9引入的交互式工具,允许用户快速执行代码片段,无需创建项目。它支持变量、方法和类的定义,简化了Java的学习和开发,适合快速原型和实验。

JShell:Java的交互式解释器

DEV Community
DEV Community · 2025-02-03T13:00:00Z
解锁模块化Java:深入探讨Jigsaw项目

项目Jigsaw是Java 9引入的模块化系统,允许开发者创建自包含模块,简化复杂性管理,提高可维护性、可扩展性和安全性。通过module-info.java文件定义模块依赖和导出,开发者能更高效地构建Java应用。

解锁模块化Java:深入探讨Jigsaw项目

DEV Community
DEV Community · 2025-02-01T09:15:27Z
深入了解 `java.lang.String`:理解与优化实例化性能

Java 9引入了紧凑字符串特性,使用8位字节数组替代16位字符数组,提升了字符串性能。通过Apache Fury的StringSerializer,可以实现零拷贝字符串实例化,进一步提高性能。使用Java 9及以上版本可获得更佳的字符串实例化性能。

深入了解 `java.lang.String`:理解与优化实例化性能

DEV Community
DEV Community · 2024-12-08T14:09:33Z
Java中的类加载器类型

Java有三种主要类加载器:引导类加载器、扩展类加载器和应用类加载器。引导类加载器负责加载核心Java库,扩展类加载器加载扩展库,而应用类加载器则加载应用程序类。Java 9引入模块系统,取代传统的rt.jar,提升了性能和安全性。

Java中的类加载器类型

DEV Community
DEV Community · 2024-11-24T12:59:38Z

本文是关于从Java 8迁移到Java 17的API变化的续篇。Java 9引入了Objects.requireNonNullElse和Collection工厂方法。Java 10注重性能和可用性的调整,引入了局部变量类型推断和不可修改的Collections。Java 11增强了String和InputStream操作,引入了新的Files方法。Java 12引入了单文件源代码程序和Switch表达式。Java 14进一步改进了Switch表达式。Java 15引入了文本块和字符串格式化方法。Java 16引入了Records和模式匹配。Java 17提供了十六进制二进制数据表示和ZoneId.ofOffset()方法。

从 Java 8 迁移到 Java 17 (二):Java 中值得注意的 API 变化

程序师
程序师 · 2024-07-08T00:26:46Z

Java 9引入了私有接口方法,提供了更细致的方法来管理接口实现细节,增强了接口的抽象能力,提高了代码的可重用性和封装性。私有接口方法是Java开发人员创建更简洁、高效代码的强大工具。

Java9私有接口方法详解

极道
极道 · 2024-02-04T22:28:00Z

Spring Framework远程代码执行漏洞(CVE-2022-22965)是Java 9环境下的漏洞,攻击者可绕过黑名单禁用的类执行任意代码。Spring Cloud Gateway远程代码执行(CVE-2022-22947)是在使用Spring Cloud Gateway的应用程序中,启用或暴露不安全的Gateway Actuator端点时容易受到代码注入攻击。Spring Data Commons远程命令执行漏洞(CVE-2018-1273)是在Spring Data Commons的2.0.5及以前版本中存在的SpEL表达式注入漏洞,攻击者可注入恶意SpEL表达式执行任意命令。Spring Messaging远程命令执行漏洞(CVE-2018-1270)是在Spring框架中的spring-messaging模块中存在的STOMP消息代理处理客户端消息时的SpEL表达式注入漏洞,攻击者可通过构造恶意消息实现远程代码执行。

Spring框架漏洞解析之二

FreeBuf网络安全行业门户
FreeBuf网络安全行业门户 · 2024-01-29T01:39:07Z

jlink是Java 9引入的命令行工具,用于创建可执行的Java运行时镜像。它与JPMS模块系统结合,解决Java程序打包中的类依赖问题。通过module-info.class文件,jlink可以剪裁JDK,生成最小JRE,确保应用自给自足。命令格式包括指定模块路径、输出目录和入口点等选项。

使用jlink裁剪Java运行时

ArchGrid - 架构知识网格
ArchGrid - 架构知识网格 · 2021-05-31T06:11:31Z

Java 9在Java 8的基础上进行了重大改进,特别是引入了模块系统,可能导致Java 8程序无法编译。新增了Optional类和Stream类的方法,支持私有接口方法,简化资源操作。模块系统提高了代码组织效率,支持兼容Jar包创建,增强了对本地进程的支持,并扩展了CompletableFuture类。

Java 9的新特性

ArchGrid - 架构知识网格
ArchGrid - 架构知识网格 · 2021-05-20T07:15:29Z

Java 9中,Observable类被标记为过时,取而代之的是Flow接口,提供响应式流处理。Flow包含Publisher、Subscriber、Processor和Subscription四个接口,支持生产者与消费者之间的高效交互。消费者通过Subscription控制数据请求,生产者通过subscribe方法与消费者建立联系,旨在解决多线程环境中的数据处理问题。

Observable的后来者:响应式接口

ArchGrid - 架构知识网格
ArchGrid - 架构知识网格 · 2021-04-10T12:26:21Z
虚引用真的不影响对象的生命周期吗?

虚引用在Java中的作用常被误解。Java 8及之前版本中,虚引用会影响对象的回收,导致对象无法被回收;而在Java 9及之后版本中,虚引用不再影响对象的生存,改进了处理逻辑,确保对象在回收后能被ReferenceQueue处理。

虚引用真的不影响对象的生命周期吗?

Robert的博客
Robert的博客 · 2020-11-22T15:01:14Z

Java中的SPI机制(服务提供者接口)允许通过配置替换服务实现。开发者在META-INF/services目录下添加文件,指定接口及其实现类。Java 9引入模块化,扩展了SPI机制,支持通过module中的provides…with语句注册服务,服务提供者可以是具有静态方法的接口。

Java中的SPI机制

Robert的博客
Robert的博客 · 2019-05-19T04:04:56Z
  • <<
  • <
  • 1 (current)
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码