标签: Java

9 篇文章

thumbnail
读完《深入理解JVM字节码》啦!
经过我不懈(大嘘)的努力,终于读完《深入理解JVM字节码》这本书啦! 不得不说是一本非常不错的书,兼具理论和工程实践,在讲述 JVM 字节码结构的同时还穿插了 Kotlin,Android,ASM 等内容: 想起来这本书从21年年底到现在断断续续看了一年多才看完,属于是摸上加摸了,233: 接下来打算看看 C++,或者接着看那本还完全没打开过的《深…
thumbnail
论一种模块化的 Minecraft Minigame 游戏架构模型
论一种模块化的 Minecraft Minigame 游戏架构模型 TL;DR: 本文章试图说明一种可用于开发 Minecraft Minigame 或其他相似内容的,模块化的架构模型,作者基于 “分而治之” 的理念设计了它们。基本上,这些架构由 Flow, Phase 和 Module 共同组成。文章也试图说明一种基于上述架构模型的,由事件驱动的…
那些年,Kotlin 都截胡了哪些 Java 新特性
那些年,Kotlin 都截胡了哪些 Java 新特性 众所周知,Kotlin被称为最好的 Java。自 Kotlin 发布以来,凭借着其在 JVM 平台上惊人的兼容性,互操作性以及新特性支持,其迅速成为了广泛使用的 JVM 语言之一,就连 Google 也将 Kotlin 钦定为 Android 的首选开发语言。Kotlin 相对 Java 提供了…
有关 Kotlin 具名参数形参传参顺序导致输出结果发生改变问题的一些探索
有关 Kotlin 具名参数形参传参顺序导致输出结果发生改变问题的一些探索 具名参数 众所周知,Kotlin 拥有一种叫做具名参数(Named arguments)的特性,它在需要跳过可选参数,或是调整参数顺序的地方十分有效。 例如如下拥有五个参数,且后四个参数为可选参数的函数: fun reformat( str: String, normali…
thumbnail
ASM 那点事 —— 让 BungeeCord 允许 authlib-injector 中非 ASCII 的玩家 ID 连接
起因 前些天在某个群跟群友聊天时,偶然听说了当一个符合 authlib-injector 规范的以非 ASCII 玩家 ID 的玩家连接 BungeeCord 时,BungeeCord 会以玩家 ID 字符不被允许为由禁止玩家加入服务器。这个问题令我很感兴趣,思考了一番以后,决定为 authlib-injector 贡献一个功能来解决这个问题。 定…
有关 C++ 指针(*)和引用(&)区别的小结
众所周知,C 语言存在一个叫做指针的东西,我们可以用指针来指向一个值的内存地址,然后进行内存地址各种操作。但是在 C++ 中,又多了一个叫做引用的东西,这二者之间存在着细微的差别,通过研读了知乎上的一篇文章(下),对于我之前不太明白的地方,作出了如下小结: 指针可空,引用不可空 指针可以改变指向,也就是说转而指向其他对象,但是引用却是不可变的 指针…
thumbnail
Java 方法实参是传值(pass-by-value)还是传引用(pass-by-reference)?
传值还是传引用? 一直以来,我认为在 Java 中传递方法实参时,当传入的类型为基本数据类型时,则传入的是值;当传入的类型为对象时,则传入的是引用。但是,这个观念是实际上是错误的。事实上,Java 始终传递值。 为什么这么说呢,让我们看一下如下代码: public static void main(String[] args) { ... int …
大人,时代变了!使用 Java 16 或 Kotlin 更好的进行插件或模组开发
大人,时代变了!使用 Java 16 或 Kotlin 更好的进行插件或模组开发 声明:本文章中 Java 8 至 Java 16 以来变化的内容整理自 这个网站,您可以访问该网站以了解更多新版本 Java 的更改 简洁起见,对于某些不重要,或者对开发意义不大的更新,本文并未列出 前言 从很久很久以前,Minecraft 的社区开发者们就开始使用包…