LeetCode 115 不同的子序列 题目给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数,结果需要对 109 + 7 取模。 示例 1:输入:s = "rabbbit", t = "rabbit" 输出:3 示例 2:输入:s = "babgbag", t = "bag" 输出:5 2024-09-04 #算法,动态规划
数据中台入门 数据中台入门数据分层从数据分层而言,主要分为一下五层: ODS层(原始数据层) 这一层存放原始数据,通常直接加载原始日志或数据源中的数据,并保持数据的原貌不做处理。它是后续数据处理的基础。 DWD层(明细数据层) 该层与ODS层的数据结构和粒度保持一致,但对ODS层的数据进行了清洗,包括去除空值、脏数据和超过极限范围的数据等。有时也被称为DWI层。 DWS层(服务数据层) 以DWD层为 2024-07-09 #大数据
数字图像处理期末复习 数字图像基础图像的获取与感知图像的获取图像通常使用感光传感器获取,感光传感器是一种能够将光信号转换为电信号的器件。常见的感光传感器有CCD和CMOS。 CCD CMOS 原理 电荷耦合器件 互补金属氧化物半导体 耗电量 高 低 价格 昂贵 便宜 速度 慢 快 噪声 低 高 图像的采样与量化图像的采样是指对一张图片的坐标轴进行数字化,将连续的坐标轴转换为离散的坐标轴 2024-06-24 #数字图像处理 #复习
机器学习期末考试重点 基础概念训练集 训练集是用来训练模型的数据集。 测试集 测试集是用于最终评估模型性能的数据集 验证集 验证集是用于评估模型性能和调整超参数的数据集 泛化能力 泛化能力是指模型对未知数据的适应能力。 过拟合 过拟合是指模型在训练集上表现很好,但在测试集上表现很差。 欠拟合 欠拟合则是模型在训练数据和测试数据上的表现都不佳。这可能是由于模型过于简单,无法捕捉到数据中的复杂模式。 归一化什么是归一 2024-06-12 #机器学习
拯救安卓11中的System分区 前言前段时间,打算给我的小米9刷一个澎湃的系统,但是在刷机的时候,发现了一个问题,就是在小米9中安卓11中的System分区容量不足,需要手动扩容。但是经过我的错误扩容操作后经过出现一点小失误,导致手机无法开机,只能进入fastboot模式。线刷系统过后进入系统提示System被破坏,这篇文章就是记录我是如何拯救安卓11中的System分区的(不想交钱9008)。 准备工作 一台电脑(fastbo 2024-05-06 #搞机 #安卓 #系统
类加载和类加载器 类的生命周期类的生命周期包括加载、验证、准备、解析、初始化、使用和卸载七个阶段。 其中,验证、准备、解析三个阶段统称为连接阶段。 具体的加载顺序为:加载 -> 验证 -> 准备 -> 解析 -> 初始化 -> 使用 -> 卸载。 加载加载阶段是类加载过程的第一步,主要是完成以下步骤: 通过类的全限定名来获取类的二进制数据。 将类的二进制数据加载到内存中,并创建 2024-04-26 #Java
Zookeeper,Etcd和Redis做微服务中间件的特点 前言在微服务架构中,中间件是非常重要的一环,它可以帮助我们解决服务注册、服务发现、服务调用、负载均衡、熔断降级、配置管理等问题(其实主要是有个面试问了这个)。在中间件时候,Zookeeper、Etcd和Redis是非常常见的中间件(同时也被问到过他们之中的优缺点)。同时,在手写的玩具RPC框架中,三者都可以做为注册中心,本文也会对这三种中间件在注册中心中的使用进行对比分析。 RedisRedis的 2024-04-14 #Java
联想一面面试复盘 联想一面面经 英语自我介绍 项目介绍 项目用了Nacos,他的配置中心能不能动态更新,怎么动态更新 Dubbo的默认服务调用方式是什么 MySQL的索引有哪些 MySQL的事务是基于什么实现的 索引失效的情况有哪些 如果有a,b,c三个联合索引,查询条件是a和b,这个查询会不会用到索引,a和c呢 SpringBoot的LOC了解吗 提到了SPI,SpringBoot配置创建是怎么实现的 Sprin 2024-04-12 #Java
Redission中RateLimiter相关的使用 Redission中RateLimiter相关的使用RateLimiter对象介绍RateLimiter是一个限流器,可以用来限制某个操作的频率,比如限制某个接口的访问频率。RateLimiter是基于令牌桶算法实现的,它可以控制每秒的访问次数,可以设置每秒的访问次数,也可以设置每秒的访问次数和每次请求的令牌数。 12String redisKey = "rateLimiter" 2024-03-31 #Java #Redis
第一次面试-Opay 第一次面试-Opay总之第一次面试答得不好,针对博客之前的内容印象不是很深刻,所以这里整理一下之前的内容,以便下次面试的时候能够更好的回答问题。待整理 大致的问题合集 Java中的集合有哪些 谈到双端队列,是什么,有什么使用场景 谈到阻塞队列,除了生产者消费者模型,还有什么场景 InputStream和BufferInputStream的区别,有什么优点 谈到了多线程,可以用什么做线程间同步 Th 2024-03-29 #Java #面试
JVM垃圾回收机制 Java 内存区域JDK1.7以前的内存区域 JDK1.8以后的内存区域 程序计数器 线程私有 记录当前线程执行的字节码的行号 如果是Java方法,计数器记录的是字节码的行号 如果是Native方法,计数器值为空 如果是多线程,每个线程都有一个独立的计数器 虚拟机栈 线程私有 每个方法执行的时候都会创建一个栈帧 每个栈帧包含局部变量表、操作数栈、动态链接、方法出口等信息(类似于C语言中的栈) 2024-03-28 #Java #JVM
常见八股文集合 Java== 和 equals的区别 ==针对基本类型时比较的是对象的值,针对引用类型比较的是对象的指向的内存地址是否相等。 equals针对的比较对象是引用类型, 在Java中Object对象是所有对象的父类,所以每个类都会有个equals的方法,如果你没有重写它那些它与==的效果是一样的,可以通过源代码查看。 例子 1234St 2024-03-20 #Java #Redis #Mysql
Java并发机制的底层实现 volatile在多线程并发编程中synchronized和volatile都扮演着重要的角色,相较于synchronized,volatile更加轻量级,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能同时读到这个修改的值。 volatile变量修饰的共享变量进行写操作的时候会使用处理器提供的Lock指令,将这个变量所在缓存行的数据写回到系 2024-03-18 #Java
使用ESXi虚拟机安装K8s带GPU的节点 前言安装步骤创建虚拟机这个没啥可说,在虚拟机软件中创建虚拟机即可 注意安装的系统版本,应选择使用与后文中安装脚本相同的系统版本,我这边安装的是Ubuntu 20.04 服务器版本 安装k8s我这边选择的安装工具是KubeSphere,他有完善的功能和图形化界面,可以很方便的对其进行安装。 官网文档地址 安装KubeSphere单节点服务下载 KubeKey使用下面的命令安装KubeKey 123e 2024-03-15 #运维,k8s
k8s基础知识入门 前言k8s是一个开源的容器编排引擎,它可以自动化地部署、扩展和管理容器化的应用程序。k8s是由Google设计并捐赠给Cloud Native Computing Foundation(CNCF)的,它是一个开源的容器编排引擎,它可以自动化地部署、扩展和管理容器化的应用程序。 DeploymentDeployment 会指挥 Kubernetes 如何创建和更新应用程序的实例。创建 Deploym 2024-03-15 #运维
记录一次处理kswapd0挖矿病毒 前言睡觉起床发现阿里云给我发短信,提醒中病毒,然后登录服务器发现CPU占用率100%,查看进程发现kswapd0占用CPU,然后查看日志发现有存在的挖矿病毒。 处理步骤参考了这篇文章 https://blog.csdn.net/qq_47831505/article/details/123939089 参考二 参考三 处理步骤打开阿里云的安全日记,可以看到具体的病毒文 2024-02-20 #运维 #挖矿病毒
Spring AOP的基础使用 基础简介AOP,全称Aspect Oriented Programming,中文是“面向切面编程”,是一种可以在不修改原来的核心代码的情况下给程序动态统一进行增强的一种技术。 SpringAOP: 批量对Spring容器中bean的方法做增强,并且这种增强不会与原来方法中的代码耦合 AOP最基本的运用是将原有的函数与附加函数进行解耦合操作,使其能够对原有代码进行增强; 简单使用Spring AOP 2024-01-17 #Java
计算机网络期末复习 第一章互联网组成互联网组成:核心部分——路由器为主、边缘部分——终端为主 边缘:网络服务模式;P2P——对等网、C/S——客户机/服务器 核心:交换方式; 电路交换与分组交换、面向连接与面向无连接 电路交换过程:一条通路,传输效率?交换机雏形,人工交换——>程控交换,计算机程控交换 分组交换过程:多路并发,数据传输效率高,但转发有时延 报文转发可理解为一个分组的转发,效率 2023-12-25 #计算机网络
团队中Git使用相关规范 前言在看这篇文章前,你需要了解 Git 的基本操作,如果你还不了解,可以查看 Git 基本操作。 对于新人而言,学完 Git 的基本操作后,如何在团队开发中使用 Git 了以及了解相关的规范是非常重要的。 本文主要介绍团队中 Git 使用相关规范,以及开源项目的项目管理规范,包括分支管理、Commit Message 规范、代码 Review 规范等。除此之外,还会介绍一些有关DevOps的内容, 2023-11-26 #Git
MySql的表空间 独立表空间结构区(extent)空间中的页实在是太多了,为了更好的管理这些页面,设计InnoDB的提出了区(英文名:extent)的概念。对于16KB的页来说,连续的64个页就是一个区,也就是说一个区默认占用1MB空间大小。不论是系统表空间还是独立表空间,都可以看成是由若干个区组成的,每256个区被划分成一组。 第一个组最开始的3个页面的类型是固定的,也就是说extent 0这个区最开始的3个页 2023-09-14 #MySQL #数据库