Java 查漏补缺之 Thread 类中 interrupt() interrupted() isInterrupted() 区别

Thread 类中有三个方法长得非常像,也特别容易混淆,但是使用起来却非常不同: public void interrupt() // 无返回值 public boolean isInterrupted() // 有返回值 public static boolean interrupted() // 静态,有返回值 解释 interrupt(): 中断本线程 myThread.interrupt();// 中断的是调用 interrupt() 方法的线程 阻塞于 wait/join/sleep 的 Read more ...

2016-04-02 java , thread , interrupt

每天学习一个命令:fdisk 查看磁盘详情

fdisk 命令用于观察硬盘实体使用情况,可以用来列出机器中所有磁盘的个数,也能列出所有磁盘分区情况,也可对硬盘分区(适用于 2T 以下磁盘,高于 2T 磁盘使用 parted)。 常见用法 显示所有磁盘的分区详情 fdisk -l 常见的磁盘标示都是 sda, sdb 类似,而分区则是在磁盘标示后面添加数字,比如 sda1, sda2, … , sdb3 等等。 选择进行操作的磁盘 fdisk /dev/sdb 对 U 盘进行格式化,其他设备同理。 # 查看 U 盘挂载点(此例是 /tmp/mnt/sda1) $ df -h Fil Read more ...

2016-04-02 fdisk , disk , linux , partition , command

MySQL 中的大小写敏感设置

