Java 类加载器

虚拟机把描述类的数据从 Class 文件加载到内存中,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是 Java 虚拟机的类加载机制。 类加载的时机,整个生命周期包括: Loading Verification Preparation Resolution Initialization 初始化 Using Unloading 其中 Verification, Preparation, Resolution 三个部分称为 Linking。 四种情况必须对类进行“初始化”。 Read more ...

2019-10-16 java , class , class-loader , jvm

解压和打包 jar 并手动上传到 Nexus 记录

解压和打包 jar 包,使用如下的方式。 unpack jar xf filename.jar pack jar cf filename.jar path/to/dir 手动上传到 nexus 将打包好的 jar 包上传到 Nexus mvn deploy:deploy-file -DgroupId=my.group.id \ -DartifactId=my-artifact-id \ -Dversion=1.0.1 \ -Dpackaging=jar \ -Dfile=realfilename.jar \ -Dgenerat Read more ...

2019-10-12 nexus , jar , maven , java

在 Linux 上测试硬盘读写速度

记录一下在 Linux 下测试硬盘读写速度的命令和方法。 dd 使用 dd 测试写速度,千万有注意 of 后接的文件必须是一个不存在的文件,否则可能造成数据丢失! sync; dd if=/dev/zero of=/tmp/tempfile bs=1M count=1024; sync 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.55331 s, 421 MB/s 同样的道理,如果要测试一个外部存储,需要知道挂载点,然后用 d Read more ...

2019-10-11 linux , dd , hdd , ssd

Syncthing 又一款同步工具

昨天在整理同步工具的时候接触到了 [[Syncthing]],简直秒杀了我现在使用的任何同步工具,所以不得不花一些篇幅来记录一下。 在看到 Syncthing 的介绍时,就非常好奇它的同步原理。也幸亏它的官方文档也有非常详细的 QA 几个比较重要的点: 和 BitTorrent/Resilio Sync 的区别在于,Syncthing 开放源代码,使用开放协议,避免 Resilio Sync 闭源协议的安全问题 Syncthing 的同步原理,和 BT 类似,会将文件分片传输,当越多设备在线,那么共享速度越快 Syncthing 依赖 Read more ...


同步工具整理总结

陆陆续续用过不少同步工具,资料备份,各个设备间同步文件,从商业化的工具到命令行工具,但总还是一直在寻找一款足于满足我所有需求的工具。这里就整理一下,顺便整理一下我自己的思路。不久前就一直在思考一个问题,数字文件的生命有多长,以前看到过一句话,几十年前父母写下的日记如今依然能从旧书柜中翻出,数十年前的胶卷照片依然还很清晰,但往往几年前的网络文章,或者数字照片可能如今随着网络服务的关闭,物理硬盘的损坏而无法恢复。有人尝试使用多地备份,有人尝试云服务备份,却都无法从根本上解决这个问题,当然现在的我依然没有办法完全的解决这个问题。 目前我从两个方面来规避这个问 Read more ...

2019-10-10 sync , tools , linux , rsync , btsync , syncthing

lsb init scripts

I found someone submit a pull-request to redis, which modify the init.d script. The modification make me curious about the init script. So this is the research result. LSB stand for Linux Standard Base. LSB-compliant init scripts need to: provide, at least, the following ac Read more ...

2019-10-09 lsb , init , debian , ubuntu , linux , startup , script

支持对象存储的开源存储系统

最近整理文档,想起来自己的腾讯云,和 Google 云,好几十 G 的对象存储都空着,虽然腾讯云填了一部分同步的书籍,但是还是没有好好利用起来,然后就突然想起来之前看到过有人自己写了一份网盘同步程序,将对象存储作为同步工具来使用,这么一想确实可以尝试一下,毕竟现在 Dropbox 容量渐渐不够用了,如果能作为一份扩充也倒是不错的选择。所以这里就整理一下目前可用的一些方案,然后再做一下决择。 Cloudreve 这是一款 PHP 所写的云盘系统,支持多家对象存储,设计采用 Material Design ,看起来也不错。 https://gith Read more ...


Use shadowsocks libev

This post is under the environment of Ubuntu 18.04, this instruction will guide how to install shadowsocks libev both server side and client settings manually. And show the step to configure the simple-obfs. The source code is in following two repositories: https://github.co Read more ...


排查导致 CPU load 过高的 Java 线程

When you encouter the high cpu load caused by java application, you may follow these steps to troubleshooting. identify the PID identify the PID, use top or htop then press P, sorted by CPU identify the thread identify the thread using top -n 1 -H -p PID, this command will giv Read more ...

2019-09-26 java , linux , top , cpu , load

Vim 插件之:vim-abolish

vim-abolish 又一款 Tim Pope 大神所制作的插件,这款插件扩展了一条名为 :Subvert 的自定义命令,作用类似于 Vim 内置命令 :substitute 的扩展。 https://github.com/tpope/vim-abolish 比如说想要将整个文档中的 man 和 dog 两个单词交换,如果用 Vim 原生的替换比较麻烦,而使用该插件则只需要 :%S/{man,dog}/{dog,man}/g 在 GitHub 页面上也有大量的使用方式介绍,这里再提一个官方页面上的用例,比如想要把所有的 facility Read more ...

2019-09-22 vim , vim-plugin , tim-pope

最近文章

  • 利用 PirateShip 打单节省美国转运费用 之前因为申请 [[ITIN]] 已经申请了一个 Anytime Mailbox 美国的私人地址,但是如果直接让 Anytime Mailbox 房东转寄邮件,价格非常昂贵,以我自己的经验只邮寄 0.1 磅不到的信件,房东报价就高达 70 美元。所以这篇文章我就总结一下如何与 Anytime Mailbox 的房东进行沟通并让房东使用我们自己提供的邮寄单,将我的物品从美国寄送回来。
  • Mint Mobile 又一家美国移动网络运营商 在之前的一篇文章中,因为在 Mint Mobile 上的商城上购买了 299 美元 Pixel 9 手机,暂时了解到了 Mint Mobile 这家公司,这里再来详细地介绍一下这家公司。
  • 299 USD 买了一台 Google Piexl 9 前些天黑五的时候就看到了 Pixel 优惠通知,299 美元可以购买一台 128GB Google Pixel 9,但当时没具体看,后来回来又看到一篇推送,然后查了一下 Pixel 的原价 799 感觉还是可以看看怎么购买的。
  • Anthropic 开源 Model Context Protocol(MCP) 创建了 AI 和数据源的双向连接 Anthropic 开源了 Model Context Protocol 简称 MCP 协议,是一种新的标准,用于将人工智能助手连接到数据所在的系统,包括内容存储,业务工具和开发环境。如果一句话来简单的介绍,就是 Anthropic 通过 MCP 协议将人工智能拓展到任意支持 MCP 协议的地方,而不仅仅局限于网络聊天对话,举一个例子就是如果通过 MCP 连接了本地文件夹,那么就可以让 Anthropic 操作本地文件夹,比如让 AI 在本地生成一篇文章,创建一个项目模板;或者通过 MCP 连接 IDE,那么就可以让 AI 直接读取并修改本地代码。
  • Windsurf 又一款 AI 智能编辑器 Windsurf 是 codeium 公司发布的一款 AI 辅助编程工具。