Java 异常:从一条别扭的 throws 链说起

补 Java 基础补到异常这一课,作业里有四个问题。本来以为就是背一下 checked / unchecked,结果第一个问题就把我问住了:

自定义异常为什么 extends RuntimeException?如果写 extends Exception,程序不是直接断了吗?可读取失败又不该干扰程序运行……但被正常处理的话,两者不是一样吗?说真的我不知道为什么。

后来发现,这个“不知道”不是语法问题,而是 checked exception 的设计意图问题。顺便把工作里一直觉得别扭、又说不上来的一件事也想通了:为什么老代码里,一个很靠里的函数处理了异常,外面还是一串 throws。

于是有了这篇。

Read More

从零开始的Haskell学习笔记 - 1

重新审视了一下对Haskell的态度,感觉想要认证的学Haskell而不是用一个符号来标榜自己对函数式有理解,还是要踏实点为好。实际上趣学指南

按照知乎的教程,从SICP开始打基础。

SICP的部分本来写了一些,后来觉得不如在白纸上写写画画,因为也是看的b站视频课,所以如果有什么独到的理解,到时候再补充进来就好了,大部分还是无发布意义的复读。

趣学指南也许过于基础,讲的太trivial,知乎上的意见是这样。就像最开始写代码的时候,我对python的那本黄黄的书有特殊的滤镜一样,实际上并不需要那么虔诚,我还是有点基础的。

另外可能会用到的资料

TVM新人入坑-跑通demo

本来要在npu上玩的,结果zh的机器tm的不知为什么卡又掉了,必须得系统关机之后物理重启电源。等修完估计答辩也没一两天了,windows上弄个能跑的demo先。

本文内容时效性截至2025.6.7

tvm version 0.21.dev0

Read More

CSAPP 第一章学习笔记

计组、操作系统、编译原理在奕行智能二面的时候被问烂了,几乎是完全答不上来

计划是看CSAPP,短期内临时补充薄弱的体系结构基础知识,避免再次被问烂掉,长期上作为ics基础为学习os和编译原理,搓riscV cpu和编译器提供知识储备。

指令集的计划选riscV,毕竟趋势摆在这里。

至于编译方面,暂时还很难确定要做什么,还得再看看,等快速的补完基础再说。

因为是个人笔记,仅给自己复习用,所以我只记比较生疏/不常见的定义,熟悉的完全不会提及。

Read More