论类型转换导致 JVM 类加载提前报错的问题 本文探讨了在Java中,通过类型转换可能导致JVM类加载提前报错的问题。作者在文章中描述了一个包含Father和Son类的情景,并展示了一段代码,验证了删除Son类后仍会导致报错的情况。作者提到,在JVM的类加载验证阶段,即使不是针对Son.class或Father.class的验证,验证Main.class时依然会触发报错,因为涉及到向上类型转换… 2024-9-09 0:44 | 129| 2| 技术 1183 字| 5 分钟
过去、现在和未来 —— Java 的现代化之路 本文讲述了Java语言的过去、现在和未来之路。首先介绍了Java从诞生至今一直受到其他语言比较和技术革新的影响,引发公众对其现状以及未来的担忧。然后重点回顾和展望了Java的几个重要更新,如Java 8的Lambda表达式和Stream API,Project Loom的协程支持,Project Panama的本地库访问和堆外内存API,以及Pro… 2024-6-01 21:05 | 301| 3| 技术 5274 字| 25 分钟
你知道吗,Java中的受查和非受查异常,其实并不存在区别…… 博主在文章中提到Java中的受查异常和非受查异常之间的区别在JVM的世界中实际上并不存在。传统理念认为继承自java.lang.RuntimeException的异常是非受查异常,其他异常则是受查异常。然而,通过比较JVM字节码层面的代码表示,发现无论是受查异常还是非受查异常,在JVM字节码中并没有实质差别。此外,文章也讨论了Kotlin语言对于受… 2024-4-03 23:21 | 124| 0| 技术 1915 字| 20 分钟
Java 的 main 方法声明终于要变天了吗? —— 浅谈 JEP 445 这篇文章主要介绍了Java JEP 445,即预览中的JEP,引入了两个机制:未命名类和实例main方法,用于简化Java的main方法声明。通过这两个机制,可以使main方法更加灵活,仅需最基本的语法,方便入门学习Java。同时,在该预览版本中,如果Java代码中包含未命名类,javadoc实用工具将无法生成API文档。这两个机制并没有引入新的语… 2023-6-04 23:16 | 952| 2| 技术 2342 字| 12 分钟
读完《深入理解JVM字节码》啦! 经过我不懈(大嘘)的努力,终于读完《深入理解JVM字节码》这本书啦! 不得不说是一本非常不错的书,兼具理论和工程实践,在讲述 JVM 字节码结构的同时还穿插了 Kotlin,Android,ASM 等内容: 想起来这本书从21年年底到现在断断续续看了一年多才看完,属于是摸上加摸了,233: 接下来打算看看 C++,或者接着看那本还完全没打开过的《深… 2023-1-05 17:19 | 65| 6| 日常 155 字| 1 分钟内
论一种模块化的 Minecraft Minigame 游戏架构模型 论一种模块化的 Minecraft Minigame 游戏架构模型 TL;DR: 本文章试图说明一种可用于开发 Minecraft Minigame 或其他相似内容的,模块化的架构模型,作者基于 “分而治之” 的理念设计了它们。基本上,这些架构由 Flow, Phase 和 Module 共同组成。文章也试图说明一种基于上述架构模型的,由事件驱动的… 2023-1-03 1:12 | 687| 6| 心得,技术 3189 字| 17 分钟
那些年,Kotlin 都截胡了哪些 Java 新特性 那些年,Kotlin 都截胡了哪些 Java 新特性 众所周知,Kotlin被称为最好的 Java。自 Kotlin 发布以来,凭借着其在 JVM 平台上惊人的兼容性,互操作性以及新特性支持,其迅速成为了广泛使用的 JVM 语言之一,就连 Google 也将 Kotlin 钦定为 Android 的首选开发语言。Kotlin 相对 Java 提供了… 2022-11-03 22:31 | 252| 2| 技术 1220 字| 12 分钟
有关 Kotlin 具名参数形参传参顺序导致输出结果发生改变问题的一些探索 有关 Kotlin 具名参数形参传参顺序导致输出结果发生改变问题的一些探索 具名参数 众所周知,Kotlin 拥有一种叫做具名参数(Named arguments)的特性,它在需要跳过可选参数,或是调整参数顺序的地方十分有效。 例如如下拥有五个参数,且后四个参数为可选参数的函数: fun reformat( str: String, normali… 2022-5-05 14:36 | 107| 0| 技术 781 字| 11 分钟
第十三届蓝桥杯大赛软件赛省赛 Java 大学 B 组 试题 (别问我考得咋样,野鸡水平,另外点击图片可以下载原 PDF 文件) 整了个省二,一般水平,不过对于我这个一道题没刷过的人来说已经很满足了( 2022-4-10 16:32 | 215| 2| 技术 64 字| 几秒读完
ASM 那点事 —— 让 BungeeCord 允许 authlib-injector 中非 ASCII 的玩家 ID 连接 起因 前些天在某个群跟群友聊天时,偶然听说了当一个符合 authlib-injector 规范的以非 ASCII 玩家 ID 的玩家连接 BungeeCord 时,BungeeCord 会以玩家 ID 字符不被允许为由禁止玩家加入服务器。这个问题令我很感兴趣,思考了一番以后,决定为 authlib-injector 贡献一个功能来解决这个问题。 定… 2022-3-15 18:13 | 218| 0| 技术 1345 字| 20 分钟