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

最近文章

  • Claude Code Skills 功能介绍以及使用经验 在我们进一步介绍 Skills 之前,先来回顾一下 Claude 已经给我提供的扩展:
  • 利用 AI 来完成实盘交易 基础知识
  • Claude 免费领一个月 Pro 早上看到 Claude Pro 如果使用公司(域名邮箱)注册可以免费一个月,直接在注册页面就能看到。截止 2025 年 10 月 30 日。
  • WailBrew:给 Homebrew 增加简单现代化的图形界面 在 macOS 开发者和技术爱好者的工具箱中,Homebrew 无疑占据着举足轻重的地位,作为 macOS 上最流行的包管理器,它极大地简化了软件的安装和管理流程。然而,对于不熟悉命令行的用户来说,记忆繁琐的命令行指令可能会成为一道门槛。正是在这样的背景下,WailBrew 应运而生——一款专为 Homebrew 打造的现代化图形界面管理工具,让包管理变得前所未有地简单直观。
  • balenaEtcher 开源跨平台镜像写入工具 balenaEtcher 是一个开源的跨平台镜像写入工具,可以将操作系统镜像文件安全写入到 SD 卡或者 USB 设备(比如 U 盘中),由 balena 公司开发,大大简化了镜像文件烧录的过程。无论是需要安装 Linux 发行版,或者是制作树莓派系统盘,或者安装 Proxmox VE,还是制作 Ventoy 多系统启动盘,balenaEtcher 都可以以最简单的方式完成。

赞助