- 博客(49)
- 收藏
- 关注
原创 02-JVM学习记录-运行时数据区
运行速度最快基于栈式架构的虚拟机所使用的零地址指令更加紧凑,但完成一项操作的时候必然需要使用更多的入栈和出栈指令,这同时也就意味着将需要更多的指令分派(instruction dispatch)次数和内存读/写次数。由于操作数是存储在内存中,频繁的进行内存读写操作影响执行速度,将栈顶元素全部缓存到物理CPU的寄存器中,依此降低对内存的读写次数,提升执行引擎的执行效率。
2024-04-25 00:45:48
1238
2
原创 七大排序算法(Java实现)——冒泡、快排、插入、希尔、选择、堆排、归并
*** 交换排序:稳定,O(n^2)* 1. 冒泡排序:* 相邻两个元素两两比较,若逆序则交换* 每一轮会确定一个最大值到它最后的位置上,只需n-1轮排序* 优化:如果某一轮排序从头至尾没有发生交换,说明已经有序,结束* @param array 待排序列*/i < n - 1;i++) { // n-1轮排序j++) { // 每轮会确定一个最值if(array[j] > array[j + 1]) { // 逆序则交换// 本轮发生了交换。
2024-04-24 16:12:51
756
1
原创 八股中的记录
1. protected修饰符:同包或子类(不同包)区分普通人和专业人调用的一些方法2. 抽象:abstract修饰类和方法抽象类不可实例化,避免错误的new对象抽象方法是用abstract修饰的方法声明,没有方法体,可以视为代码化的业务规范子类必须实现父类的抽象方法3. 接口:包含一堆抽象方法,没有属性实现接口的类必须实现所有抽象方法(不必abstract修饰),提供一种特定角色(Child类,Pupil接口)。
2024-04-23 19:09:18
648
原创 MySQL主键:自增id、UUID、雪花算法
视频可看: 动画讲解:为什么不能使用自增ID或者UUID做MySQL的主键,雪花算法生成的主键存在哪些问题_哔哩哔哩_bilibili自增主键的好处:写入效率高弊端:变通方式:不使用自增主键做数据分片,而使用业务数据的用户ID做数据分片,每个用户的数据都集中在一个库,可以做到更加的内聚。 UUID随机、无序,具有非常好的全局唯一性,但不推荐做MySQL主键。从MySQL的B+树原理看,一个page写满向下一个page写,要求下一个page的数据要大于上一个page的数据,现插入一个新数据,但U
2024-04-23 10:23:05
1687
原创 cookie、session、token及其区别
当我们打开一个网站时,如果这个网站我们曾经登录过,那么在一段时间内,当我们再次打开这个网站时,发现就不需要再次登录了,而是直接进入了首页。例如bilibili,csdn等网站。其实就是浏览器保存了我们的cookie,里面记录了一些用户信息。在浏览器与服务器之间进行,浏览器访问服务器是会话的开始,但会话的结束比较模糊,因为关闭浏览器可能只是按错而已。因此,不同网站给每个用户的会话都设定了时间(结束会话的时间)和唯一ID(Session ID,通常是一串无规律字符串),由服务器设置,存储在服务器上。
2024-04-15 22:47:00
1069
原创 MySQL-进阶篇-一条sql更新语句是如何执行的(redo log和binlog)
redo log用于保证crash-safe能力。innodb_flush_log_at_trx_commit这个参数设置成1的时候,表示每次事务的redo log都直接持久化到磁盘。建议设置成1,这样可以保证MySQL异常重启之后数据不丢失。sync_binlog这个参数设置成1的时候,表示每次事务的binlog都持久化到磁盘。这个参数也建议设置成1,这样可以保证MySQL异常重启之后binlog不丢失。
2024-04-13 22:27:06
943
原创 MySQL-10. 存储引擎、视图、mysql管理
创建视图后,到数据库去看,对应视图只有一个视图结构文件(形式: 视图名.frm),而没有数据文件。视图中可以再使用视图,数据仍然来自于基表。
2024-04-09 01:07:10
840
1
原创 MySQL-9. 事务
事务读取的是开启事务时数据库当下的状态!!事务AB同时开启,即使A提交了事务,数据库有改动,B也不应该读取到改动后的数据,不应该受影响!隔离级别脏读可能性不可重复读可能性幻读可能性加锁读READ-UNCOMMITTED读未提交有有有不加锁READ-COMMITTED读已提交无有有不加锁REPEATABLE-READ可重复读无无有不加锁SERIALIZABLE可串行化无无无加锁。
2024-04-08 23:09:29
642
原创 MySQL-8. mysql索引
如果某列的值,是不会重复的,则优先考虑使用 unique 索引, 否则使用普通索引。不好用,实际使用全文搜索solr和ElasticSearch(ES)。
2024-04-08 20:23:21
410
原创 MySQL-7.mysql约束
外键约束要定义在从表上-- 创建 主表 my_classid INT PRIMARY KEY , -- 班级编号-- 创建 从表 my_stuid INT PRIMARY KEY , -- 学生编号class_id INT , -- 学生所在班级的编号-- 下面指定外键关系。
2024-04-08 12:58:05
825
原创 Spring-IoC 基于注解
以下注解写在类前,将类定义成Spring Bean。这四个注解的作用功能一模一样,只是给开发者做一些区分。value值与xml中bean的id作用相同,不写的话默认为该类的首字母小写的字符串。
2024-04-04 17:19:50
886
原创 01-JVM学习记录-类加载器
符号引用是用符号(如类名,方法名,字段名等)来描述所引用的对象,而直接引用是用具体的内存地址或指针来指向所引用的对象。符号引用在编译阶段就存在,但是需要在运行时通过类加载器解析成直接引用。直接引用在运行时才存在,它可以直接定位到内存中的目标。直接引用的效率要比符号引用高。1、遇到new,getstatic,putstatic或invokestatic这四条字节码指令时。使用new关键字实例化对象读取或设置一个类型的静态字段(final修饰已在编译期将结果放入常量池的静态字段除外)
2024-04-02 16:48:40
1370
原创 00-JVM学习记录-基础概念
类装载器:将字节码文件加载到方法区一个大的class对象。(加载、连接、初始化)多线程共享方法区和堆,灰色部分每个线程各一份。执行引擎将字节码转为机器指令,给操作系统执行。.java 编译成.class是前端编译器。Java编译器输入的指令流架构模型:基于。的,这个类是由虚拟机的具体实现指定的。执行一个所谓的Java程序的时候,完全是对物理计算机的仿真。参考:b站尚硅谷-宋少康。
2024-04-02 16:48:16
419
原创 Java集合
List无序性和不可重复性的含义是什么无序性不等于随机性 ,无序性是指存储的数据在底层数组中并非按照数组索引的顺序添加 ,而是根据数据的哈希值决定的。不可重复性是指添加的元素按照equals()判断时 ,返回 false,需要同时重写equals()方法和hashCode()方法。
2024-03-29 15:14:13
1056
原创 Springboot项目结构
_annotation:放置项目自定义注解|_aspect:放置切面代码|_config:放置配置类|_constant:放置常量、枚举等定义|__consist:存放常量定义|__enums:存放枚举定义|_controller:放置控制器代码|_filter:放置一些过滤、拦截相关的代码|_mapper:放置数据访问层代码接口|_model:放置数据模型代码|__entity:放置数据库实体对象定义|__dto:存放数据传输对象定义|__vo:存放显示层对象定义。
2024-03-24 18:51:51
1974
原创 MySQL-4.数据类型
数据类型字节数无符号数的取值范围有符号数的取值范围TINYINT10~255-128~127SMALLINT20~65535MEDIUMINT30~16777215INT4BIGINT8-> kkk int(6) // 宽度限制可以超过,但不能超过所定义数据类型值的范围-> );
2024-03-21 20:44:01
1064
原创 MySQL-2.表的基本操作
> id int auto_increment primary key comment'主键id',-> age int comment'年龄',-> salary int default '0' comment'薪水'-> id int auto_increment primary key comment'主键id',-> name varchar(30) not null comment '老师的名字',-> phone varchar(20) comment '电话号码',
2024-03-21 16:49:47
557
原创 代码随想录-回溯-java(力扣-77、17、39、40、216、131、93、78、90、46、47、51、37、491、332)
/ 切割过的回文子串// 终止条件:起始位置 ≥ s长度,说明找到了一组分割方案return;i++){//如果[startIndex, i]是回文子串,则记录} else { // 不是回文,跳过当前i的循环,后移i继续添加使子串变长continue;//起始位置i+1,不是startInedx+1,保证不重复// 回溯// 判断回文:双指针法i <= j;i++, j--){
2024-03-21 11:55:25
1110
原创 代码随想录-二叉搜索树-java(力扣700、98、530、501、235、701、450、669、108、538)
左子树上所有结点的值均小于它的根结点的值。
2024-03-13 15:44:56
984
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人