个人向galgame原声带或相关音乐整理及其资源
也是一直以来打算整理一下自己爱听的galgame ost
或者其他galgame相关的音乐,按照专辑的方式进行整理,同时我有的也会扒下来上传
就借助这个机会,好好的搞一下吧
顺序随缘
持续更新
【FLAC+MP3】AIR ORIGINAL
SOUNDTRACK
神尾观铃镇楼
AIR ORIGINAL SOUNDTRACK
通过网盘分享的文件:AIR ORIGINAL SOUNDTRACK.zip
13XeUCWQxV19snaDqzz48uA?pwd=1174 提取码: 1174 解压 10086
【WAV】ゲーム「水葬銀貨のイストリア」Sound
Track/ウグイスカグラ
【WAV】ゲーム「水葬銀貨のイストリア」Sound
Track/ウグイスカグラ
【WAV】ゲーム「水葬銀貨のイストリア」Sound Track/ウグイスカグラ.zip
百度网盘
提取码: 1174
【FLAC】さよならアーリーサマー/やなぎなぎ、麻枝准
img
百度网盘
提取码: 1174...
算法笔试—美团20260314春招实习笔试
T1 小美的因子数量
image-20260314102158293
image-20260314102203440
一个正整数的因子个数为奇数,当且仅当它是 完全平方数
因数通常是成对出现的,只有当 d = n/d
时,这一对因子才会合并为一个,从而使总数变成奇数。而 d = n/d 意味着
n = d2,即
n 是一个完全平方数(如 1, 4,
9, 16…)。
因此,题目要求的区间 [l, r]
内因子数量为奇数的数的个数,等价于问:区间 [l, r]
内有多少个完全平方数?
那么,计算区间 [l, r]
内完全平方数的个数,可以用 前缀和 的思想:
1 到 r 之间有多少完全平方数
计算 1 到 l−1 之间有多少个完全平方数
相减
1234567891011public static void main(String[] args) { Scanner in = new Scanner(System.in); long l = in.nextLong(); ...
Spring框架面试题汇总—Spring及Spring Boot相关面试题整理
Spring Boot 原理
介绍一下 Spring Boot
整体的启动流程?
Spring Boot
启动流程的核心是通过自动配置和上下文初始化,将零散的组件装配成一个可运行的应用上下文(ApplicationContext),整体分为
前置准备、上下文初始化、核心刷新、启动收尾 四大步
首先从 main 找到
SpringApplication.run(主类.class, args) 方法,在执行
run() 方法之前先 new 一个 SpringApplication
实例对象。
实例化时做的具体核心内容:
然后进行应用类型推断,判断当前应用是 Servlet 应用(Spring Web
MVC)、Reactive 应用(Spring WebFlux)还是普通非 Web 应用。
紧接着进行初始化器加载,从 META-INF/spring.factories
中加载所有 ApplicationContextInitializer
的实现类,用于在上下文刷新前进行自定义配置,包括 Spring...
MySQL面试题汇总—进阶知识与性能优化
约束
MySQL有哪些约束类型?各自的业务作用是什么?如何选择合适的约束策略?
MySQL的约束类型包括主键约束、唯一约束、非空约束、外键约束和检查约束五种。
主键约束的业务作用是提供表的唯一标识,支持高效的数据检索和关联查询。唯一约束确保业务关键字段的唯一性,如用户邮箱、订单号等。非空约束保证关键业务数据的完整性,避免因空值导致的业务逻辑错误。外键约束维护数据一致性,确保关联数据的有效性。检查约束在数据库层面实现业务规则验证,提高数据质量。
选择合适的约束策略需要综合考虑业务需求、性能影响和维护成本。对于核心业务表,应该使用主键约束和必要的非空约束。对于需要唯一性验证的字段,使用唯一约束并配合索引优化。外键约束在数据一致性要求高的场景下使用,但需要考虑性能影响。检查约束适用于简单的业务规则验证,复杂逻辑建议在应用层处理。
外键约束还涉及到级联操作的概念
可以通过 ON DELETE 和 ON UPDATE
子句定义外键的级联行为
还包括
CASCADE、SET ...
MySQL面试题汇总—SQL及其基础知识
持续更新,不重要的我不收集
MySQL 基础知识
什么是关系型数据库?
关系型数据库 RDB,就是一种建立在关系模型的基础上的数据库。
关系模型表明了数据库中所存储的数据之间的联系,例如一对一、一对多、多对多
关系型数据库中,我们的数据都被存放在了各种表中(比如用户表),表中的每一行就存放着一条数据(比如一个用户的信息)。
关系型数据库表关系
大部分关系型数据库都使用 SQL
来操作数据库中的数据。并且,大部分关系型数据库都支持事务的四大特性(ACID)。
有哪些常见的关系型数据库呢?
MySQL、PostgreSQL、Oracle、SQL Server、SQLite
什么是 SQL?
SQL 是一种结构化查询语言(Structured Query
Language),专门用来与数据库打交道,目的是提供一种从数据库中读写数据的简单有效的方法。
几乎所有的主流关系数据库都支持 SQL
,适用性非常强。并且,一些非关系型数据库也兼容 SQL 或者使用的是类似于
SQL 的查询语言。
什么是元组, 码,
候选码, 主码, 外码,...
Java面试题汇总——JVM常见面试题总结
持续更新
面试题系列都持续更新
内存结构与对象创建
请详细介绍JVM内存区域的整体布局,各个区域的作用和特点
Java 虚拟机在执行 Java
程序的过程中会把它管理的内存划分成若干个不同的数据区域
Java 运行时数据区域(JDK1.8
)
JVM
运行时数据区分成五块:堆、方法区、虚拟机栈、本地方法栈、程序计数器。其中堆和方法区是所有线程共享的,另外三个是每个线程私有的。
堆:存放对象实例与数组,是 GC
管理的核心区域。它线程共享,是JVM
中最大的一块内存,分为新生代和老年代
image-20260314155842050
堆中包含字符串常量池,是 JVM
为了提升性能和减少内存消耗,针对字符串专门开辟的一个区域,主要目的是为了避免字符串的重复创建。因为同一个字面量的字符串,在常量池中只会保留一个引用
元空间(方法区):JDK1.8前叫方法区,它存储类的元信息,包括类结构、常量池、静态变量、JIT
编译后的代码缓存等内容,而且其中包含运行时常量池,其中垃圾回收行为较少
JDK 8...
Java面试题汇总——Java集合框架中的面试题
List
Collections 和 Collection
的区别
Collection 是 Java
集合框架中的顶级接口。它定义了一组通用的操作和方法,如添加、删除、遍历等,用于操作和管理一组对象。Collection
接口有许多实现类,如 List、Set 和 Queue 等。
Collections(注意有一个s)是Java提供的一个工具类,位于 java.util
包中。它提供了一系列静态方法,用于对集合进行操作和算法。Collections
类中的方法包括排序、查找、替换、反转、随机化等等。这些方法可以对实现了
Collection 接口的集合进行操作,如 List 和 Set。
说说 List 和...
Java面试题汇总——Java基础,JavaSE中常见的面试题
本文章持续更新
Java 基础概念和常识内容
JVM vs JDK vs JRE
Java 虚拟机(Java Virtual Machine, JVM)是运行 Java
字节码的虚拟机。JVM
有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的
JVM 实现是 Java 语言“一次编译,随处可以运行”的关键所在。
image-20260205134622558
JVM 并不是只有一种!只要满足 JVM
规范,每个公司、组织或者个人都可以开发自己的专属 JVM。
也就是说我们平时接触到的 HotSpot VM 仅仅是是 JVM
规范的一种实现而已。
维基百科上就有常见 JVM 的对比:Comparison
of Java virtual machines ,感兴趣的可以去看看。并且,你可以在 Java SE
Specifications 上找到各个版本的 JDK 对应的 JVM 规范。
JDK(Java Development...
Java面试题汇总——Java多线程面试题汇总
面试题系列文章持续更新,源于个人搜寻和整理总结
线程基础知识
什么是线程和进程?线程与进程的关系是什么?
进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。
线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。
与进程不同的是同类的多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈,所以系统在产生一个线程,或是在各个线程之间做切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。
对于 Java
来说,一个进程中可以有多个线程,多个线程共享进程的堆和元空间(方法区)资源,但是每个线程有自己的程序计数器、虚拟机栈
和 本地方法栈。
而各个进程是独立的,一个进程中的多个线程可能不独立,进程之间资源不共享,所以几乎互不影响,而同一进程中的线程极有可能会相互影响,线程执行和切换上下文开销小,但不利于资源的管理和保护,而进程正相反。
说说线程的生命周期和状态?
Java线程共有6种状态,定义在Thread.State枚举中。
Java...
面试时候如何反问,并且如何回答有关项目的提问
如何准备项目介绍
常见的问法是,说下你最近的(或最拿得出手的)一个项目。
这时候,你做过什么,描述工作经验和项目,面试官的主要目标是看看是否和简历上一致,他不清楚你做了什么太多的内容,因此这个时候,你甚至可以控制面试官接下来问什么
一般来说,在面试前,大家应当准备项目描述的说辞,自信些,因为这部分你说了算,流利些,因为你经过充分准备后,可以知道你要说些什么。而且这些是你实际的项目经验,那么一旦让面试官感觉你都说不上来,那么可信度就很低了。
一般来说,描述的要素是这样的:
项目基本情况
主动说出你做了哪些事情
这部分的描述一定需要和你的技术背景一致。
一般是解决了什么问题 + 带来了什么价值
描述你在项目里的角色
描述用到的技术细节
在这部分你就可以控制一下面试官问什么
我们可以遵循 STAR
法则来进行回答,整体这样下来,会显得你很有思考力,且具有行动力,可以给企业创造出价值,这也是面试官评定候选人最关键的指标之一。
S:Storyboard 背景是什么
T:Target 目标是什么
A:Answer...
Hibernate,MyBatis,Spring Data JPA等之间的关系
对象关系映射框架 ORM
什么是 ORM
在传统的数据库操作中,我们通常需要直接编写SQL语句,与数据库进行交互。然而,这种方式在面对复杂的业务逻辑时,往往显得繁琐且容易出错。
为了解决这一问题,对象关系映射(Object-Relational Mapping,简称 ORM
)应运而生。作为一种桥梁,ORM将面向对象的编程思想与关系型数据库的结构连接起来,极大地简化了开发流程
ORM,即对象关系映射,是一种编程技术,用于在面向对象编程语言和关系型数据库之间建立联系。
在ORM的框架下:
类:对应着数据库中的一个表,类的属性则对应表中的字段,这就是通常说的,实体类
对象:对应数据库中的一行数据,通过实例化类,我们可以操作数据库中的具体记录。
方法:ORM
框架通常会提供一系列内置方法,开发者只需调用这些方法,就能完成数据库操作。
ORM的工作原理
ORM的核心在于 映射
它通过将类和对象的操作转化为底层的SQL语句,完成与数据库的交互。
那么,开发者在代码中定义模型类,就类似,表的创建。而...
MySQL part5——MySQL中InnoDB存储引擎对MVCC的实现及其原理
认识 MVCC
什么是 MVCC
MVCC(Mutil Version Concurrency
Control)多版本并发控制,是一种并发控制的方法,用于在多个并发事务同时读写数据库时保持数据的一致性和隔离性。
它是通过在每个数据行上维护多个版本的数据来实现的。当一个事务要对数据库中的数据进行修改的时候,MVCC
会为该事务创建一个数据快照,而不是直接修改实际的数据行。(个人认为这一定上参考了COW写时复制机制)
同时,读取数据时,会根据事务的“可见性规则”,选择合适的历史版本进行读取。这种机制让“读运行”和“写操作”可以并行执行,互不阻塞。
在 MySQL 的...
MySQL part5——从MySQL三大日志到两阶段提交,深度拆解MySQL持久化
MySQL的数据持久化过程
事务的支持是数据库区分文件系统的重要特征之一
MySQL
持久化的本质,是把内存中数据的修改安全、可靠地写入磁盘,即使遇到数据库崩溃或者服务器断电这种服务宕机的情况,也能恢复到崩溃前的一致状态。
三大日志
MySQL 日志
主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。
其中,跟 MySQL 持久化流程相关的日志主要是,Redo Log 重做日志,Binlog
二进制日志,Undo Log 回滚日志,它们的架构是这样的
img
Redo Log:是 InnoDB 存储引擎独有的,保证已提交事务不丢失
Binlog:保证数据恢复,而且主从复制也涉及到这个日志
Undo Log:是 InnoDB 特有的日志,记录数据修改前的状态,实现 MVCC
多版本并发控制,而且通过 Undo...













