`
jywhltj
  • 浏览: 46836 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
文章列表
本文也发在我的个人博客上:https://hltj.me/wxmedit/2023/07/09/wxmedit-32.html 。 两周前(2023-07-09)发布了 wxMEdit 3.2,并开启了版本更新检测。不过当时还有一些 RISC-V 的包未打完,今天除了 FreeBSD 的 RISC-V 包之外都完成了。 wxMEdit 是对编码和十六进制编辑支持很好的文本编辑器,尤其是在十六进制模式下也能支持各种编码。 wxMEdit 是 MadEdit 的后继,并对其做了很多改进。下载地址为: https://wxmedit.github.io/zh_CN/downloads.h ...
本文也发在我的个人博客上:https://hltj.me/java/2021/01/09/java-exercise-nulls.html 。 这个系列以练习为主,可能不会有多少讲述(当然本篇例外),可以作为初学者的自学验收之用。 Java 中有非受限的空值,并且不知哪时会引发 ...
本文也发在我的个人博客上:https://hltj.me/java/2020/06/14/java-12-15-lang-features.html 。 Java 14 发布已经过去了三个月,Java 15 目前也已经到了“Rampdown Phase One ”阶段,其新特性均已敲定。 由于 12-15 都是短期版本,无需考虑也不应该将其用于生产环境。但可以提前了解新特性,以免在下一个 LTS(Java17)正式发布时毫无心理准备。 Java 12-15 引入了一系列改进,本文只讨论语言层面的新特性,它们看起来似曾相识——没错,这些特性让人感觉 Java 在沿 Kotlin/Scal ...
本文也发在我的个人博客上:https://hltj.me/kotlin/2020/01/11/kotlin-trait-typeclass.html 。 trait 与类型类都是什么 trait 与类型类(type class)分别是 Rust 与 Haskell 语言中的概念,用于特设多态(ad-hoc polymorphism)、函数式编程等方面。 值得一提的是虽然英文都是“trait”, Scala 的特质跟 Rust 的 trait [注1] 却并不相同。 Scala 的特质相当于 Kotlin 与 Java 8+ 的接口,能实现子类型多态;而 Rust 的 trait 更 ...
本文也发在我的个人博客上:https://hltj.me/lang/2019/07/08/modern-lang-optional-value.html 。 这里的可选值(optional value)是指可能无值也可能有一个值的情况,在一些编程语言中称为可空值(nullable value)。 问题与解决方案 传统编程语言中往往使用空值(null 或者 None、nil 等)来表达可选值,可谓简单粗暴。 因为这样一来,就需要在每一处使用的地方判断相应的值是否为空,一旦疏忽大意就可能导致程序出错甚至崩溃。 不仅如此,正如著名的《十亿美元的错误》与
本文也发在我的个人博客上:https://hltj.me/nostalgic/2019/05/30/dos-win16-on-win64.html 。 相信好多人都知道,在基于 NT 的 32 位 Windows 中,可以通过 NTVDM 运行 DOS 程序,进而还可以通过 WOW 运行 16 位 Windows(Windows 1.x~3.x)程序。 但是在 64 位 Windows 中没有 NTVDM 与 WOW。 于是有人(leecher1337)开发了 NTVDMx64——可以在 64 位 Windows 环境中运行的 NTVDM。 https://github.com/l ...
本文也发在我的个人博客上:https://hltj.me/wasm/2019/04/04/standardizing-wasi.html 。 本文已获得翻译授权,译自 Standardizing WASI: A system interface to run WebAssembly outside the web,由作者 Lin Clark 于当地时间 2019-03-27 发布。 今天(当地时 ...
本文也发在我的个人博客上:https://hltj.me/kotlin/2018/11/22/ktorcn-update-jetbrains-day-slides.html 。 非常值得庆祝的是,Ktor 1.0 正式发布了,Ktor 中文站也已更新。     Ktor 是 JetBrains 官方出品的互联应用框架。 使用该框架非常易于开发异步的服务器与客户端,并且能够充分利用 Kotlin 以及协程的优势。   Ktor 中文站是官方英文站的中文翻译(目前还在翻译中,欢迎组团一起)。 初学者可以从快速入门入手来学习与了
本文也发在我的个人博客上:https://hltj.me/java/2018/04/02/experience-java9-update-minors.html 。 本篇介绍 Java 9 更新以及一些非重大改动。 更新 Java 9 已经正式发布半年多了。这期间不仅 Java 9 发布了更新,就连 Java 10 也已正式发布。 ...
本文也发在我的个人博客上:https://hltj.me/java/2017/09/22/experience-java9-lombok.html 。 Java 9 正式版已于当地时间的 9 月 21 日(北京时间大约是 22 日凌晨)如期发布。可在 Oracle 官网下载。 Java 9 没有像 Java 5/Java 8 那样引入新的编程范式而给语言本身带来革命性的改进,不过 Java 9 的改动还是很大的,尤其是引入模块化对 JDK 与运行时的改动都很大。 现在网上能找到很多介绍 Java 9 新特性的文章,这里不再赘述,只简要列举如下: 模块化(Jigsaw 项目) G1 ...
本文也发在我的个人博客上:https://hltj.me/kotlin/2017/08/31/2tips-for-kotlin-repl.html 。 Kotlin 自带了交互式编程命令行,即 REPL(Read-Eval-Print Loop 的简写,直译为 “读取-求值-输出”循环),尤其适合快速实验一些东西。 本文只讲关于 Kotlin REPL 的两条 tips: 如何运行 REPL; 如何在 REPL 中查看推断出的类型。 如何运行 Kotlin REPL 运行 Kotlin REPL 主要有两种方式: 在 IntelliJ IDEA 中运行; 运行独立的命令 ...
本文也发在我的个人博客上:https://hltj.me/kotlin/2017/08/25/kotlin-functor-applicative-monad-cn.html 。 本文是从 Haskell 版 Functors, Applicatives, And Monads In Pictures 翻译而来的 Kotlin 版。 我同时翻译了中英文两个版本,英文版在这里。 与从 Swift 版翻译而来的 Kotlin 版不同的是,本文是直接从 Haskell 版原文翻译而来的。 这是一个简单的值: 我们也知道如何将一个函数应用到这个值上: 这很简单。 那么扩 ...
本文也发在我的个人博客上:https://hltj.me/lang/2017/08/01/modern-lang-static-type.html 。 静态类型是现代语言的发展趋势之一。近年来,不仅有很多静态类型的现代语言兴起,还有不少动态类型语言也在引入静态类型支持。 下面我们就来看下为何静态类型会如此受到现代语言的青睐。 静态类型的优势 与动态类型相比,静态类型有如下优势: 更佳的性能 静态类型有利于编译器优化,生成效率更高的代码。类型信息不仅有助于编译型静态类型语言编译,对于一些具有 JIT 的动态类型语言同样有积极意义,如减少 JIT 开销、提供更多优化信息等。 及 ...
本文也发在我的个人博客上:https://hltj.me/translate/2017/06/22/oss-docs-translate-quality.html 。 五月份,我宣布了 Kotlin 官方参考文档翻译完毕的消息,其中有提到这也是唯一一份完整且最新的官方参考文档翻译。不仅如此,其中值得一提的还有翻译质量。 Kotlin 中文站良好的翻译质量跟很多不错的翻译实践是分不开的。这些实践对于其他文档翻译项目也有很高的参考价值,特单独拿出来分享。 直接 fork 外文源站 这个在 Kotlin 官方参考文档翻译完毕已经介绍过:这样做的显著优势是官方站有任何更新可以及时合并进来 ...
本也发在我的个人博客上:https://hltj.me/kotlin/2017/06/13/kotlin-meet-gradle.html 。 本文是 Gradle 官网文章 Kotlin Meets Gradle 的译文。 原文发布于 2016-05-18,所以文中的时间都要再往前算一年。 如今 Kotlin 已经发布了 1.1,Gradle 已经发 ...
Global site tag (gtag.js) - Google Analytics