- 博客(11)
- 收藏
- 关注
原创 JVM专项面试题
这样继续循环下去,下一次Eden满了的时候,问题来了,此时进行Minor GC,Eden和Survivor各有一些存活对象,如果此时把Eden区的存活对象硬放到Survivor区,很明显这两部分对象所占有的内存是不连续的,也就导致了内存。一般设置为同样的大小。因此,在堆的使用上,G1并不要求对象的存储一定是物理上连续的,只要逻辑上连续即可;5.类信息的存储方式:永久代中的类信息是使用永久代专用的类加载器加载和卸载的,而元空间中的类信息是使用,与应用程序类加载器相同的类加载器进行加载和卸载的。
2024-04-24 16:54:37
1092
1
原创 当前读和快照读的区别及使用场景
可重复读隔离级是由 MVCC(多版本并发控制)实现的,实现的方式是启动事务后,在执行第一个查询语句后,会创建一个 Read View,后续的查询语句利用这个 Read View,通过这个 Read View 就可以在 undo log 版本链找到事务开始时的数据,所以事务过程中每次查询的数据都是一样的,即使中途有其他事务插入了新纪录,是查询不出来这条数据的,所以就很好了避免幻读问题。就是读取当前最新的数据,并且对读取的数据加锁,阻止其他事务同时修改相同的记录,避免出现安全问题。
2024-04-16 10:52:06
605
原创 复习下面试知识
假如name,age,id有索引,address没有索引, 在查询address时会先走索引查询出来数据,然后根据id走主键索引,再查出数据,查出来address,就是回表。一般用的是b+树索引,当然也有哈希索引,不过哈希索引用的少, 哈希结构是key,value结构,为什么哈希用的少呢,因为哈希不太能支持范围查询,排序查询这些!单线程,减少上下文切换 (上下文切换:一个cpu同时只能执行一个A线程的任务,过一会又去执行B线程的任务,不同的线程都要去抢占CPU的资源 时间片)这两个条件来过滤数据。
2024-04-10 16:56:16
659
原创 记录一下 面试被问到的问题!
在springboot 中,如果想让应用程序启动时扫描其他组件下的包,可以使用@ComponentScan 注解@CompoentScan注解可以指定额外的包路径,让Spring容器去扫描这些包路径下的的组件(如:@Conpoent @Service @Repository @Controller等注解的类)ajax和webservice是两种在web开发中常用的技术,他们各自具有独特的原理和应用场景!
2024-03-12 15:41:41
898
原创 缓存学习总结
1.流浪器缓存 离用户最近的可以作为缓存的地方,借助的是用户的“资源”(缓存的数据在用户的设备上),让用户来分担压力。 这个过程是浏览器替我们完成的,一般用于缓存图片,js,css这些资源,可以通过Http消息头中的Cache-Control 来控制它。js里的全局变量,Cookie等运用也属于该范畴。 浏览器缓存是在用户侧的缓存点,我们对于他的掌控力比较差,用户如果没有发起请求,我们无法主动去更新数据。 2、CDN缓存 提供CDN服务...
2021-08-03 13:58:51
152
原创 final用在类上、方法上、变量上的区别?
final意义:最终的,不可改变的。 1、修饰变量,为常量,值不可变; 2、修饰对象,值可变,引用不变; 3、修饰方法,方法不可重写; 4、修饰类,无子类,不可以被继承,更不可能被重写。
2020-11-03 11:59:53
899
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人