
面试学习
文章平均质量分 87
18你磊哥
大猪蹄子?
展开
-
MYSQL面试题50
答案:」幻读是指在同一个事务中多次执行相同的查询,但由于其他事务的插入操作导致结果集不一致的情况。具体来说,就是一个事务在读取某个范围内的记录时,另一个事务插入了一条新的记录到这个范围内,导致前一个事务再次读取时看到了之前不存在的记录。「MVCC」:通过为每个事务提供一个唯一的事务ID,InnoDB可以确保事务只看到在其开始之前已经提交的事务所做的修改。这保证了事务的一致性视图,从而避免了幻读。「间隙锁」:除了对记录本身加锁外,InnoDB还会对索引范围内的间隙(两个索引值之间的空间)加锁。原创 2025-04-27 08:30:00 · 713 阅读 · 0 评论 -
Spring面试12问
答案要点Spring中的类型转换机制是通过和Converter接口来实现的。用于将字符串转换为其他类型的对象,而Converter则提供了更通用的类型转换方法。在Spring 3.0之后,推荐使用Converter接口进行类型转换,因为它提供了更灵活和强大的类型转换能力。要在Spring中进行自定义类型转换,可以创建实现Converter接口的类,并在配置文件中将其注册为Spring容器中的Bean。然后,在需要转换类型的地方,Spring会自动使用注册的转换器进行转换。原创 2025-04-26 09:00:00 · 540 阅读 · 0 评论 -
深入解析 as-if-serial 与 happen-before:Java 内存模型的核心规则
无论编译器和处理器如何优化(如指令重排序),原创 2025-03-15 08:00:00 · 726 阅读 · 0 评论 -
voliate原理
volatile通过缓存一致性协议和内存屏障实现可见性与有序性,是多线程编程中的轻量级同步工具,但需严格限制其使用场景。正确使用volatile可以避免锁竞争,提升性能,但误用可能导致隐蔽的并发问题。原创 2025-03-14 09:00:00 · 652 阅读 · 0 评论 -
java重点学习-总结
1.面试准备企业筛选简历规则简历编写注意事项(亮点)项目怎么找,学习到什么程度面试过程(表达结构、什么样的心态去找工作)2.redis缓存相关(缓存击穿、穿透、雪崩、缓存过期淘汰、数据一致性)~分布式锁相关(redisson原理)集群(主从、哨兵、分片集群)3.mysql做过哪些优化(定位慢查询,排查慢查询、超大分页)索引(底层数据结构、聚簇索引、非聚簇索引,覆盖索引)优化经验(索引创建原则、sql优化)事务(事务的特性,隔离级别、事务原理4.SSM。原创 2024-09-20 09:27:09 · 675 阅读 · 0 评论 -
java重点学习-常见技术场景
后台的管理系统,更注重权限控制,最常见的就是RBAC模型来指导实现权限RBAC(Role-Based Access Control)基于角色的访问控制。使用非对称加密(或对称加密),给前端一个公钥让他把数据加密后传到后台,后台负责解密后处理数据。单点登录的英文名叫做: Single Sign On (简称。日志是定位系统问题的重要手段,可以根据日志信息。采集日志的方式有哪些?数据分析和可视化平台。原创 2024-09-20 09:23:19 · 966 阅读 · 0 评论 -
java重点学习-设计模式
2.其他案例(工厂方法+策略)原创 2024-09-20 09:19:48 · 948 阅读 · 0 评论 -
java重点学习-JVM调优实践
对于IM调优,主要就是调整年轻代、老年代、元空间的内存空间大小及使用的垃圾回收器类型。jconsole 用于对jvm的内存,线程,类 的监控。原创 2024-09-18 14:06:53 · 561 阅读 · 0 评论 -
java重点学习-JVM类加载器+垃圾回收
加载某一个类,先委托上一级的加载器进行加载,如果上级加载器也有上级,则会继续向上委托,如果该类委托上级没有被加载,子加载器尝试加载该类。原创 2024-09-18 14:04:50 · 1749 阅读 · 0 评论 -
java重点学习-JVM组成
程序计数器:线程私有的(不存在线程安全问题),内部保存的字节码的行号。用于记录正在执行的字节码指令的地址javap-v xx.class 打印堆栈大小,局部变量的数量和方法的参数线程共享的区域:主要用来保存对象实例,数组等,当堆中没有内存空间可分配给实例,也无法再扩展时,则抛出DutOfMemoryError异常。元空间保存的类信息、静态变量、常量、编译后的代码年轻代+老年代年轻代被划分为三部分,Eden区和两个大小严格相同的Survivor区老年代主要保存生命周期长的对象,一般是一些老的对象。原创 2024-09-15 16:24:02 · 1112 阅读 · 0 评论 -
java重点学习-线程池的使用和项目案例
ThreadLocal是多线程中对于解决线程安全的一个操作类,它会为每个线程都分配一个独立的线程副本从而解决了变量并发访问冲突的问题。ThreadLocal 同时实现了线程内的资源共享案例:使用JDBC操作数据库时,会将每一个线程的Connection放入各自的ThreadLocal中,从而保证每个线程都在各自的 Connection 上进行数据库的操作,避免A线程关闭了B线程的连接。原创 2024-09-14 13:41:28 · 1466 阅读 · 0 评论 -
java重点学习-线程池
你们项目哪里用到了多线程原创 2024-09-14 08:40:46 · 1191 阅读 · 0 评论 -
java重点学习-线程的并发安全(2)
锁定链表或红黑二叉树的首节点,相对Segment分段锁粒度更细,性能更好。Segment分段锁,底层使用的是ReentrantLoc。一个线程需要同时获取多把锁,这时就容易发生死锁。JDK1.8 采用的数据结构跟。unlock 方法释放锁。JDK1.7底层采用分段的。原创 2024-09-13 18:05:23 · 1049 阅读 · 0 评论 -
java重点学习-线程的并发安全(1)
CAS的全称是:Compare And Swap(比较再交换),它体现的一种乐观锁的思想,在无锁情况下保证线程操作共享数据的原子性。在JUC(java.util.concurrent)包下实现的很多类都用到了CAS操作AbstractQueuedSynchronizer(AQS框架)AtomicXXX类一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义编辑结果:读不到的线程三中的stop指令重排:用 volatile 修饰共享变量会在读、写共享变量时加入不同的原创 2024-09-13 17:56:37 · 558 阅读 · 0 评论 -
java重点学习-线程的基本知识
执行 sleep(long)和 wait(long)的线程都会在等待相应亳秒后醒来wait(long)和 wait() 还可以被 notify 唤醒,wait() 如果不唤醒就一直等下去。wait(),wait(long)和 sleep(long)的效果都是让当前线程暂时放弃 CPU 的使用权,进入阻塞状态。而 wait(),wait(long)都是 Object 的成员方法,每个对象都有。sleep(long)是Thread 的静态方法。实现runnable接口。实现Callable接口。原创 2024-09-12 14:29:41 · 712 阅读 · 0 评论 -
java重点学习-集合(Map)
每个节点最多有两个“叉”,分别是左子节点和右子节点。不要求每个节点都有两个子节点,有的节点只有左子节点,有的节点只有右子节点。二叉树每个节点的左子树和右子树也分别满足二叉树的定义二叉搜索树(Binary Search Tree,BST)又名二叉查找树,有序二叉树在树中的任意一个节点,其左子树中的每个节点的值,都要小于这个节点的值而右子树节点的值都大于这个节点的值没有键值相等的节点通常情况下二叉树搜索的时间复杂度为O(logn)满二叉树完全二叉树二叉搜索树红黑树。原创 2024-09-12 14:25:52 · 829 阅读 · 0 评论 -
java重点学习-集合(List)
每个节点最多有两个“叉”,分别是左子节点和右子节点。不要求每个节点都有两个子节点,有的节点只有左子节点,有的节点只有右子节点。二叉树每个节点的左子树和右子树也分别满足二叉树的定义二叉搜索树(Binary Search Tree,BST)又名二叉查找树,有序二叉树在树中的任意一个节点,其左子树中的每个节点的值,都要小于这个节点的值而右子树节点的值都大于这个节点的值没有键值相等的节点通常情况下二叉树搜索的时间复杂度为O(logn)满二叉树完全二叉树二叉搜索树红黑树。原创 2024-09-10 09:10:03 · 1565 阅读 · 0 评论 -
java重点学习-RabbitMQ+Kafka
并且使用起来也非常简单,不需要额外的配置,在声明队列的时候只要指定这个是仲裁队列即可。,与镜像队列一样,都是主从模式,支持主从数据同步,主从同步基于。,如果消费者关联了多个,分区不能保证顺序性,,要消费消息时才会从磁盘中读取并加载到内存。中,每个分区都有一个按照顺序的存储的。一个topic的数据可能存储在。delayed属性为true。原创 2024-09-10 08:56:39 · 1950 阅读 · 0 评论 -
java重点学习-Springcloud+业务相关
服务雪崩:一个服务失败,导致整条链路的服务都失败的情形服务降级:服务自我保护的一种方式,或者保护下游服务的一种方式,用于确保服务不会受请求突增影响变得不可用,确保服务不会崩溃,一般在实际开发中与feign接口整合,编写降级逻辑服务熔断:默认关闭,需要手动打开,如果检测到10 秒内请求的失败率超过 50%,就触发熔断机制。之后每隔5秒重新尝试请求微服务,如果微服务不能响应,继续走熔断机制。如果微服务可达,则关闭熔断机制,恢复正常请求。原创 2024-09-05 16:40:39 · 1098 阅读 · 0 评论 -
java重点学习-spring
AOP称为面向切面编程,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被命名为“切面”(Aspect),减少系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维护性。常见的AOP使用场景记录操作日志、●缓存处理Spring中内置的事务处理什么是AOP面向切面编程,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取公共模块复用,降低耦合你们项目中有没有使用到AOP。原创 2024-09-03 16:35:17 · 986 阅读 · 0 评论 -
java重点学习-mysql
索引(index)是帮助MySQL高效获取数据的数据结构(有序)提高数据检索的效率,降低数据库的IO成本(不需要全表扫描)通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗索引的底层数据结构了解过嘛?MySQL的InnoDB引擎采用的B+树的数据结构来存储索引阶数更多,路径更短磁盘读写代价B+树更低,非叶子节点只存储指针,叶子阶段存储数据B+树便于扫库和区间查询,叶子节点是一个双向链表。原创 2024-09-03 16:33:59 · 1515 阅读 · 0 评论 -
java重点学习-redis
黑马面试笔记总结原创 2024-08-30 17:39:43 · 945 阅读 · 0 评论