java后端工程师+AI大模型进修ing(研一版‖day57)

今日总结

  • java随笔录------Redis数据持久化,RDB,AOF
  • AI随探录------智能输入法案例,数据集处理,模型结构设计,环境配置
  • 代码随想录------回溯+电话号码的数字组合

目录

今日总结

详细内容

java随笔录

Redis数据持久化

RDB

AOF

AI随探录

智能输入法案例

数据集处理

模型结构设计

环境配置

代码随想录

------电话号码的数字组合


详细内容

java随笔录

Redis数据持久化

RDB

RDB:全称RedisDatabaseBackupfile(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的
所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。
RDB的执行原理:

  1. 首先在开始时会fork(复制页表)主进程得到子进程,子进程共享主进程的内存数据
  2. 在Linux系统中,所有进程无法直接操作物理内存,因此只能操作虚拟内存,通过页表进行映射
  3. 因此就无需拷贝数据了,直接拷贝页表映射关系
  4. 子进程将读到的数据写入RDB中,替换旧的RDB
  5. 在子进程写入RBD中,主进程会发生写入新的数据情况,造成数据不一致,可以采用copy-on-write技术:当主进程读操作时,访问共享内存,当主进程写的时候,会拷贝一份数据,在执行写操作

AOF

AOF全称为AppendOnlyFile(追加文件)。Redis处理的每一个写命令都会记录在AOF文件,可以看做是命令日志
文件。
每执行完一次写命令,就会先放入到AOF缓冲区,然后根据刷新频率,将记录写入到AOF文件中。
AOF有三种刷盘的频率(折中采取everysec)

AOF是记录命令,因此文件体积会很大,而且会记录同一个key的多次写操作。可以通过一些命令来让AOF执行重写功能。会让redis触发阈值时自动取重写AOF文件。
二者对比:在实际开发中,往往二者结合来使用

AI随探录

智能输入法案例

数据集处理

本任务使用的数据集为https://huggingface.co/datasets/Jax-dan/HundredCV-Chat

首先要分词,在分词的序列中提取上下文片段,并以每个窗口的下一个词作为预测目标,构成输入-输出对

模型结构设计

本任务采用基于循环神经网络(RNN)的语言模型结构来实现"下一词预测"功能。模型整体由以下三个主要部分组成:

  • 嵌入层(Embedding)

将输入的词或字索引映射为稠密向量表示,便于后续神经网络处理。

  • 循环神经网络层(RNN)

用于建模输入序列的上下文信息,输出最后一个时间步的隐藏状态作为上下文表示。

  • 输出层(Linear)

将隐藏状态映射到词表大小的维度,生成对下一个词的概率预测。

环境配置

先搭配好虚拟环境,创建一个nlp虚拟环境,创建一个python项目

在空项目面先构建一个requirement.txt文件,里面下载一些需要用的依赖

python 复制代码
# 基础NLP工具
nltk
jieba
spacy
textblob
gensim
stanza

# 深度学习与预训练模型
transformers
tensorflow  # 可选,若用PyTorch可删除此行
torch       # 可选,若用TensorFlow可删除此行

# 中文NLP增强工具
pyhanlp
thulac

# 数据处理与机器学习
pandas
scikit-learn
sklearn-crfsuite

# 可视化工具
matplotlib
wordcloud
imageio

代码随想录

------电话号码的数字组合

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

示例 1:

复制代码
输入:digits = "23"
输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]

示例 2:

复制代码
输入:digits = "2"
输出:["a","b","c"]

提示:

  • 1 <= digits.length <= 4
  • digits[i] 是范围 ['2', '9'] 的一个数字。
java 复制代码
class Solution {
    List<String> result = new ArrayList<>();
    String[] str = {"","","abc", "def", "ghi","jkl", "mno", "pqrs","tuv", "wxyz"};
    StringBuilder aaa = new StringBuilder();
    private void back(String digits,int indexstart) {
        if(indexstart == digits.length()) {
            result.add(aaa.toString());
            return;
        }
        String ss = str[digits.charAt(indexstart) - '0'];
        for(int i = 0; i < ss.length(); i++) {
            aaa.append(ss.charAt(i));
            back(digits,indexstart + 1);
            aaa.deleteCharAt(aaa.length() - 1);
        }
    }

    public List<String> letterCombinations(String digits) {
        if (digits == null || digits.length() == 0) {
            return result;
        }
        back(digits,0);
        return result;
        
    }
}
相关推荐
小白学大数据24 分钟前
Codex 里的 GPT 6 Astra、GPT 5.6 Sol、Terra、Luna 怎么选
开发语言·gpt·microsoft
zzzzzz31035 分钟前
anthropics/skills:高关注度“官方技能”项目,应该怎样读
人工智能·开源·github
moonsims40 分钟前
Voliro 无人机-Aerial Mobile Robot(空中移动机器人):把无人机从“飞过去拍摄”,升级成“飞过去并与目标物理接触、测量甚至操作”
前端·人工智能·安全·无人机·量子计算
职场的momo1 小时前
用户讨论:算法开发Offer决赛:大疆纯后端Agent与网易游戏测试,对内AI跳槽难?
人工智能·游戏·跳槽
wish3662 小时前
EmployeeAssistant 智能问答服务:基于 pgvector 与 LLM 的企业知识库助手
人工智能·语言模型·自然语言处理·local llm
l1t2 小时前
DeepSeek 4.1总结的Tom Lane 谈塑造 Postgres 三十年历程的架构决策
开发语言·数据库·postgresql·架构
shirsl2 小时前
算法 Day1-数组 / 哈希 + 双指针
python·算法·哈希算法
欢迎来到祖安!2 小时前
企业微信 API 接口能力介绍:支持消息收发、图片发送、表情互动、联系人管理等多场景应用
java·前端·数据仓库·spring cloud·企业微信
检信智能3 小时前
检信 Allemotion 多模态融合技术,解析非接触情绪采集的底层逻辑
人工智能·语音识别
RoboWizard3 小时前
固态硬盘对游戏帧数有影响吗?
人工智能