默认情况下 MySQL 中存储内容不是大小写敏感的。MySQL 的大小写和建数据库时的排序规则有关。 utf8_bin 则是将字符串中的每一个字符用二进制存储,bin 是 binary case sensitive collation,区分大小写 utf8_general_ci 不区分大小写,ci 为 case insensitive utf8_general_cs 区分大小写,cs 为 case sensitive 缩写 建表时字段区分大小写 在建表时可以通过 BINARY 来区别 比如 CREATE TABLE test ( Read more ...

2016-04-01 mysql , sql , index

查看当前正在使用哪种 Shell

当前正在运行的 shell 路径被保存在 $0 环境变量中,可以使用如下方式查看 echo $0 根据不同系统的实现,输出可能会是当前正在运行的 shell,或者是当前运行的 shell 的路径。 prompt:~$ echo $0 /bin/bash prompt:~$ sh sh-4.0$ echo $0 sh sh-4.0$ exit exit prompt:~$ /bin/sh sh-4.0$ echo $0 /bin/sh sh-4.0$ $SHELL 变量保存了用户偏好的 shell,而不是当前正在运行的 shell。 更多关于 Read more ...

2016-03-27 linux , shell , bash , sh , zsh

推荐网站之邮件签名:htmlsig

推荐好用的网站系列之生成邮件签名 htmlsig 。想要一个漂亮的邮件签名,又不想自己写 html,最好的方法就是找一个模板然后自己填写内容。这个网站就是这样的。 官网地址:https://htmlsig.com/ 样式1 样式2 样式3 样式4 当然我本人最喜欢样式2. 如果稍微懂一点 html 知识,将模板下载下来然后自己手动修改倒也是不错的选择。 生成自己的模板之后,Gmail 和 Inbox 都可以使用复制粘贴的方式将签名添加进去。 Read more ...

2016-03-23 website , 推荐网站

C++ 解析JSON

因项目需求,需要使用 C++ 解析 JSON。 RapidJSON 第一种方法,使用 RapidJSON 可以方便的用来生成或者解析 JSON。 项目地址:https://github.com/miloyip/rapidjson RapidJSON 是只有头文件的 C++ 库。使用时只需要把 include/rapidjson 复制到项目目录中即可。 类似如下的JSON,其中包括Object,包括Array,掌握解析该JSON,基本 RapidJSON 解析可掌握: { "ret": "101", "error": [ { Read more ...

2016-03-17 C++ , JSON , 经验总结 , rapidjson , boost

中国科技馆一日游

早上去的时候一大群熊孩子在外面排队吓得我差点想要放弃,其实后来才发现到的时候没有开馆,排了一会儿队就进去了,还是很快的。其实这个地方还只适合亲子去游玩,如果真的高中都毕业了,真的看到没有意思了,涉及到的一些物理,化学小道具都是课本上曾经存在过的实验。如果有机会未来带小孩来玩一玩还是挺不错的。 进门就能看到这只巨大的恐龙化石。 去的时候直接从顶层往下逛的,馆中走道还有不少奥运的雕塑。 在上几层物理展馆中还是有不少有趣的玩意儿的,没拍多少照片,让我驻足的有如下的傅科摆,曾经屋里课本上学单摆的时候有看到过。当然傅科摆也间接地证明了地球的自转。 Read more ...

2016-03-12 经验总结 , beijing , travel , 游记

Goodbye Picasa

Google Photos 官网:http://googlephotos.blogspot.com/ Picasa Resources : https://sites.google.com/site/picasaresources/Home/Picasa-FAQ 这个网站整理了 Google Picasa Help Forum 中的很多问题,也解决了困惑我很久的问题,比如 新 Google Photos 中相册的排序问题,比如 Google Photos 中分享出去照片自定义大小的问题,比如 Picasa Web Album 关闭之后的问题。 总之 Read more ...


排序算法

排序算法复习,插入排序,选择排序,冒泡排序,希尔排序,[[归并排序]],堆排序,快排。 关于排序算法的 stable 稳定性,排序保存原始数据顺序则稳定,否则不稳定。 关于原址排序,算法需要额外的空间计算或者保存数据, in-place sorting ,归并排序为非原址排序 not-in-place sorting。 关于时间复杂度,归并排序,堆排序,快排有相对较快的速度 O(n*log(n)) 稳定性 排序前后两个相等的数的相对位置不变。 有一些排序算法天然是稳定的,比如 Insertion Sort, Merge Sort, Bubble Read more ...

2016-03-09 c++ , sort , algorithm , python

每天学习一个命令:nslookup 查询调试 DNS

最近配置路由器 pdnsd,经常需要调试 DNS 信息,就离不开调试工具了。 nslookup 用来查询 DNS 记录,查看域名解析是否正常,经常被用来在网络故障时诊断网络问题。 命令 在 Ubuntu 下可以使用如下命令安装: sudo apt install dnsutils 格式: nslookup [-option] [name | -] [server] 使用 nslookup 是一个查询 Internet domain name server 的工具,nslookup 有两种模式: interactive 交互模 Read more ...

2016-03-09 linux , command , nslookup , dns , network

最近文章

  • Claude Code 第三方 API 代理配置 Headroom 最近在给自己的 AI 编程工作流加入 [[Headroom]] 上下文压缩工具时,遇到了一个需要特别注意的配置问题。相信有不少人和我一样,为了降低成本或者改善访问体验,已经在 [[Claude Code]] 或 [[Codex]] 里配置了第三方 API 代理,比如一些第三方聚合平台或者自建的转发服务。这时候想再套上一层 Headroom 做 Token 压缩,就需要特别注意配置细节,不然两层代理会打架。
  • Headroom:让 AI Agent 少花冤枉钱的上下文压缩工具 最近一段时间我在深度使用 [[Claude Code]] 做开发工作,用得越多,账单就越触目惊心。一次稍微复杂一点的任务,比如让它读取几个文件、搜索一下代码、跑一下测试,轻轻松松就能烧掉超过 100K 的 Token。更让人无奈的是,这 100K 里面有相当大一部分是重复冗余的内容——工具调用的输出、日志、搜索结果,它们被原封不动地塞进上下文,再一次次地发给模型,而模型其实只需要其中很小一部分关键信息。
  • 用 Harbor 搭建私有 Docker Registry:从安装到日常使用的完整实践 我维护过几个跑在自己服务器上的小项目,构建出来的 [[Docker]] 镜像最早都是直接推到 [[Docker Hub]] 上的。用了一段时间之后开始觉得别扭:一些只在内网跑的服务镜像,没必要也不应该传到公开的仓库;Docker Hub 对匿名拉取做了限流之后,CI 流水线偶尔会因为触发了速率限制而失败;再加上想给不同的项目、不同的同事分配不同的访问权限时,公共仓库这套体系根本满足不了。折腾到后来我意识到,是时候在自己的机器上搭一个真正能用的私有镜像仓库了。
  • 用 New API 打造个人 AI 网关:统一管理所有大语言模型接口 这段时间我同时用着好几个大语言模型服务:日常写作和代码靠 [[Claude]],轻量任务交给 [[Codex]],搜索增强用 [[Antigravity]],还有几个本地跑着 [[Ollama]] 的小模型供离线场景使用。每个平台各自的 API Key 散落在项目环境变量里,月底要去好几个后台分别对账,想横向对比两个模型的输出还得打开不同的网页或客户端来回切换,很费事。
  • Surfingkeys:比 Vimium 更强大的浏览器键盘控制扩展 最早接触 [[Vimium]] 是在学习 Vim 编辑器之后,那种能用键盘完全控制浏览器的感觉确实让人着迷。不用频繁移手到鼠标,链接跳转、页面滚动、标签切换全用键盘搞定,效率提升的体验是实实在在的。用了几年 Vimium 之后,我开始接触到 [[Surfingkeys]],起初以为不过是另一个同类扩展,但深入用下来才发现这两者的差距远比我想象的大。