- 博客(57)
- 收藏
- 关注
原创 Spring BeanFactory和FactoryBean的区别
以Bean结尾,表示它是一个Bean,不同于普通Bean的是:它是实现了FactoryBean接口的Bean,根据该Bean的ID从BeanFactory中获取的实际上是FactoryBean的getObject()返回的对象,而不是FactoryBean本身,如果要获取FactoryBean对象,请在id前面加一个&符号来获取。相同点:都是用来创建bean对象的。FactroyBean 的好处。
2024-03-29 10:43:52
410
原创 Mysql创建用户,并授权数据库所有权限
授权新用户对数据库的权限(这里的’databaseName’是数据库名,username 是用户)– 创建新用户(这里的’username’是新用户名,'password’是新密码)– 刷新权限使变更生效。
2024-03-29 09:50:38
559
原创 mysql面试,事务四大特性,mvcc版本控制,3个重要日志,索引结构,索引失效,innodb引擎执行流程,主从复制,锁,page页
mysql面试,事务四大特性,mvcc版本控制,3个重要日志,索引结构,索引失效,innodb引擎执行流程,主从复制,锁,page页
2024-03-22 17:51:07
747
原创 innodb 的 buffer pool 管理 page
文件头,文件尾,页头,页目录,最小记录+最大记录,用户记录,空闲区域;空闲页,干净页,脏页;free List ,Flush List ,Lru List
2024-03-22 10:53:15
773
原创 mysql 日志文件,redolog重做日志,undolog回滚日志,binlog归档日志
为什么会有redo log和binlog两份日志呢 crashSafe 和 两段提交
2024-03-20 12:29:38
1310
原创 mysql索引(索引失效,遵循最左前缀,使用1.全值匹配 2.覆盖索引,失效:索引加函数,范围查询右边的列,!=, is null, like左模糊,传参类型不匹配,or/in)
遵循最左前缀,建议使用1.全值匹配 2.覆盖索引,索引失效:索引加函数,范围查询右边的列,!=, is null, or/in,like左模糊,传参类型不匹配
2024-03-18 18:23:16
1706
原创 mysql索引(explain 执行计划)
explain 执行计划:6个关键优化点:select_type, type , ley ,ley _len ,row,extra
2024-03-18 16:16:48
2157
原创 mysql索引 (索引的忧缺点 ,联合索引)
索引的忧缺点:读操作快,写操作慢,维护成本高;,联合索引:最左前缀原则,更容易使用覆盖索引,减少回表,可以更精准的命中数据范围,占用更少的磁盘空间
2024-03-15 16:07:16
602
原创 mysql索引(聚簇索引,非聚簇索引:回表)( innodb 引擎库表设计注意事项)
(聚簇索引,非聚簇索引:回表)( innodb 引擎库表设计注意事项)
2024-03-15 14:33:36
473
原创 mysql 索引(为什么选择B+ Tree?)
的优点:降低I/O成本,CPU的资源消耗(数据持久化在磁盘中,每次查询都得与磁盘交互)缺点:更新表效率变慢,(更新表数据,还要更新索引),占用空间分类:主键索引,唯一索引,单值索引,组合索引。
2024-03-14 18:39:29
594
原创 mysql事务(MVCC机制:undo日志)(mysql执行过程:redo日志,Buffer Pool缓存池)
mysql事务(MVCC机制:undo日志)(mysql执行过程:redo日志,Buffer Pool缓存池)
2024-03-14 16:02:48
1794
原创 JVM诊断,调优(STW)
线程结束后,局部变量也就释放了,堆区对象的引用也就失效了,就变为垃圾对象,若不将该对象清除,就会无限大。Attach 到目标进程上的 arthas 还会继续运行,端口会保持开放,下次连接时可以直接连接上。如果不暂停用户线程,就意味着在垃圾收集过程中会持续产生新的垃圾对象,无法完全清理干净。其次,用户线程的运行必然会导致对象的引用关系发生改变,可能出现两种情况:多标和漏标。如果只是退出当前的连接,可以用quit或者exit命令。如果想完全退出 arthas,可以执行stop命令。2.给内存足够大小,避免。
2024-03-13 18:22:29
255
原创 JVM垃圾收集器-serial.parNew,parallelScavnge,serialOld,parallelOld,CMS,G1
CMS收集器(低停顿),G1收集器(大容量,筛选回收),serial收集器(单线程),parNew收集器(多线程),parallel Scavenge收集器工作原理
2024-03-12 12:35:11
1430
原创 判断类是否可以被回收
3.该类对应的class 对象,没有任何地方被引用。类对象:将该类当作一个实例 :比如反射获取该类。类的实例:指new 出来的一些对象。1.该类的所有实例都被回收,2.加载该类的类加载器被回收。
2024-03-11 21:16:44
280
原创 判断对象是否可以被回收:引用计数法,可达性分析,finalize()判定
沿着GCroot根向下搜索,所有可以搜到的对象,都会被标记,反之,就是判定为垃圾对象。遍历内存中的所有变量,静态变量,然后将该变量当作GCroot根,此类对象是指,在进行可达性分析后,未被GCroot根标记的对象。java 有四种引用类型,强引用,软引用,弱引用,虚引用。②软引用:当GC完后,若内存还是满,则会将弱引用对象回收。②,若有,则判断有没有与GCroot根上的对象引用。对象每次被赋值给变量时,该对象的计数+1,若将该变量置为null,则该对象的计数-1。若该对象的计数器为0 ,则该对象就会。
2024-03-11 21:07:15
351
原创 JVM运行模式-解释模式和编译模式,逃逸分析
当一个对象在方法中被定义后,判断是否会被其他方法引用,若被引用,则放堆内存,否则放战针中,若栈帧中放不下,还是会放到堆中。3.混合模式:少数热点代码进行编译模式,其余是解释模式。1.解释模式:运行过程中进行编译一行,执行一行。2.编译模式:一次性编译成机器码,再执行。编译后的机器码文件很大,占用特别多内存。分析对象的动态作用域。JVM参数:默认开启。
2024-03-09 10:55:55
623
原创 JVM内存模型-静态链接,动态链接
将符号引用 替换为直接引用1.符号引用:字节码文件中,每一个代码都会被识别为一个符号可以使用以下命令查看2.直接引用:内存地址指针。
2024-03-09 09:41:49
253
原创 JVM内存模型-栈,栈帧,操作数栈,
线程中的每一个方法都会被分配一个独有的栈帧空间,这样的原因是,每一个方法的局部变量作用域都是该方法。线程私有,程序启动时,虚拟机为每一个线程分配一块栈内存空间,来存储局部变量。栈帧又包含:局部变量表,操作数栈,动态链接,方法出口。,用来临时存放基本类型的数值,和引用类型的对象地址。操作数栈----->线程里方法的局部变量,数值等。栈帧------>线程里的方法。
2024-03-09 09:10:55
320
原创 类的加载,双亲委派机制
int =0,boolen =false ,引用类型=null。每次加载都会向父类中进行加载,如果没有父类了,就执行。通过IO流将class文件加载到内存区域。2.验证:保证每个类都是可以被引用的。类的加载器,是有父子关系,但不是继承。将 静态方法 替换为所存内存的指针。2.保证类的唯一性,避免重复加载。①校验文件格式 .class。②校验是否符合Java语言规范。1.沙箱安全,防止类被篡改。classpath 路径。③校验字节码是否合法。①将静态变量分配内存。3.应用程序类加载器。
2024-03-08 11:49:11
392
原创 JVM的内存结构,JDK和JRE关系
1.JDK即java开发工具,jre 是Java 运行环境关系:JDK=jre+开发工具jre=jvm+java核心类库。
2024-03-08 10:12:22
728
原创 VMware Network CentOS 虚拟机 安装使用
VMware Network CentOS 虚拟机 安装,虚拟机IP网关设置,Windoes网卡设置,访问局域网内宿主机上的虚拟机服务
2023-08-21 14:54:37
329
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人