GitHub Actions将Hexo博客自动部署到GitHub Pages 通过 GitHub Actions 将 Hexo 博客自动部署到 GitHub Pages问题 每次部署时需要运行 hexo cl & hexo g & hexo d 误操作导致本地博客源码丢失 解决方式 自动化部署 GitHub 仓库 准备 已经搭建好的 Hexo + Github Pages 博客 本地的博客源码 实现思路通过 Github Actions,我们只需要在 2024-04-01 Develop > Blog #Develop
OpenAI translator——本地大模型的应用之一 OpenAI translator——本地大模型的应用之一前言继上次部署完本地大模型 Gemma 后,发现一个很好用的软件/插件,可以调用本地大模型进行翻译、解释代码等多种功能。 安装地址:openai-translator/openai-translator: 基于 ChatGPT API 的划词翻译浏览器插件和跨平台桌面端应用 - Browser extension and 2024-02-26 AI > 大模型 #AI
本地部署 Gemma 大模型 本地部署 Gemma 大模型环境 Ollama Docker(可选,用于搭建 web 界面) 环境准备下载安装Ollama 更改 Ollama 下载模型位置在环境变量中,新建一个系统变量,地址仅供参考。 拉取 Gemma 模型在 Ollama 官网中搜索 gemma 可以看到,如果使用此模型,Ollama 的版本必须 >= 0.1.26 符合要求后,打开 PowelShell, 2024-02-24 AI > 大模型 #AI
Latex 帮助手册 LaTex 帮助手册 该文档旨在帮助像我一样零基础,只想掌握基础语法,编写一份 LaTex 格式的论文。 特别地,如果你现在正要投稿 IEEE 的期刊,那么可以参考一下问题部分,应该有类似的问题! 更详细的入门文档,可以参考: LaTeX 入门 - OI Wiki (oi-wiki.org) 或其他入门教程 好帮手⭐公式在线预览 + 常用符号 https://www.latexlive.c 2024-01-08 LaTex #LaTex
Queue 中 offer() 和 add() 的区别 Queue 中 offer() 和 add() 的区别在编写代码时,发现自己用的 add(),别人用的 offer(),好像两个方法的功能是一致的,然后去看了一下 Queue 的实现类 LinkedList 的源码,发现并无区别。 既然没有区别,那为什么要分成两个方法呢?看了一下上面的注释:offer 在使用容量受限的队列时,此方法通常比 add 更可取,因为 add 只能通过引发异常来插入元素 2023-11-13 Java > Java #Java
Springboot 为什么编写了配置文件就可以使用 Springboot 自动配置数据源 DataSource 原理分析更完整的问题是:为什么在 application.yml 或 application.properties 中编写了数据库的信息就可以进行使用了即,为什么编写完成配置信息后,Spring 容器中就有 dataSource 的实例 当我们在 application.yml 中配置好数据库信息时,如下 123456spring: d 2023-10-20 Java > Spring #Spring
Spring 为何需要三级缓存解决循环依赖,而不是二级缓存 Spring 为何需要三级缓存解决循环依赖,而不是二级缓存问题都知道 Spring 通过三级缓存来解决循环依赖的问题。但是是不是必须三级缓存才能解决,二级缓存不能解决吗?要分析是不是可以去掉其中一级缓存,就先过一遍 Spring 是如何通过三级缓存来解决循环依赖的。 对于这部分内容,需要了解 Bean 的生命周期。 解决在 Spring 生命周期的 populateBean 部分,如果发现该属 2023-10-08 Java > Spring #Spring
Spring Bean的生命周期 Spring Bean的生命周期Bean 的生命周期整个生命周期如下所示 在创建 Bean 之前,Spring 容器会将所有 Bean 的信息(xml 里面的 <bean> 或者注解修饰的对象)封装成一个 BeanDefinition 对象,所有的 BeanDefinition 存储到一个名为 beanDefinitionMap 的 Map 集合中去,Spring 框架在对该 Map 2023-10-08 Java > Spring #Spring
垃圾收集器 垃圾收集器前言前置知识,不然理解这部分内容比较困难 Java内存区域详解(重点) JVM垃圾回收算法详解 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 对于垃圾收集算法,简要说明如下 标记-清除:产生过多地内存碎片 复制:没有碎片,浪费空间 标记-整理:没有碎片,效率较低 接下来讨论的收集器基于 JDK1.7 Update 14 之后的 HotSpot 虚拟机 2023-09-24 Java > JVM #Java
Volatile Volatilevolatile 作用 保证有序性:防止指令重排序 保证可见性:保证共享变量的可见性 为什么可以保证有序性(防止重排序)为什么要重排序 图中左侧是 3 行 Java 代码,右侧是这 3 行代码可能被转化成的指令。 可以看出 a = 100 对应的是 Load a、Set to 100、Store a,意味着从主存中读取 a 的值,然后把值设置为 100,并存储回去,同 2023-09-13 Java > JUC #Java