小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI
为什么在JDK 17中fieldClass.getDeclaredFields()返回空数组?

在JDK 17中,使用Java反射API时,fieldClass.getDeclaredFields()返回空数组的问题常见。这是由于JDK 17引入了更严格的模块系统,导致许多内部包不再对未命名模块开放。解决方法包括配置VM参数、检查字段访问权限、确保引用正确的类以及检查模块定义。

为什么在JDK 17中fieldClass.getDeclaredFields()返回空数组?

DEV Community
DEV Community · 2025-05-06T03:30:20Z

作者总结了两年使用Rust的经验,强调其高性能、优秀的工具和类型安全。学习过程中,借用检查器是主要挑战,但掌握后能提升代码质量。尽管Rust的模块系统复杂且编译速度较慢,但整体体验令人自信,能够构建高效优雅的代码。

两年的 Rust 使用感悟

程序师
程序师 · 2025-04-21T12:05:54Z
CommonJS与ESM:JavaScript模块大战!

JavaScript模块系统从CommonJS转向ECMAScript模块(ESM)。CommonJS适用于Node.js,支持同步加载,但不适合浏览器。ESM是现代标准,支持异步加载和树摇,适合新项目。建议2025年新项目使用ESM,旧项目可继续使用CommonJS。

CommonJS与ESM:JavaScript模块大战!

DEV Community
DEV Community · 2025-02-18T18:45:18Z
探索现代Java:从Java 9到22的关键语言特性在一个程序中

Java在9至22版本间引入了模块系统、局部变量类型推断、switch表达式、文本块、记录类和密封类型等特性,提升了代码可读性和开发效率,适合各级开发者使用。

探索现代Java:从Java 9到22的关键语言特性在一个程序中

DEV Community
DEV Community · 2025-02-15T10:39:38Z
.js、.cjs 和 .mjs 文件扩展名的区别

JavaScript 的模块系统使用三种文件扩展名:.js(默认格式,支持 CJS 或 ESM),.cjs(明确为 CommonJS 模块,确保向后兼容),.mjs(用于 ESM 模块,强制使用现代语法)。新项目建议使用 .mjs,旧项目使用 .cjs 和 .mjs。使用 .js 时需在 package.json 中正确设置类型。

.js、.cjs 和 .mjs 文件扩展名的区别

DEV Community
DEV Community · 2025-01-11T10:36:35Z
ES模块的简史

ES模块的演变展示了JavaScript从全局作用域到现代模块系统的转变。1995年JavaScript问世,最初用于网页互动。随着需求增加,出现了CommonJS、AMD和UMD等模块系统。2015年,ES模块作为标准推出,提供了简洁的语法和更好的性能,尽管迁移面临挑战,但其优势使其成为JavaScript的主流模块系统。

ES模块的简史

DEV Community
DEV Community · 2024-11-16T18:47:20Z

JavaScript是前后端开发的首选语言,Node.js在其中非常重要。尽管有Deno和Bun等新平台竞争,Node.js仍是网络应用和系统软件的核心。其单线程和异步架构对开发者既是机遇也是挑战。掌握JavaScript的闭包、原型、模块系统和异步编程等核心概念,有助于编写高效的Node.js应用。

每位Node开发者都应掌握的20个JavaScript核心概念

DEV Community
DEV Community · 2024-10-10T16:39:09Z

Java从8到17的演变带来了功能和性能的提升。Java 17引入了本地变量类型推断、文本块、模式匹配等新特性,以及改进的HttpClient和流API。垃圾回收和JIT编译器优化提升了性能,模块系统改善了代码组织,密封类和记录类简化了数据结构。作为长期支持版本,Java 17为企业提供了稳定和安全的选择。

Java开发实践的关键变化:从Java 8到Java 17

DEV Community
DEV Community · 2024-10-09T05:34:02Z

JavaScript中的模块系统有两种:CommonJS和ESModule。CommonJS适用于服务器端应用程序,ESModule适用于客户端应用程序。两者在语法、同步性、作用域、性能、生态系统和工具等方面存在差异。选择使用哪种模块系统取决于开发环境和项目需求。

理解 ESModule 和 CommonJS 的区别

DEV Community
DEV Community · 2024-09-04T00:08:24Z

本文介绍了Node.js中的模块系统,包括使用require函数导入模块和使用module.exports对象导出功能。作者创建了数学运算的模块,并在主文件中使用这些模块进行算术运算。作者还创建了额外的模块用于指数运算和平方根计算。通过实践,作者深入理解了模块的作用和优势。

借助AI学习Node.js 30天 - 第2天

DEV Community
DEV Community · 2024-08-26T05:03:51Z
Ryan Dahl 解释了为什么 Deno 必须通过 2.0 版本进行演变

本文介绍了Node.js和Deno的创始人Ryan Dahl以及他对Deno的发展的看法。他解释了Deno的第一个版本的限制,并介绍了Deno 2.0版本如何扩展模块系统以提升其在现代Web中的应用价值。

Ryan Dahl 解释了为什么 Deno 必须通过 2.0 版本进行演变

Stack Overflow Blog
Stack Overflow Blog · 2024-08-20T04:15:00Z

Deno 的模块系统最初依赖于 HTTP 导入,但面临性能和控制问题。为了解决这个问题,Deno 引入了一个新的注册表(JSR),减少了对 URL 导入的依赖。然而,这一决定偏离了 Deno 原本遵循网络平台的理念,可能会阻碍其生态系统的发展。

Deno 减少对 HTTP 导入的依赖

Jim Nielsen’s Blog
Jim Nielsen’s Blog · 2024-08-06T19:00:00Z
【Rust日报】2024-07-24 query.rs - 搜索Rust的一切

这篇文章总结了作者在使用Rust编程语言中的经验和问题,包括错误处理、模块系统和编译时间。尽管存在困难,作者仍然喜欢Rust并计划继续使用。

【Rust日报】2024-07-24 query.rs - 搜索Rust的一切

Rust.cc
Rust.cc · 2024-07-27T20:06:43Z

本文介绍了Rust编程语言的特性和限制,包括模块系统、标准库和第三方crate、Cargo工具和依赖管理器。Rust具有性能控制、丰富的抽象功能和内置工具的优点。

Rust的独特功能

极道
极道 · 2024-01-22T03:06:00Z
Node.js 18.19.0(长期支持版)

Node.js 20 版本中,npm 10 已回溯至所有发布线,包含 npm v10.2.3。新 API register 允许指定文件导出模块自定义钩子,并在主线程与钩子线程之间传递数据。引入了 import.meta.resolve 方法以获取绝对 URL,增强了与浏览器的兼容性。此外,--experimental-default-type 标志可切换默认模块系统,影响隐式 CommonJS 的解析。

Node.js 18.19.0(长期支持版)

Node.js Blog
Node.js Blog · 2023-11-29T17:28:42Z
Node.js 20.10.0(长期支持版)

Node.js 新增了 --experimental-default-type 和 --experimental-detect-module 标志,允许用户更改默认模块系统并自动检测 ES 模块语法。这一更新旨在提升性能和兼容性,鼓励开发者在 package.json 中添加类型字段以优化模块解析。

Node.js 20.10.0(长期支持版)

Node.js Blog
Node.js Blog · 2023-11-22T15:28:11Z

KernelSU 是 Android GKI 设备的根权限解决方案,运行在内核模式,提供内核接口,支持硬件断点、物理内存访问和系统调用拦截。它还支持基于 overlayfs 的模块系统,允许加载自定义插件。构建支持 KernelSU 的内核需要配置编译环境、下载内核源码并编译,生成可刷入的 boot.img 文件。

给OPPO Reno6移植kernelSU

dpkg123的博客
dpkg123的博客 · 2023-05-10T20:14:10Z

Rust是一种可扩展的语言,具有垂直和横向可扩展性。它适用于各种软件开发,包括图像压缩库和Web服务器。Rust的模块系统支持库的组织和管理。Cargo是一个规范的任务运行器,用于定义依赖关系和构建过程。生产者和消费者可以通过遵守这些规则获得超级权力。

Rust 是一种可扩展的语言 - matklad

极道
极道 · 2023-03-29T02:23:00Z

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
  • <<
  • <
  • 1 (current)
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

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

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