Skip to content

源码

16 篇文章

  • JDK源码-StringBuilder

    1. int newCapacity = (value.length << 1) + 2; 此处+2是为了容纳最后的'\0'; 2. 如果不够用,尝试将容量扩容到需求长度 3. 如果还不

    • 分类 · JDK源码
  • JDK源码-JUC包中的Atomic类

    JUC包中有多个常用类型的原子操作包装类,内部封装了对于数值、数组的操作。 针对并发计算的情景,提供了Adder和Accumulator类来提高操作效率,前者接收操作数,后者接收一个Function作

    • 分类 · JDK源码
  • JDK源码-AQS

    AQS位于```java.util.concurrent.locks```包作为JDK实现并发处理的核心类,提供了实现各种锁所需要的一些基础能力,比如公平锁,互斥锁等。 AQS内部维护一个双向链表(C

    • 分类 · JDK源码
  • Java指令重排序与volatile关键字

    完整代码参见Github,其中关键代码如下: ```java Thread thread1 = new Thread( () - a = 1;

    • 分类 · JVM
  • JDK源码-HashMap增删与扩容

    public HashMap(int initialCapacity, float loadFactor) - initialCapacity:初始容量,传入时,threshold(下次扩容阈值)为t

    • 分类 · JDK源码
  • Dubbo源码解析-SPI+动态切换:Extension机制

    JDK的SPI机制允许在打包的时候,通过META-INF下的配置文件来切换某接口不同的实现,但是一般认为这种动态切换发生在打包过程,程序运行前。Dubbo在此基础上进行了扩展,以方便打包,并提供运行时的动态切换功能。

    • 分类 · Dubbo
  • Dubbo源码-框架初始化

    Dubbo通过利用Spring的生命周期钩子、监听器等机制来初始化及构造自己的配置。 - OverrideDubboConfigApplicationListener:负责加载Dubbo配置,优先级:

    • 分类 · Dubbo
  • Dubbo源码-RPC调用

    Dubbo调用中,Provider方提供监听程序,在监听到某个Service的调用后,通过内部的代理来调用对应实例的相应方法,将结果或异常序列化后通过socket连接返回给调用方 1. Spring扫

    • 分类 · Dubbo
  • Dubbo源码-DubboBootstrap.start

    在Spring上下文refresh完成后,会广播```ContextRefreshed```事件,此时```DubboBootstrapApplicationListener```的监听被触发,调用d

    • 分类 · Dubbo
  • SpringBoot源码-App启动过程

    1. a = new SpringApplication(primarySources) 2. a.run 1. 判断webApplicationType:通过尝试使用ClassLoader加载对应的

    • 分类 · Spring
  • SpringContext源码(2)-refresh方法

    AbstractApplicationContext类作为所有Context的共同父类,定义了refresh()方法,代码如下: ```java /** * Load or refr

    • 分类 · Spring
  • SpringContext(3)-配置文件读取成Resource数组

    调用getResource(location)方法获取Resource数组时,程序中判断resourceLoader是否是ResourcePatternResolver实例,是则调用ResourceP

    • 分类 · Spring
  • SpringContext(4)-xml中的Bean定义节点加载成BeanDefinition对象

    对于XML形式的Resource,实际调用XmlBeanDefinitionReader实例的reader.loadBeanDefinitions(configLocations)方法 下面是XmlB

    • 分类 · Spring
  • SpringContext(5)-BeanDefinition对象初始化为Bean

    在完成了Environment等必要的bean的创建后,AbstractBeanFactory开始调用doGetBean方法来进行具体的bean创建过程: 1.11.1 初始化自定义的单例B

    • 分类 · Spring
  • SpringContext(6)-CreateBean

    实际执行具体的bean创建的,是refresh过程新建的DefaultListableBeanFactory的父类AbstractAutowireCapableBeanFactory中的createB

    • 分类 · Spring
  • SpringContext源码(1)-Xml上下文初始化与Bean获取

    本系列主要介绍了SpringContext框架中,通过纯xml配置来初始化一个ApplicationContext,并通过class 参数来获取实例bean的过程,本节主要介绍了学习过程中的配置文件,

    • 分类 · Spring

Linux

10 篇文章

  • ACME自动申请HTTPS证书(国内版)

    由于某些原因,直接使用官方的安装方式大概率碰到网络问题,因此使用下面的方案安装,这个方式是来源于acme的github官方文档 ```shell git clone https://gitee.com

    • 分类 · Linux
  • pgcacher 输出样例

    $ ./pgcacher -pid 1 +-------------------------------------------------------------------------------

    • 分类 · 疑难问题
  • 命令行申请证书

    参考教程 以HE为例 在```~/.acme.sh/account.conf```文件中增加下列配置 ```conf export HE_Usernmae='username' export HE_P

    • 分类 · Linux
  • AndroidTV安装CA证书

    1. openssl x509 -inform PEM -subject_hash_old -in your-certificate.pem | head -n 1 将 your-certif

    • 分类 · Linux
  • LVM扩容

    LVM构建在物理磁盘的分区之上,分别映射到各种文件系统的路径中 LVM(Logical Volume Manager(逻辑卷管理)的简写)文件系统由PV\VG\LV三层组合而来,其中 1. PV与磁盘

    • 分类 · Linux
  • 在Ubuntu系统安装Monaspace字体

    在Ubuntu系统安装Google新开源的Monaspace字体 ```bash !/bin/bash mkdir -p $HOME/.local/share/fonts/monaspace mv $

    • 分类 · Linux
  • Arch Linux不完全折腾指南

    ```bash sudo steamos-readonly disable passwd sudo flatpak remote-modify flathub --url=https://mirror

    • 分类 · Linux
  • 修复Ubuntu系统下IDEA中文输入法不跟随光标问题

    ```shell git clone https://gitee.com/mirrors_JetBrains/JetBrainsRuntime.git git clone https://github

    • 分类 · IDEA
  • 1. Linux小技巧

    - 查看Redis配置文件路径:redis-cli -p 6379 info | grep 'config_file' 相关网址 - 需要永久配置密码的话就去redis.conf的配置文件中找到req

    • 分类 · 知识&技巧
  • Linux 使用update-alternative切换Java版本

    ```shell sudo update-alternatives --display java sudo update-alternatives --config java ```

    • 分类 · Linux

Spring

8 篇文章

Context

6 篇文章

JS

6 篇文章

  • JS:prototype chain

    每个JS对象都有一个prototype,这个prototype又有自己的prototype,以此类推直到某个对象的prototype 是null为止,一个一个串成链。 - ECMA2015: `Obj

    • 分类 · JS
  • JS: Array.prototype.reduce

    reduce是js里Array.prototype的方法,用来通过给定的函数,对数组进行迭代后得到单值。 1. 回调函数callback的入参如下: - accumulator: 上次调用此回调

    • 分类 · JS
  • JS里的this

    处于window上下文或者不在任何function中时,this指向window,不管当前是否处于use strict状态。 在一个function中调用this时,要看function如何被调用。

    • 分类 · JS
  • JS的展开语法(...)

    用在函数参数列表里,收集参数列表 `...args`: ```js function funcName(...args) { // 此时args等同于arguments,参数名args可随意定

    • 分类 · JS
  • Vue中的this

    ES5定义的内容,进入标志为 `"use strict"`。 严格模式下,this的值不再指向全局对象。 ```js function strict() { 'use strict';

    • 分类 · JS
  • 模块化:module.exports, exports, require, export/import

    - 标准:Node.js使用的模块化标准 - 导出:`module.exports` 或 `exports` - 导入:`require()` - 特点: - 运行时加载 - 同步加载 -

    • 分类 · JS

Ubuntu

5 篇文章

  • 将EasyConnect放入Docker容器运行

    以https://github.com/Hagb/docker-easyconnect仓库为基础,进行改造,首先将代码```git clone```到本地 源代码使用阿里云的debian镜像,速度相

    • 分类 · Linux
  • Ubuntu快捷方式(.desktop文件)与开机自启

    KUbuntu的快捷方式主要是.desktop文件方式存储,影响搜索,dock栏的快捷方式,同时还可以设置开机自启 KUbuntu的desktop文件主要在下面几个地方,在任何一个地方存在(包括符号链

    • 分类 · Linux
  • Ubuntu18.04 server 配置静态IP地址

    ```shell sudo vi /etc/netplan/00-installer-config.yaml sudo netplan try ``` 内容参考 ```yaml network:

    • 分类 · Linux
  • Ubuntu系统使用Wine方式安装钉钉和微信

    ```bash sudo apt-get install -y wine winbind gnome-shell-extension-top-icons-plus gnome-tweaks ``` 从

    • 分类 · Linux
  • Ubuntu安装Nvidia闭源驱动

    1. 在驱动安装之初,首先要清除老驱动或者没清除干净的驱动残留: ```shell sudo apt-get remove --purge nvidia* ``` 2. 把系统

    • 分类 · Linux

Dubbo

4 篇文章

  • Dubbo源码解析-SPI+动态切换:Extension机制

    JDK的SPI机制允许在打包的时候,通过META-INF下的配置文件来切换某接口不同的实现,但是一般认为这种动态切换发生在打包过程,程序运行前。Dubbo在此基础上进行了扩展,以方便打包,并提供运行时的动态切换功能。

    • 分类 · Dubbo
  • Dubbo源码-框架初始化

    Dubbo通过利用Spring的生命周期钩子、监听器等机制来初始化及构造自己的配置。 - OverrideDubboConfigApplicationListener:负责加载Dubbo配置,优先级:

    • 分类 · Dubbo
  • Dubbo源码-RPC调用

    Dubbo调用中,Provider方提供监听程序,在监听到某个Service的调用后,通过内部的代理来调用对应实例的相应方法,将结果或异常序列化后通过socket连接返回给调用方 1. Spring扫

    • 分类 · Dubbo
  • Dubbo源码-DubboBootstrap.start

    在Spring上下文refresh完成后,会广播```ContextRefreshed```事件,此时```DubboBootstrapApplicationListener```的监听被触发,调用d

    • 分类 · Dubbo

XmlContext

4 篇文章

并发

3 篇文章

  • JDK源码-JUC包中的Atomic类

    JUC包中有多个常用类型的原子操作包装类,内部封装了对于数值、数组的操作。 针对并发计算的情景,提供了Adder和Accumulator类来提高操作效率,前者接收操作数,后者接收一个Function作

    • 分类 · JDK源码
  • JDK源码-AQS

    AQS位于```java.util.concurrent.locks```包作为JDK实现并发处理的核心类,提供了实现各种锁所需要的一些基础能力,比如公平锁,互斥锁等。 AQS内部维护一个双向链表(C

    • 分类 · JDK源码
  • Java指令重排序与volatile关键字

    完整代码参见Github,其中关键代码如下: ```java Thread thread1 = new Thread( () - a = 1;

    • 分类 · JVM

注解

3 篇文章

  • Java使用进阶-Java元注解

    在注解定义时,用在注解头部的注解,称为元注解,目前元注解在java.lang.annotation包内,分别```@Target```,```@Retention```,```@Documented`

    • 分类 · Java进阶
  • JavaSE进阶-注解:元注解@Target

    @Target的可能取值为以下枚举类中值的组合,指征当前的注解类可以在哪些位置使用 ```Java public enum ElementType { /** Class, interface

    • 分类 · JDK源码
  • JavaSE进阶-注解:基础与定义

    注解是一类特殊的类,在类声明、方法声明、参数列表等位置添加注解,并结合代理等设计模式,可以提高代码的可读性,简化代码等 注解的定义形似接口,具体如下: ```Java @Target(ElementT

    • 分类 · JDK源码

Docker

3 篇文章

  • qBittorrent Docker 启动命令

    docker create --name=qbittorrent -e PUID=1000 -e PGID=1000 -e TZ=Asia/Shanghai -e UMASK_SE

    • 分类 · Linux
  • Docker镜像设置

    ```shell sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-m

    • 分类 · Linux
  • Docker容器自动重启

    ```shell docker run --restart=always ``` ```shell docker update --restart=always <CONTAINER ID ``

    • 分类 · 知识&技巧

MySQL

3 篇文章

  • MySQL在UUID建立索引导致的磁盘占用高

    对于MySQL数据库,建立BTREE索引时,如果选择在uuid类型的字段上建立索引时,会引起磁盘占用暴增 1. 创建一个新的MySQL服务器 新建MySQL服务的方法有多种,根据自己的技术储备、机器资

    • 分类 · MySQL
  • mysql 修改全局sql_mode

    ```sql select @@sql_mode; set @@sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR

    • 分类 · Linux
  • mysql重置密码

    参考https://www.cnblogs.com/activiti/p/7810166.html 操作系统为centos7 x64 1、修改 /etc/my.cnf,在 [mysqld] 小节下添加

    • 分类 · Linux

分布式

2 篇文章

  • 缓存击穿、穿透与雪崩

    缓存击穿指数据存在,但是由于缓存失效同时由于短时间的高并发,导致数据库承受大量读请求,常见于Cache-Aside Pattern。问题出现在缓存失效后,一瞬间收到大量请求,所有的请求同时发现缓存失效

    • 分类 · Redis
  • 分布式邮件推送系统设计草稿

    分布式邮件推送系统: 1. 前提:服务器NTP时间同步,误差不超过1秒 2. 使用DB持久化存储JOB配置 3. 1. 任务重复执行: 1. 服务器时间NTP同步 2. redis锁

    • 分类 · 项目

内存

2 篇文章

  • pgcacher 输出样例

    $ ./pgcacher -pid 1 +-------------------------------------------------------------------------------

    • 分类 · 疑难问题
  • 一次k8s容器内存oom-kill问题研究

    公司最近逐步推进JRE8升级到JRE17,在解决了升级初期的一些库升级、兼容问题后,大部分应用容器趋于稳定。 随着升级的服务越来越多,最近发现部分升级JRE17服务的容器有零星的注册中心健康检查失败报

    • 分类 · 疑难问题

问题

2 篇文章

  • Tomcat服务,OOM导致异常不自动恢复研究

    某晚,收到同事的告警:“xx服务预发环境挂了,报超时和404错误,来回持续半个小时了,不像是发布导致的,看下?” 由于是预发环境,且整体影响面不大(只是间歇不可用),有足够的时间慢慢排查,因此暂时没有

    • 分类 · 经验&教训
  • 线程池死锁-线程池嵌套提交

    流量峰值时发现大量调用超时,通过链路追踪锁定超时发生的节点,隔离节点后,在Pod中使用```jstack```命令追踪进程: ```shell jstack -l 1 |grep "java.lang

    • 分类 · 线上问题

Array

2 篇文章

  • Array.prototype.fill()

    `fill()` 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。 ```js arr.fill(value[, start[, end]]) ``` - value:

    • 分类 · JS
  • Array.prototype.map()

    `map()` 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。 ```js arr.map(callback(currentValue[, index[, array

    • 分类 · JS

IDEA

2 篇文章

  • 解决Mac OS系统IDEA同步配置SSH登陆Git仓库报错问题

    IDEA提供了配置同步的功能,支持将配置保存到Git仓库,然后各台电脑/系统上的客户端自动同步仓库中的配置,入口如下: 使用说明见官方文档 在新版Mac OS系统下(我的是11.2),新生成ssh k

    • 分类 · 知识&技巧
  • IDEA文件头模板自动提示输入摘要

    1. 菜单中File- 2. Files选中Include -> File Header 3. 在右侧的编辑框中输入下列值 ```java /** * @

    • 分类 · 知识&技巧

JavaScript

2 篇文章

  • Array.prototype.fill()

    `fill()` 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。 ```js arr.fill(value[, start[, end]]) ``` - value:

    • 分类 · JS
  • Array.prototype.map()

    `map()` 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。 ```js arr.map(callback(currentValue[, index[, array

    • 分类 · JS

jvm

2 篇文章

k8s

2 篇文章

  • pgcacher 输出样例

    $ ./pgcacher -pid 1 +-------------------------------------------------------------------------------

    • 分类 · 疑难问题
  • 一次k8s容器内存oom-kill问题研究

    公司最近逐步推进JRE8升级到JRE17,在解决了升级初期的一些库升级、兼容问题后,大部分应用容器趋于稳定。 随着升级的服务越来越多,最近发现部分升级JRE17服务的容器有零星的注册中心健康检查失败报

    • 分类 · 疑难问题

Net

2 篇文章

  • ACME自动申请HTTPS证书(国内版)

    由于某些原因,直接使用官方的安装方式大概率碰到网络问题,因此使用下面的方案安装,这个方式是来源于acme的github官方文档 ```shell git clone https://gitee.com

    • 分类 · Linux
  • 远端开发机通过本机网络连接私有git仓库

    最近因为工作的原因需要使用到CUDA相关的组件,本地的Mac显然是没有的,因此需要远程开发,但是远程机器在云端,无法连接公司的Git仓库,因此需要代理,方案也比较简单 ```shell ssh -R

    • 分类 · Linux

nginx

2 篇文章

  • Nginx 反向代理 proxy_pass 配置

    Nginx的配置还是比较简单的,如: 1 2 3 4 location ~ /* { proxy_pass http://127.0.0.1:8008; } 或者可以 1 2 3 4 loc

    • 分类 · Linux
  • Nginx开机自动启动

    切换到/lib/systemd/system/目录,创建nginx.service文件vim nginx.service ```bash cd /lib/systemd/system/ vim ngi

    • 分类 · Linux

Self Host

2 篇文章

  • 命令行申请证书

    参考教程 以HE为例 在```~/.acme.sh/account.conf```文件中增加下列配置 ```conf export HE_Usernmae='username' export HE_P

    • 分类 · Linux
  • AndroidTV安装CA证书

    1. openssl x509 -inform PEM -subject_hash_old -in your-certificate.pem | head -n 1 将 your-certif

    • 分类 · Linux

SpringBoot

2 篇文章

  • SpringBoot中CK+MySQL多数据源结合MyBatisPlus配置浅探

    常见的基于Spring框架的web程序中,使用Mybatis作为ORM框架是一个很常见的方案,尤其是一些简单的CRUD场景下,使用```spring-data-starter-jdbc```配合```

    • 分类 · Spring
  • SpringBoot源码-App启动过程

    1. a = new SpringApplication(primarySources) 2. a.run 1. 判断webApplicationType:通过尝试使用ClassLoader加载对应的

    • 分类 · Spring

Vibe Coding

2 篇文章

  • 鱼和熊掌兼得:ACP协议搭建Vibe Coding环境

    一直以来,在我心目中,Vibe Coding工具环境的完美形态是IDE环境和最新的agent功能的完美结合,这个形态需要包含3个方面 1. 保持最新的agent能力,如Open Code类似,支持mc

    • 分类 · Vibe Coding
  • OpenCode快速配置

    先前一直用的是Claude Code Cli,配合自己的AI中继提供的三方便宜大碗的模型token,可以兼顾经济性和稳定性。但是最近Claude骚操作不断,最近更是发现自己和小伙伴cli端连接rela

    • 分类 · Vibe Coding

测试

1 篇文章

插件

1 篇文章

  • IDEA插件开发学习

    1. 在GitHub页面使用官方模板创建一个仓库 2. ```git clone```仓库到本地,使用idea打开 3. 配置Gradle镜像:修改```build.gradle.kts``

    • 分类 · IDEA

代理

1 篇文章

  • Nginx 反向代理 proxy_pass 配置

    Nginx的配置还是比较简单的,如: 1 2 3 4 location ~ /* { proxy_pass http://127.0.0.1:8008; } 或者可以 1 2 3 4 loc

    • 分类 · Linux

多线程

1 篇文章

反射

1 篇文章

  • 一次元空间FullGC导致OOM问题分析

    1. 观测平台告警:FullGC次数大于阈值,5分钟内大于11次,频次大概1-2周有一次 2. 告警后服务概率性会自动恢复,控制台打印 ```shell Exception: java

    • 分类 · 疑难问题

泛型

1 篇文章

  • 泛型初探-循环形参

    ```Java /** * 返回Collections中的最大值(取决于compare方法的实现) * @author kkyeer * @date 2018/10/18

    • 分类 · 知识&技巧

故障

1 篇文章

  • Tomcat服务,OOM导致异常不自动恢复研究

    某晚,收到同事的告警:“xx服务预发环境挂了,报超时和404错误,来回持续半个小时了,不像是发布导致的,看下?” 由于是预发环境,且整体影响面不大(只是间歇不可用),有足够的时间慢慢排查,因此暂时没有

    • 分类 · 经验&教训

缓存

1 篇文章

  • 缓存击穿、穿透与雪崩

    缓存击穿指数据存在,但是由于缓存失效同时由于短时间的高并发,导致数据库承受大量读请求,常见于Cache-Aside Pattern。问题出现在缓存失效后,一瞬间收到大量请求,所有的请求同时发现缓存失效

    • 分类 · Redis

快捷方式

1 篇文章

  • Ubuntu快捷方式(.desktop文件)与开机自启

    KUbuntu的快捷方式主要是.desktop文件方式存储,影响搜索,dock栏的快捷方式,同时还可以设置开机自启 KUbuntu的desktop文件主要在下面几个地方,在任何一个地方存在(包括符号链

    • 分类 · Linux

配置

1 篇文章

任务调度

1 篇文章

  • 分布式邮件推送系统设计草稿

    分布式邮件推送系统: 1. 前提:服务器NTP时间同步,误差不超过1秒 2. 使用DB持久化存储JOB配置 3. 1. 任务重复执行: 1. 服务器时间NTP同步 2. redis锁

    • 分类 · 项目

日志

1 篇文章

  • logback日志配置

    ```xml <?xml version="1.0" encoding="UTF-8"? <configuration debug="false" scan="false">

    • 分类 · 知识&技巧

设计模式

1 篇文章

  • 设计模式-单例模式【实现、序列化、反射】

    [toc] 单例模式的实现有很多种,分类方式也不一而足,比如分为预加载和懒加载,以及线程安全的实现及线程不安全的实现 调用时判断实例是否已经初始化,没有的话初始化并赋值。 优点: 1. 懒加载 2.

    • 分类 · 设计模式

输入法

1 篇文章

数据结构

1 篇文章

  • Redis数据类型与存储结构

    对于Redis来说,Key类似SQL中Table的概念。Key指向某种基本的数据类型。Redis有六种基本的数据类型:Hash, ZSet, Set, String, List, HyperLogLo

    • 分类 · Redis

死锁

1 篇文章

  • 线程池死锁-线程池嵌套提交

    流量峰值时发现大量调用超时,通过链路追踪锁定超时发生的节点,隔离节点后,在Pod中使用```jstack```命令追踪进程: ```shell jstack -l 1 |grep "java.lang

    • 分类 · 线上问题

网卡

1 篇文章

网络

1 篇文章

  • 将EasyConnect放入Docker容器运行

    以https://github.com/Hagb/docker-easyconnect仓库为基础,进行改造,首先将代码```git clone```到本地 源代码使用阿里云的debian镜像,速度相

    • 分类 · Linux

线程池

1 篇文章

  • 线程池死锁-线程池嵌套提交

    流量峰值时发现大量调用超时,通过链路追踪锁定超时发生的节点,隔离节点后,在Pod中使用```jstack```命令追踪进程: ```shell jstack -l 1 |grep "java.lang

    • 分类 · 线上问题

疑难问题

1 篇文章

  • 一次元空间FullGC导致OOM问题分析

    1. 观测平台告警:FullGC次数大于阈值,5分钟内大于11次,频次大概1-2周有一次 2. 告警后服务概率性会自动恢复,控制台打印 ```shell Exception: java

    • 分类 · 疑难问题

源码解析

1 篇文章

  • Stream类

    collect方法为java.util.Stream类的内部方法,有两种重载形式(Java 1.8),主要用于将Stream中的元素通过一定的计算过程转化为另外的表现形式 方法定义 ```Java &

    • 分类 · Java进阶

知识&技巧

1 篇文章

  • Linux:叹号!使用总结

    实际上,不起眼的“!”在linux中有着很多让你惊叹的妙用。本文就来细数那些“!”的神奇用法。下面话不多说了,来一起看看详细的介绍吧 引用 例如,在执行完上面一条命令后,可以使用下面的方式再次执行上一

    • 分类 · Linux

知识图谱

1 篇文章

  • 知识图谱学习

    考虑这么一句话:我是中国人 主语:我 谓语:是 宾语:中国人 更进一步的抽象,可以认为上面这句话是图关系 1. 设计原则 1. 业务原则:一切从业务逻辑出发,图谱设计本身体现业务逻

    • 分类 · 知识&技巧

acp

1 篇文章

  • 鱼和熊掌兼得:ACP协议搭建Vibe Coding环境

    一直以来,在我心目中,Vibe Coding工具环境的完美形态是IDE环境和最新的agent功能的完美结合,这个形态需要包含3个方面 1. 保持最新的agent能力,如Open Code类似,支持mc

    • 分类 · Vibe Coding

ai

1 篇文章

  • OpenCode快速配置

    先前一直用的是Claude Code Cli,配合自己的AI中继提供的三方便宜大碗的模型token,可以兼顾经济性和稳定性。但是最近Claude骚操作不断,最近更是发现自己和小伙伴cli端连接rela

    • 分类 · Vibe Coding

AndroidTV

1 篇文章

  • AndroidTV安装CA证书

    1. openssl x509 -inform PEM -subject_hash_old -in your-certificate.pem | head -n 1 将 your-certif

    • 分类 · Linux

ArchLinux

1 篇文章

  • Arch Linux不完全折腾指南

    ```bash sudo steamos-readonly disable passwd sudo flatpak remote-modify flathub --url=https://mirror

    • 分类 · Linux

BUG

1 篇文章

  • JDK中的Bug: Array和List的互相转化

    ​众所周知,JDK提供了一对方法来进行Array和List的互相转换: - ```Arrays.asList()``` Array- - ```arr.toArray()``` List->

    • 分类 · 开发问题

claude code

1 篇文章

  • OpenCode快速配置

    先前一直用的是Claude Code Cli,配合自己的AI中继提供的三方便宜大碗的模型token,可以兼顾经济性和稳定性。但是最近Claude骚操作不断,最近更是发现自己和小伙伴cli端连接rela

    • 分类 · Vibe Coding

Collection

1 篇文章

  • JDK源码-JDK里自带的各种Collection

    除了常用的HashSet,HashMap,ArrayList和ConcurrentHashMap外,JDK1.8自带了多种不同的Collection实现,可以适用到不同的场景: Map: - ```E

    • 分类 · JDK源码

CompileJDK

1 篇文章

  • 深度Deepin编译OpenJDK8

    1. 安装基本组件 ```bash sudo apt-get update sudo apt-get install build-essential sudo apt-

    • 分类 · Linux

CSS

1 篇文章

  • CSS Deep选择器

    HTML5 Web Components提供了完整的CSS样式封装。 这意味着: - 在组件内定义的样式不会泄漏到页面其他部分 - 页面级别的样式不会修改组件自身的样式 然而,有时你可能需要从页面级别

    • 分类 · JS

Debug

1 篇文章

  • tomcat8 远程调试配置

    1:修改 startup.sh exec "$PRGDIR"/"$EXECUTABLE" start "$@" 改为exec "$PRGDIR"/"$EXECUTABLE" jpda s

    • 分类 · 知识&技巧

Deepin

1 篇文章

  • 深度Deepin编译OpenJDK8

    1. 安装基本组件 ```bash sudo apt-get update sudo apt-get install build-essential sudo apt-

    • 分类 · Linux

Encode

1 篇文章

  • 计算机中的位运算与编码

    - 运算规则为被运算数按位取反, - 由于实际存储使用的为数字的补码,实际上是补码按位取反 - console.log的时候,打印的为原码 因为~0=-1 且\~-1=0,所以string.index

    • 分类 · 知识&技巧

FileSync

1 篇文章

  • 使用FreeFileSync自动同步文件夹中的文件

    1. 下载安装文件并安装 2. 打开桌面的FreeFileSync 3. 在打开的页面中选中需同步的两个文件夹,点击比较- 4. 打开桌面的RealTimeSync,导入刚才另存的ffs_batch文

    • 分类 · 知识&技巧

git

1 篇文章

  • git仓库使用指定私钥

    全文引用 当不同的git库需要使用不同的private key的时候,可在运行git命令的时候指定私钥 private key。 我们可以通过SSH配置文件来指定在git clone过程中使用特定的私

    • 分类 · 知识&技巧

HashMap

1 篇文章

  • JDK源码-HashMap二次Hash与核心变量

    - HashMap内部使用一个```Node<K,V - HashMap内部的table容量不够时,每次扩容到table.size*(1+loadFactor)向上取2的整数次幂,lo

    • 分类 · JDK源码

JAR

1 篇文章

  • 替换单独Jar包的某个文件

    Java jar 工具来替换。 jar uvf test.jar test.class 这样会直接把test.class 直接添加到jar包的根目录。 jar uvf test.jar com/tes

    • 分类 · 知识&技巧

Java

1 篇文章

JDK

1 篇文章

  • JDK源码-常用Collection

    LinkedList同时实现了List和Deque两个接口,考虑到底层用链表实现,因此插入效率高,随机查询效率低。 LinkedList底层为双向链表,每个节点为Node对象,内部分别有Prev和Ne

    • 分类 · JDK源码

JVM

1 篇文章

  • 一次元空间FullGC导致OOM问题分析

    1. 观测平台告警:FullGC次数大于阈值,5分钟内大于11次,频次大概1-2周有一次 2. 告警后服务概率性会自动恢复,控制台打印 ```shell Exception: java

    • 分类 · 疑难问题

KDE

1 篇文章

  • Ubuntu快捷方式(.desktop文件)与开机自启

    KUbuntu的快捷方式主要是.desktop文件方式存储,影响搜索,dock栏的快捷方式,同时还可以设置开机自启 KUbuntu的desktop文件主要在下面几个地方,在任何一个地方存在(包括符号链

    • 分类 · Linux

map

1 篇文章

  • Array.prototype.map()

    `map()` 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。 ```js arr.map(callback(currentValue[, index[, array

    • 分类 · JS

markdown

1 篇文章

  • VsCode自动修复markdown lint报错

    1. 打开用户自定义配置文件:菜单栏File- 2. 添加或修改如下配置项 ```json "editor.codeActionsOnSave": { "source.

    • 分类 · 知识&技巧

Mockito

1 篇文章

NAS

1 篇文章

  • 一次SSL证书交换错误的解决记录

    某个网站,当用户手机访问的时候,偶尔出现无法访问,报错如下,点击显示详细信息发现访问```a.my-domain.com```时,返回了```b.my-domain.com```的证书 经过自己的设备

    • 分类 · Linux

npm

1 篇文章

  • npm 阿里镜像

    1. 方法一 通过config命令 ```bash npm config set registry https://registry.npm.taobao.org npm co

    • 分类 · 前端DevOps

Nvidia

1 篇文章

  • Ubuntu安装Nvidia闭源驱动

    1. 在驱动安装之初,首先要清除老驱动或者没清除干净的驱动残留: ```shell sudo apt-get remove --purge nvidia* ``` 2. 把系统

    • 分类 · Linux

opencode

1 篇文章

  • OpenCode快速配置

    先前一直用的是Claude Code Cli,配合自己的AI中继提供的三方便宜大碗的模型token,可以兼顾经济性和稳定性。但是最近Claude骚操作不断,最近更是发现自己和小伙伴cli端连接rela

    • 分类 · Vibe Coding

Python

1 篇文章

  • CentOS安装配置python3环境

    国内可以从华为镜像源获取:https://mirrors.huaweicloud.com/python/,在页面中进入对应的版本文件夹,获取.tar.xz格式的源码包,下以3.7.4为例 ```bas

    • 分类 · Linux

qBittorrent

1 篇文章

  • qBittorrent Docker 启动命令

    docker create --name=qbittorrent -e PUID=1000 -e PGID=1000 -e TZ=Asia/Shanghai -e UMASK_SE

    • 分类 · Linux

Redis

1 篇文章

  • Redis数据类型与存储结构

    对于Redis来说,Key类似SQL中Table的概念。Key指向某种基本的数据类型。Redis有六种基本的数据类型:Hash, ZSet, Set, String, List, HyperLogLo

    • 分类 · Redis

Security

1 篇文章

  • 网络安全基础

    密码安全思路为对【密码】或【密码+用户名】进行一定的Hash运算,数据库只保存密码的hash值,这样即使被脱库,也无法从hash值直接算出明文密码。常见的Hash方法如下 Hash函数|资源占用|安全

    • 分类 · 知识&技巧

SQL

1 篇文章

  • SQL数组生成临时表

    考虑如下场景:安全部门用Excel的方式给出了一个Email名单,需要筛选这个名单中最近没有登录过系统的列表,当前报表数据库中有一张表,存储Email登录记录 思路:将Excel的Email导出为临时

    • 分类 · 懂

ssh

1 篇文章

  • git仓库使用指定私钥

    全文引用 当不同的git库需要使用不同的private key的时候,可在运行git命令的时候指定私钥 private key。 我们可以通过SSH配置文件来指定在git clone过程中使用特定的私

    • 分类 · 知识&技巧

SSL

1 篇文章

Stream

1 篇文章

  • Stream类

    collect方法为java.util.Stream类的内部方法,有两种重载形式(Java 1.8),主要用于将Stream中的元素通过一定的计算过程转化为另外的表现形式 方法定义 ```Java &

    • 分类 · Java进阶

String

1 篇文章

Terminal

1 篇文章

  • 终端zsh中文乱码问题解决

    ```shell vi ~/.zshrc export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 source ~/.zshrc ``` 如果是bash,只

    • 分类 · Linux

TimeZone

1 篇文章

Tomcat

1 篇文章

  • Tomcat服务,OOM导致异常不自动恢复研究

    某晚,收到同事的告警:“xx服务预发环境挂了,报超时和404错误,来回持续半个小时了,不像是发布导致的,看下?” 由于是预发环境,且整体影响面不大(只是间歇不可用),有足够的时间慢慢排查,因此暂时没有

    • 分类 · 经验&教训

Transaction

1 篇文章

  • SpringTransaction第一篇-代理扫描与组装

    SpringTx为开发者提供了声明式和注解时声明的支持,为了更好理解Spring在底层具体做了什么实现了各种复杂的机制,对过程的探究是必要的。而SpringTx底层依赖SpringAOP机制与实现,因

    • 分类 · Spring

VPN

1 篇文章

  • 强制OpenVPN仅指定网段走VPN

    在服务端没有配置Split Tunneling的情况下,客户端手动配置 1. 可以拿到ovpn文件 2. 使用TunnelBlick能连接成功 1. 使用TunnelBlick作为客户端,安装好后,双

    • 分类 · 知识&技巧

Windows

1 篇文章

  • Windows修改iTunes备份文件夹路径

    iTunes默认将iPhone/iPad的备份文件保存在C盘,动辄100G以上的备份对于C盘压力不小,因此希望将备份文件放到数据盘。 iTunes默认未提供此选项,需要使用Windows的软链接来实现

    • 分类 · 技巧

Wine

1 篇文章

Zerotier

1 篇文章

  • ZeroTier-One搭建moon节点

    原文链接 Zerotier可以组建虚拟局域网,并且是P2P直连的,这个可以说是非常爽了,你可以在公司使用微软自带的远程连接直连自己家里边的电脑,访问共享远程控制等。想要P2P访问必须先通过一个中介进行

    • 分类 · Linux

Last updated: