个人向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...
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
)
堆:存放对象实例与数组,是 GC
管理的核心区域。它线程共享,是JVM
中最大的一块内存,分为新生代和老年代
堆中包含字符串常量池,是 JVM
为了提升性能和减少内存消耗,针对字符串专门开辟的一个区域,主要目的是为了避免字符串的重复创建。因为同一个字面量的字符串,在常量池中只会保留一个引用
元空间:也叫方法区,其中包含运行时常量池,其中垃圾回收行为较少
运行时常量池存储 Class
文件编译期生成的各种字面量(Literal)和符号引用(Symbolic
Reference)
虚拟机栈:线程私有,描述 Java
方法执行的内存模型。每个方法执行时创建一个栈帧,除了一些
Native 方法,其他所有的 Java...
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线程共有6种状态,定义在Thread.State枚举中。
Java 线程在运行的生命周期中的指定时刻只可能处于下面 6
种不同状态的其中一个状态:
NEW: 初始状态,线程被创建出来但没有被调用 start()
。
RUNNABLE: 运行状态,线程被调用了
start()等待运行的状态。
BLOCKED:阻塞状态,需要等待锁释放。
WAITING:等待状态,表示该线程需要等待其他线程做出一些特定动作(通知或中断)。
TIME_WAITING:超时等待状态,可以在指定的时间后自行返回而不是像
WAITING 那样一直等待。
TERMINATED:终止状态,表示该线程已经运行完毕。
线程在生命周期中并不是固定处于某一个状态而是随着代码的执行在不同状态之间切换。
Java 线程状态变迁图
Java...
面试时候如何反问,并且如何回答有关项目的提问
如何准备项目介绍
常见的问法是,说下你最近的(或最拿得出手的)一个项目。
这时候,你做过什么,描述工作经验和项目,面试官的主要目标是看看是否和简历上一致,他不清楚你做了什么太多的内容,因此这个时候,你甚至可以控制面试官接下来问什么
一般来说,在面试前,大家应当准备项目描述的说辞,自信些,因为这部分你说了算,流利些,因为你经过充分准备后,可以知道你要说些什么。而且这些是你实际的项目经验,那么一旦让面试官感觉你都说不上来,那么可信度就很低了。
一般来说,描述的要素是这样的:
项目基本情况
主动说出你做了哪些事情
这部分的描述一定需要和你的技术背景一致。
一般是解决了什么问题 + 带来了什么价值
描述你在项目里的角色
描述用到的技术细节
在这部分你就可以控制一下面试官问什么
我们可以遵循 STAR
法则来进行回答,整体这样下来,会显得你很有思考力,且具有行动力,可以给企业创造出价值,这也是面试官评定候选人最关键的指标之一。
S:Storyboard 背景是什么
T:Target 目标是什么
A:Answer...
Hibernate,MyBatis,Spring Data JPA等之间的关系
什么是ORM
Spring项目中整个持久层如何实现的
Hibernate, JPA 和
Spring Data JPA 之间的关系
我们都知道Java 持久层框架访问数据库的方式大致分为两种。
一种以 SQL 核心,封装一定程度的 JDBC 操作,比如: MyBatis。
另一种是以 Java
实体类为核心,将实体类的和数据库表之间建立映射关系,也就是我们说的
ORM框架,如:Hibernate、Spring Data JPA。
JPA
JPA的全称是Java Persistence...
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...
MySQL part4——MySQL索引详解和实践及从索引结构入手详细分析索引
索引
什么是索引
索引是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。
索引的作用就相当于书的目录。打个比方:我们在查字典的时候,如果没有目录,那我们就只能一页一页地去找我们需要查的那个字,速度很慢;如果有目录了,我们只需要先去目录里查找字的位置,然后直接翻到那一页就行了。
这样,我们就可以理解下述对索引的描述
索引是帮助MySQL高效获取数据的数据结构,在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用数据,这样就可以在这些数据结构上采用高级查找算法
索引底层数据结构存在很多种类型,常见的索引结构有:B 树、 B+ 树...













