Golang 隐式接口实战以及与 java 接口的区别
写在前面
最近在看 go语言学习指南-惯例模式与编程实战, 看到接口那块有点困惑了, 因为之前一直是学 C++的, 对于接口了解的不多, 通过 GPT 补补课.
首先介绍一下接口, 接口其实是针对一组方法(行为)的抽象, 与抽象类有所不同(虽然在 C++中都是通过虚基类实现的), 抽象类是类层次结构的抽象, 反映了类之间的关系.
下面的代码主要来自 go语言学习指南的 7.6节, 接口是类型安全的鸭子类型.
Java 的接口(显式声明)
Java 的接口通过 interface 来声明, 通过 implements 实现接口. 接口本质上也是一个类, 在这个类中给出了需要实现的方法的签名.
但是 Java 的接口使用的是显式声明, 也就是说每次实现接口都要指定具体实...
原地算法的小总结
写在前面
好久没写博客了, 这次来总结一下原地算法(操作), 去年秋招被问到了两次, 感觉还是要好好理解一下的. (变式的题目比如手写 memcpy 本质上也是原地算法)
所谓原地算法, 就是在不用额外的空间(例如新开数组)的条件下, 仅遍历一次(或者有限次, 最后的时间复杂度仅为$O(N)$)的一种算法, 其本质就是双指针(不过有时候不一定需要使用两根指针).
经典的排序算法中例如堆排序就用了原地操作来完成元素的上溯和下溯, 插入排序和选择排序中也是类似的原地操作.
在 C++的 STL 中有的算法就用到了这个思路, 比较常见的就是 vector 容器的 remove 操作, 用过的小伙伴应该知道 remove 不会真的删除所有的元素, 而是将待删除的元素移动到最后,...
Jekyll博客添加代码框一键复制按钮与复制提示
写在前面
之前一直想试试代码一键复制, 但是看了很多博客都是大改主题, 自己并没有系统学过前端的东西, 只能求助于 AGI 了.
结果发现 chatGPT3.5 免费版还是厉害, Gemini 虽然上了 Pro 还是差点意思
我的博客在这里: zorchp.github.io
js 逻辑
assets/js/copy-to-clipboard.js
document.addEventListener('DOMContentLoaded', function () {
var codeBlocks = document.getElementsByTagName('code');
for (var i = 0; i < codeBlocks.leng...
Kali live持久化的最新方法(以联想小新潮为例)
写在前面
最近找到一块闲置的 u 盘, 想着重新折腾一下 Kali Linux 的 USB 持久化, 其实步骤不复杂, 但是 Windows 和联想小新潮 7000 的 bios 设置比较迷(可能是因为我之前装过双系统, 很多设置都要变)
Windows10 22H2 Intel i5
kali Linux2023.4 amd64
aigo u330 64GB
镜像下载
这里一定要下载 live 镜像, 用 ndm 开多线程十几分钟就下载好了. 下面附最新的链接
https://cdimage.kali.org/kali-2023.4/kali-linux-2023.4-live-amd64.iso
烧录
这里推荐用 Rufus 工具, 开源而且能够...
Macos虚拟机lima 的进阶配置
写在前面
记录一下配置lima 虚拟机时候的一些心得.
网络
上回说到, 代理会被自动导入到 lima 的实例中, 怎么取消这个设置呢?即使下面的操作, 也没有效果…
默认配置 yaml
lima/examples/default.yaml at master · lima-vm/lima;
# Extra environment variables that will be loaded into the VM at start up.
# These variables are consumed by internal init scripts, and also added
# to /etc/environment.
# If you set any of ...
Linux 发行版换源
写在前面
在 docker 使用 Linux 发行版, 想要安装包需要换国内镜像源, 而换源需要编辑镜像列表文件, 但是编辑的话需要vim或者 nano, 这俩编辑器又得换源之后才能安装…..
解决死锁的办法: 用 sed 啊!
下面的命令都运行在 sudo 权限下
archlinux
sed -i '1s/^/Server = https:\/\/mirrors.tuna.tsinghua.edu.cn\/archlinux\/$repo\/os\/$arch\n/' /etc/pacman.d/mirrorlist
ubuntu
对 Intel 架构
sed -i 's|http://archive.ubuntu.com/ubuntu|https:...
共计 455 篇文章,57 页。
您是Zorch的第 个小伙伴
Hits