03 2025 档案
摘要:垃圾回收器: 串行【SerialGC】: 单线程垃圾回收器; 堆内存较小,合适个人电脑【cpu少】; 执行过程: 串行在新生代执行的算法是:复制,在老年代上执行的是:标记整理,分别运行; 触发垃圾回收,建立STW安全点,单线程进行垃圾回收,其他进行阻塞; 执行结束后,打开安全点; 吞吐量优先【Par
阅读全文
摘要:垃圾回收算法: 标记清除 先扫描堆空间,没有GC root引用的对象进行标记垃圾; 清除垃圾【对垃圾的起始、结束位置进行记录】; 速度快,容易产生碎片内存空间; 标记整理: 先扫描堆空间,没有GC root引用的对象进行标记垃圾; 整理空间,将活动空间已经移动到连续空间; 克服碎片化空间,低效率;
阅读全文
摘要:JDBC【Java DataBase Connectivity】java数据库连接接口; 面向接口编程: 注册驱动 获取连接 定义sql语句; 获取执行sql对象; 执行sql 处理返回结果; 释放资源; JDBC API【面向接口编程】: DriverManager: 注册驱动【registerD
阅读全文
摘要:垃圾回收机制 如何判断对象可以回收? 引用计数法: 当存在引用时+1,减小引用时 -1; 当引用数 = 0时,判断为垃圾; 缺:当存在循环引用时,双方引用都是1,就不能判断垃圾; 可达性分析算法: 根对象:肯定不能当作垃圾进行回收的对象; 当一个对象没有直接或间接被根对象引用,则就被当做垃圾。 扫描
阅读全文
摘要:jvm 内存结构部分 程序计数器【寄存器】:记住下一条jvm指令的执行地址程序; 线程私有的,每个线程都有自己的程序计数器; 不会存在内存溢出; 虚拟机栈:线程运行需要的内存栈,一个线程一个栈; 栈是由栈帧组成,通常在1MB以内; 一个栈帧就是每个方法运行时,需要的内存【参数,局部变量,返回地址】;
阅读全文
摘要:存储引擎 MyISAM:不支持事务,不支持外键,表级锁,但是访问速度快; InnoDB:支持事务,外键,行级锁,效率更低; Memory:使用内存在创建表,默认hash索引,服务器关闭,表中数据丢失,表的结构还在; show engines; alter table table_name engin
阅读全文
摘要:mysql 事务 事务用于保证数据的一致性,它由一组相关的dml 【update, insert, delete】语句组成【要么全成功,要么全失败,🔒】; 在执行事务的时候,mysql会在表上加锁,防止其他用户改表; start transaction -- 开始一个事务, set autocom
阅读全文
摘要:mysql 索引 数据的查询量远远大于写入量; 根据对应字段创建一个B+树的数据结构,当搜索时,从B+树上进行搜查; select 是全表扫描; 索引的类型: 主键索引【primary key】; 唯一索引【unique】; 普通索引【index】; 全文索引【fulltext】; 添加索引 --
阅读全文
摘要:mysql 约束: 约束关键字:not null,unique,primary key,foreign key 和 check; primary key:用于唯一标识当前行的数据,定义主键约束后,该行不能重复; primary key 不能重复,而且不能为null,涉及符复合主键也不能为null;
阅读全文
摘要:多表查询: 多表笛卡尔集: 多表查询条件不能少于表的个数减一,否则会出现笛卡尔集合; -- 两个表进行排列组合; SELECT * FROM emp, dept; 自连接:将同一张表看作两张表使用,然后使用别名【as 避免同名表】; 子查询:嵌套查询; 单行子查询:只返回一行的子查询; 多行子查询:
阅读全文
摘要:查询加强: like操作符: %:表示0到任意字符; _:表示单个任意字符; 分页查询: select ... limit start, row; -- 取出[start+1, start + row]行的数据,start从0开始; -- start+1表示第几列开始,row是取的记录条数; 分组增
阅读全文
摘要:sql语句【CRUD】 insert语句; 插入数据于字段的数据类型相同; 当数字字符时,会尝试转型; 数据长度应在规定范围内【字符串】; 字符和日期在单引号中; 当允许时,可以插入空值; 当不给某个字段值时,有默认值就会添加,否则【NOT null】报错; -- values与列表位置一一对应;
阅读全文
摘要:表的sql处理: #创建表: CREATE TABLE t12( id INT, `name` VARCHAR(255), sex CHAR(1), brithday DATE, entry_date DATE, job VARCHAR(255), salary DOUBLE UNSIGNED, `
阅读全文
摘要:Mysql:通过数据库管理系统(DBMS),管理多个数据库; DBMS【数据管理系统,mysqld在3306监听】管理多个数据库, 数据库下包含多张表; SQL语句分类: 数据定义语句; 数据操作语句; 数据查询语句【增删改查】; 数据控制语句【管理,权限】; 创建数据库SQL: [DEFAULT]
阅读全文
摘要:数据结构: 平衡二叉树:任意节点的左右子树的高度差不能超过1; 确定支点:从添加的节点开始,不断的父节点找不平衡点; 左旋 【确定支点在根节点的右子树】: 以不平衡点作为支点; 把支点左旋转降级,变成左节点; 晋升原来的右节点; 【确定支点在根节点】 以不平衡点作为支点; 将根节点左旋转,降级,为根
阅读全文
摘要:集合: Collection:所有单列集合得基类接口【list 和 set】: Collection的常用方法: boolean add(E e); void clear(); boolean remove(E e); boolean contains(); boolean isEmpty(); i
阅读全文