
Erzbir
咕咕咕
以 Native 的方式运行 Java 程序
介绍 Java 由于其机制, 其 Java 程序通常都是由 JVM 来解释运行, 所以运行 Java 程序必须使用 java -jar 或其他命令来运行, 而不能在没有 JVM 的情况下运行 通过 GraalVM 可以使用 native-image 命令将 Java 的 class, module,
Java 插入式注解处理器
这是什么? Java 中提供了 Annotation 注解机制. 注解就像是一个标识符, 等待一个处理器根据代码中的注解执行对应的逻辑, 例如 @Setter 注解在被注解处理器扫描到之后就会在源码中插入对应的 setter 方法 Java 的注解处理分为: 运行时处理 和 编译时处理, 运行时注解
工作记录 (一)
虽然叫做 "工作记录 (一)", 但其实在此之前有很多次了, 我从大二开始负责整个学校的网络维护, 趁现在还在任职, 记录一下 (或许以后我会把回忆中的东西拿到现在来写) 今天是星期六, 因为昨晚喝酒睡得比较晚, 打算十二点醒的, 结果被古茗好几个电话叫醒, 说是网络故障了 在简单的远程处理之后,
记录修复的两个 BUG
这个两个问题都有点久远了, 但想起了搭建博客的初衷, 于是现在开始记录... 项目介绍 此项目是一个博客建站工具 项目地址: https://github.com/halo-dev/halo 遇到的 BUG issue 1: #4326 issue 2: #4430 第一个问题 问题: 附件预览中的
设计模式笔记
这个并非教程, 是我学习设计模式的时候记下的笔记, 有很多写得比较简单 此笔记只能用作简单参考, 详细应该看书和权威资料 参考内容: Head First 设计模式 Refactoring.Guru 菜鸟教程 设计原则: 开闭原则: 对扩展开放, 对修改关闭 接口隔离原则: 类之间的依赖关系应该建立
使用谷歌 Indexing API 进行推送
此文章针对插件: https://github.com/Stonewuu/halo-plugin-sitepush 的谷歌推送部分 谷歌的推送需要很多配置, 有些麻烦, 并且网络环境得保证能访问谷歌 这是官方教程: https://developers.google.com/search/apis/
服务加载器
利用 ServiceLoader 可以实现接口与实现的分离, 并且可以让一个 接口有多种实现以供不同情况下的选择, 也可以用于 API 模块 和 实现 模块的分బ
爱尔兰哨笛入门选购指南
前言: 想必你是听到了某首哨笛曲才想入坑的, 这是一门小众的乐器(至少国内是这样), 网上的教程不多, 本文主要针对入门哨笛的选购, 对于提到的中端哨笛可以考虑, 高端哨笛可以做个了解. 这篇文章并不谈工艺 / 历史背景等等, 只做入门选购指南. 这个圈子很小, 但瓜却不少, 且行且珍惜... 上图
Java - Lambda表达式
Lambda 语法: 使用 lambda 表达式的一般语法是: (Parameters) -> { Body } 参数括在括号中, 与方法相同, 而 lambda 表达式主体是用大括号括起来的代码块 lambda 表达式主体可以有局部变量和语句 我们可以在 lambda 表达式主体中使用 break
Java - 多线程基础
多任务: 真正的多任务是在多核 CPU 之后, 在此之前所有多任务都是伪多任务 高并发: 多个任务抢占少量资源 高并发三大要素: 可见性 原子性 排序性 Java 代码, 底层最后都会编译成汇编指令, 汇编指令做优化时代码执行顺序可能改变, 这样可能导致双重检查锁失效 时间片: 每个任务运行的时间,