- 博客(14)
- 收藏
- 关注
原创 Java基本类型与引用类型区别详解
在Java中,数据类型分为,它们在存储方式、行为特性和内存管理上有本质区别。Java定义了byte0short0int0long0Lfloat0.0fdouble0.0dchar'\u0000'booleanfalsetruefalse存储的是对象的,而非数据本身。所有引用类型都继承自。
2025-06-05 10:48:20
327
3
原创 StringBuffer与StringBuilder线程安全区别
最大的区别在于线程安全性非常到位。会牺牲不必要的性能,而错误地在多线程共享场景下使用。非线程安全”是掌握两者区别的核心。则会导致难以调试的并发错误。,因为它提供了更好的性能。错误地在单线程中使用。
2025-06-04 14:54:44
227
3
原创 01 | 数据库概述
Oracle1979 年,Oracle 2 诞生,它是第一个商用的 RDBMS(关系型数据库管理系统)。随着 Oracle 软件的名气越来越大,公司也改名叫 Oracle 公司。2007年,总计85亿美金收购BEA Systems。2009年,总计74亿美金收购SUN。此前的2008年,SUN以10亿美金收购MySQL。意味着Oracle 同时拥有了MySQL 的管理权,至此 Oracle 在数据库领域中成为绝对的领导者。2013年,甲骨文超越IBM,成为继Microsoft后全球第二大软件公司。
2025-05-27 13:55:53
949
原创 01|Linux下MySQL的安装与使用
举例:我在创建一个表时,该表中有一个字段为 name,给 name 设置的字段类型为 char(10) ,如果我在插入数据的时候,其中 name 这个字段对应的有一条数据的长度超过了10 ,例如'1234567890abc',超过了设定的字段长度10,那么不会报错,并且取前10个字符存上,也就是说这个数据被存为了'1234567890',而'abc'就没有了。但是,我们给的这条数据是错误的,因为超过了字段长度,但是并没有报错,并且mysql自行处理并接受了,这就是宽松模式的效果。0/LOW:只检查长度。
2025-05-27 13:42:55
770
原创 02 | Mysql的数据目录
在MySQL5.6.6以及之后的版本中,InnoDB并不会默认的把各个表的数据存储到系统表空间中,而是为 一个表建立一个独立表空间 ,也就是说我们创建了多少个表,就有多少个独立表空间。MySQL 系统自带的数据库,这个数据库保存着MySQL服务器维护的所有其他数据库的信息 ,比如有哪些表、哪些视图、哪些触发器、哪些列、哪些索引。MySQL 系统自带的核心数据库,它存储了MySQL的用户账户和权限信息,一些存储过程、事件的定义信息,一些运行过程中产生的日志信息,一些帮助信息以及时区信息等。
2025-05-27 13:41:32
618
原创 05 | Mysql存储引擎
MySQL从3.23.34a开始就包含InnoDB存储引擎。大于等于5.5之后,默认采用InnoDB引擎。InnoDB是MySQL的默认事务引擎,它被设计用来处理大量的短期(short-lived)事务。可以确保事务的完整提交(Commit)和回滚(Rollback)。除了增加和查询外,还需要更新、删除操作,那么,应优先选择InnoDB存储引擎。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。数据文件结构:(在《第02章_MySQL数据目录》章节已讲)
2025-05-27 13:40:12
1017
原创 06 | 索引的数据结构
索引(Index)是帮助MySQL高效获取数据的数据结构。索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法。索引是在存储引擎中实现的,因此每种存储引擎的索引不一定完全相同,并且每种存储引擎不一定支持所有索引类型,同时,存储引擎可以定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。有些存储引擎支持更多的索引个数和更大的索引长度。
2025-05-27 13:39:16
583
原创 10 | 索引优化与查询优化
统一使用utf8mb4(5.5.3版本以上支持)兼容性更好,统一字符集可以避免由于字符集转换产生的乱码。不同的字符集进行比较前需要进行转换会造成索引失效。索引文件具有 B-Tree 的最左前缀匹配特性,如果左边的值未确定,那么无法使用此索引。学员表插入50万条数据,班级表插入1万条数据。拓展:Alibaba《Java开发手册》创建往class表中插入数据的存储过程。命令开启:允许创建函数设置。保证每条数据都不同。
2025-05-27 13:38:01
190
原创 13 | 事务基础知识
事务是数据库区别于文件系统的重要特性之一,当我们有了事务就会让数据库始终保持一致性,同时我们还能通过事务的机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。
2025-05-27 13:37:23
697
原创 14 | Mysql事务日志
事务有4种特性:原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢?有的 DBA 或许会认为 UNDO 是 REDO 的逆过程,其实不然。
2025-05-27 13:36:00
662
原创 15 | Mysql锁
在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。为保证数据的一致性,需要对并发操作进行控制,因此产生了锁。同时锁机制也为实现MySQL的各个隔离级别提供了保证。锁冲突也是影响数据库并发访问性能的一个重要因素。所以锁对数据库而言显得尤其重要,也更加复杂。
2025-05-27 13:35:02
794
原创 04 | Mysql逻辑架构
以某些系统函数举例,可能同样的函数的两次调用会产生不一样的结果,比如函数 NOW ,每次调用都会产生最新的当前时间,如果在一个查询请求中调用了这个函数,那即使查询请求的文本信息都一样,那不同时间的两次查询也应该得到不同的结果,如果在第一次查询时就缓存了,那第二次查询的时候直接使用第一次查询的结果就是错误的!需要说明的是,在 MySQL 中的查询缓存,不是缓存查询计划,而是查询对应的结果。所有的数据,数据库、表的定义,表的每一行的内容,索引,都是存在文件系统上,以文件的方式存在的,并完成与存储引擎的交互。
2025-05-27 13:33:22
562
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人