<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SmallTenMr的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/SmallTenMr</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; SmallTenMr]]></copyright><item><title><![CDATA[通俗讲透语音转文字：从一声“你好”到屏幕上的文字，AI到底做了什么？]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/160225893</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/160225893</guid><author>SmallTenMr</author><pubDate>Thu, 16 Apr 2026 19:48:56 +0800</pubDate><description><![CDATA[通俗讲透语音转文字：从一声“你好”到屏幕上的文字，AI到底做了什么？]]></description><category></category></item><item><title><![CDATA[大模型LLM深入浅出、主打通俗易懂]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/133066350</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/133066350</guid><author>SmallTenMr</author><pubDate>Wed, 20 Sep 2023 09:57:03 +0800</pubDate><description><![CDATA[众所周知，如果想直接训练蓝色的原始模型，将是十分耗费资源，需要8张A100显卡(A100目前市场价格13万一个)，并且训练中耗费大量电力资源(OpenAI的chatGPT-3训练一次的成本约为140万美元)，而为了节省资源，LoRA思想是将右边橘色的两个模型，先分别初始化为高斯分布和0，训练的时候固定预训练语言模型的参数(蓝色部分)，只训练降维矩阵 A 与升维矩阵 B，而模型的输入输出维度不变，输出时将 BA 与预训练语言模型的参数叠加。根据上述已知信息，简洁和专业的来回答用户的问题。]]></description><category></category></item><item><title><![CDATA[元宇宙、区块链 通俗易懂]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/129377275</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/129377275</guid><author>SmallTenMr</author><pubDate>Tue, 07 Mar 2023 10:35:41 +0800</pubDate><description><![CDATA[所以我们假设有一个腾讯支持多人编辑的文档，文档里有10个sheet，10个将军分别在sheet页上编写自己的想法，是打还是不打，并且各个将军只能编辑自己的sheet页数据，同时也能查看其他将军sheet页的数据，每个sheet页记录了每个将军想法，是打还是不打，亦或者是其他各种想法（签名加密技术）上图中，密密麻麻的都是AMD高性能显卡，在不停的挖矿。系统会出一个计算题，节点会进行不断的计算，谁首先计算出结果，谁就能获得这个区块的交易打包权，以及这个区块的打包奖励，也就是比特币的奖励。1.以当前时代为背景。]]></description><category></category></item><item><title><![CDATA[谈谈我对ai发展的看法]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/129126832</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/129126832</guid><author>SmallTenMr</author><pubDate>Mon, 20 Feb 2023 16:28:16 +0800</pubDate><description><![CDATA[在GPT-3发布之前，最大的语言模型是微软在2020年推出的图灵Turing NLG, 参数达到170亿，仅是GPT-3的10% ，目前来看，GPT-3是全球最大数据参与的模型训练，它也是基于传统的NLP和机器学习的一种模型，依然使用神经网络架构，其中包含很多深度学习层，初始模型(监督训练)  -> RLHF（Reward 模型） -> 深度自我学习，详细原理有兴趣可以爬梯子去官方一探究竟。但是得到的都是局部最优解，并非全局最优，训练时可能都无法收敛，有限数据还会带来泛化不足的问题。]]></description><category></category></item><item><title><![CDATA[非对称加密算法java]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/124965625</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/124965625</guid><author>SmallTenMr</author><pubDate>Wed, 25 May 2022 14:30:51 +0800</pubDate><description><![CDATA[public class GetSignFuncImpl implements GetSignFunc {

    private static final int MAX_ENCRYPT_BLOCK = 117;

    private static final int MAX_DECRYPT_BLOCK = 128;

    private static final String PUBLIC_KEY = "213213213213123dsvdvdsfdsfdsfsf";

    @Over.]]></description><category></category></item><item><title><![CDATA[volatile怎么实现禁止重排序]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/124426253</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/124426253</guid><author>SmallTenMr</author><pubDate>Tue, 26 Apr 2022 14:00:27 +0800</pubDate><description><![CDATA[private static volatile User user; //第一步

   public ActivitySearchRequest getIns(){ 

       if(Objects.isNull(user)){   //第二步

           synchronized (PrimarySearchFacadeImpl.class){ //第三步

               if(Objects.isNull(user)){ //第四步

            ...]]></description><category></category></item><item><title><![CDATA[接口响应组装集合的分页]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/123972865</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/123972865</guid><author>SmallTenMr</author><pubDate>Tue, 05 Apr 2022 17:15:08 +0800</pubDate><description><![CDATA[public static  void fenye(List list,int pageNo, int pagesize){
        List&lt;Integer&gt; subList= list.subList((pageNo-1)*pagesize,pagesize*(pageNo));
        System.out.println(subList);
    }


public static void main(String[] args) {
        List&lt;.]]></description><category></category></item><item><title><![CDATA[JVM 调优实战]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/123971330</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/123971330</guid><author>SmallTenMr</author><pubDate>Tue, 05 Apr 2022 16:18:18 +0800</pubDate><description><![CDATA[内存分配



1.被 线程共享：

堆：用来存放对象的，几乎所有对象都放在这里，被线程/栈共享

堆也是垃圾回收的主要区域，又叫GC堆

存放被NEW出来的对象

方法区：方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。该区域是被线程共享的。



2.非共享：

虚拟机栈：用来存栈帧的，对象的引用。随着线程结束内存就释放，不需要垃圾回收。

内存溢出，通过减小最大堆和栈容量来换取更多的线程。

本地方法栈：和虚拟机栈一样，但是只为本地方法服务

程序计数器：..]]></description><category></category></item><item><title><![CDATA[springBoot跨域]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/116493846</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/116493846</guid><author>SmallTenMr</author><pubDate>Fri, 07 May 2021 15:06:59 +0800</pubDate><description><![CDATA[@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowCredentials(true)
  .]]></description><category></category></item><item><title><![CDATA[事件异步单服务层调用]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/115521448</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/115521448</guid><author>SmallTenMr</author><pubDate>Thu, 08 Apr 2021 15:19:48 +0800</pubDate><description><![CDATA[/**
*  业务逻辑
*
*/
public void test(){
	//todo
	//.....
	
	//异步执行事件，方法直接返回true
	applicationEventPublisher.publishEvent(new asyEvent("123"));
}







/**
*  监听
*
*/
import org.springframework.context.ApplicationEvent;

@Getter
@Setter
@ToString
public cl...]]></description><category></category></item><item><title><![CDATA[docker搭建Nacos]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/115466503</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/115466503</guid><author>SmallTenMr</author><pubDate>Tue, 06 Apr 2021 17:45:40 +0800</pubDate><description><![CDATA[1. 下载nacos镜像
   
   docker pull nacos/nacos-server:1.3.1

2. mkdir -p /opt/nacos/init.d

3. mkdir -p /opt/nacos/logs

4. cd /opt/nacos/init.d

5. 在custom.properties中编写如下：
    
   mnagement.endpoints.web.exposure.include=*

6. 启动镜像

    docker run -d -p 88.]]></description><category></category></item><item><title><![CDATA[接口重试]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/115210931</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/115210931</guid><author>SmallTenMr</author><pubDate>Thu, 25 Mar 2021 15:57:46 +0800</pubDate><description><![CDATA[package com.kids.boss.retry;

public class RetryDemo {

    public static void main(String[] args) {
        Boolean flag = false;
        int i = 0;
        while( !flag &amp;&amp; i++ &lt; 5){
            try{
                int a = 1/1;
              .]]></description><category></category></item><item><title><![CDATA[入参自动转换枚举]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/114932695</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/114932695</guid><author>SmallTenMr</author><pubDate>Wed, 17 Mar 2021 15:29:09 +0800</pubDate><description><![CDATA[/**
* 定义一个枚举
*
*/
@Getter
public enum StatusType {

    SUCCESS("1","成功"),
    FAIL("2","失败"),
    PROCESSING("3","进行中"),
    ;

    StatusType(String code,String desc){
        this.code = code;
        this.desc = desc;
    }

    private String code;
..]]></description><category></category></item><item><title><![CDATA[java金额转换]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/114367124</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/114367124</guid><author>SmallTenMr</author><pubDate>Thu, 04 Mar 2021 14:08:29 +0800</pubDate><description><![CDATA[public static void main(String[] args) {

       //分-万
       Double amount =  new BigDecimal(1512121).divide(new BigDecimal(10000), 4, BigDecimal.ROUND_HALF_UP).doubleValue();
       System.out.println(amount);

       //分-千
       Double amount1 =  new .]]></description><category></category></item><item><title><![CDATA[JDK8 LocaDate相关用法]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/114366487</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/114366487</guid><author>SmallTenMr</author><pubDate>Thu, 04 Mar 2021 13:44:31 +0800</pubDate><description><![CDATA[public static void main(String[] args) {
        //年
        int year = LocalDate.now().getYear();
        System.out.println(year);

        //月(英文)
        Month month = LocalDate.now().getMonth();
        System.out.println(month);

        //日
       .]]></description><category></category></item><item><title><![CDATA[Hadoop+HDFS+MapReduce使用总结]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/106719705</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/106719705</guid><author>SmallTenMr</author><pubDate>Fri, 12 Jun 2020 17:11:35 +0800</pubDate><description><![CDATA[1.首先了解下hadoop：

1.1分为三个重要模块：

  分布式文件系统：HDFS —— 实现将文件分布式存储在很多的服务器上

  分布式运算编程框架：MapReduce —— 实现在很多机器上分布式并行运算

  分布式资源调度平台：Yarn —— 帮用户调度大量的mapreduce程序，并合理分配运算资源

 1.2hadoop：相关框架

Hadoop：Java编写的软件框架，以支持数据密集型分布式应用
	ZooKeeper：高可靠性分布式协调系统
	MapReduce：针...]]></description><category></category></item><item><title><![CDATA[分布式事务]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/105457587</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/105457587</guid><author>SmallTenMr</author><pubDate>Sat, 11 Apr 2020 18:50:45 +0800</pubDate><description><![CDATA[分布式事务



1.XA两阶段提交：引入协调者。三阶段提交，引入询问阶段

XA是数据库的分布式事务，强一致性，在整个过程中，数据一张锁住状态，即从prepare到commit、rollback的整个过程中，一直把持折数据库的锁，如果有其他人要修改数据库的该条数据，就必须等待锁的释放，严重影响性能

缺点：1.性能问题：XA协议遵循强一致性。在事务执行过程中，各个节点占用着数据库资源锁，只有当...]]></description><category></category></item><item><title><![CDATA[kafka安装]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/105297542</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/105297542</guid><author>SmallTenMr</author><pubDate>Fri, 03 Apr 2020 17:27:36 +0800</pubDate><description><![CDATA[1.将kafka包 解压至/usr/local/下，新建一个logs文件夹
2.修改 /config/server.properties 中的logs参数，值为 上一步创建的logs位置
3.修改配置文件，当前是使用自己的zookeeper，修改./config/server.properties中的这四个地方

listeners = PLAINTEXT://localhost:9092
zoo...]]></description><category></category></item><item><title><![CDATA[雪花算法生成主键id demo]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/105297457</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/105297457</guid><author>SmallTenMr</author><pubDate>Fri, 03 Apr 2020 17:22:57 +0800</pubDate><description><![CDATA[package com.kids.demo01.snow;

//SnowFlake算法用来生成64位的ID，刚好可以用long整型存储，能够用于分布式系统中生产唯一的ID， 并且生成的ID有大致的顺序。
//在这次实现中，生成的64位ID可以分成5个部分：
//  `0 - 41位时间戳 - 5位数据中心标识 - 5位机器标识 - 12位序列号`
public class SnowFlake ...]]></description><category></category></item><item><title><![CDATA[lambda简单案列]]></title><link>https://blog.youkuaiyun.com/SmallTenMr/article/details/105297380</link><guid>https://blog.youkuaiyun.com/SmallTenMr/article/details/105297380</guid><author>SmallTenMr</author><pubDate>Fri, 03 Apr 2020 17:20:02 +0800</pubDate><description><![CDATA[package com.kids.demo01.lanbuda;

import com.kids.demo01.entity.user;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

//兰姆达表达式
public cla...]]></description><category></category></item></channel></rss>