随笔分类 -  面试

摘要:定义与描述 Spring 有事物传播属性,用于保证数据的统一提交与统一回滚 数据库 有事物特性(ACID)与数据隔离级别,用于处理脏读、幻读、不可重复读 Spring 事物管理,是指系统在多线程情况下,配合数据库事物完成数据的统一提交与统一回滚。网上很多关于事物的描述,都是基于数据库实现的。例如,银 阅读全文 »
posted @ 2024-10-18 15:46 之士咖啡 阅读(22) 评论(0) 推荐(0) 编辑
摘要:系统运行中,对象创建过程 依据逃逸分析,判断是否能栈上分配? 如果不存在逃逸,该对象就可以通过标量替换分解成成员标量分配在栈内存中,和方法的生命周期一致,随着栈帧出栈时销毁,减少了 GC 压力,提高了应用程序性能。 否则,继续下一步。 判断是否大对象? 如果是,直接分配到堆上 Old Generat 阅读全文 »
posted @ 2023-10-13 17:01 之士咖啡 阅读(7) 评论(0) 推荐(0) 编辑
摘要:Java运行时数据区域 众所周知,Java 虚拟机有自动内存管理机制,如果出现内存泄漏和溢出方面的问题,排查错误就必须要了解虚拟机是怎样使用内存的。 包含:程序计数器(PC)、堆、本地方法栈、虚拟机栈、元空间 下图是 JDK8 之后的 JVM 内存布局。 程序计数器(PC) 内存中一块较小的空间,每 阅读全文 »
posted @ 2023-10-13 14:59 之士咖啡 阅读(13) 评论(0) 推荐(0) 编辑
摘要:内存模型与内存区域 很多时候,二者会混淆,所以咱们先做区分:内存模型与内存区域 内存区域是指JVM运行时将数据分区域存储,强调的是对空间的分配 内存模型(JMM)是定义了线程和主内存之间的抽象关系。即定义了 JVM 在计算机内存中的工作方式 内存模型 抽象关系定义 线程之间的共享区间为主内存,也就是 阅读全文 »
posted @ 2023-10-13 11:48 之士咖啡 阅读(16) 评论(0) 推荐(0) 编辑
摘要:举例说明 以 AtomicInteger 原子整型类为例,一起来分析下 CAS 底层实现机制。 atomicData.incrementAndGet() 源码如下所示: // 自增方法 public final int getAndIncrement() { for (;;) { int curre 阅读全文 »
posted @ 2023-10-10 17:35 之士咖啡 阅读(11) 评论(0) 推荐(0) 编辑
摘要:锁升级 锁升级,是JDK1.6版本中对于synchronized的优化。调查发现一般情况下锁的使用都是为了处理一些极端情况,但多时间,并不会出现并发争强的情况,直接是有synchronized比较重,会影响系统性能。 升级步骤: 无锁/匿名偏向锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁 升级特 阅读全文 »
posted @ 2023-10-10 11:12 之士咖啡 阅读(126) 评论(0) 推荐(0) 编辑
摘要:为什么用分布式架构 处理,高并发,高可用,大数据 高并发事前: 添加硬件资源 高并发事中: 故障转移、熔断、限流 大数据特点: 读多写少 关键的瓶颈是数据库,处理方案:按读写拆分数据库、按业务拆分数据库、按节点增加数据库 生产库进行设计:数据进行增删改的操作,和少量的试试操作 查询库进行设计: 存放 阅读全文 »
posted @ 2023-04-06 15:08 之士咖啡 阅读(41) 评论(0) 推荐(0) 编辑
摘要:Lambda表达式 本质上是一段匿名内部类 ,功效:减少无用的代码,以最简单的方式呈现。()、-、>、{ } 以上为 表达式 函数式接口 @FunctionInterface,要求,接口中只有一个抽象方法,且加上此注解。 Consumer 《T》:消费型接口,有参无返回值 @Test public 阅读全文 »
posted @ 2023-03-27 15:07 之士咖啡 阅读(79) 评论(0) 推荐(0) 编辑
摘要:什么是循环依赖 两个不同的实体类,却拥有有着对方对象作为属性。 `` A a = new A(); a.b = new B(); a.c = new C(); => B b = new B(); b.a = new A() => C c = new C(); C.a = new A() `` 代码从 阅读全文 »
posted @ 2023-01-12 19:35 之士咖啡 阅读(27) 评论(0) 推荐(0) 编辑
摘要:了解 AOP(面向切面编程),本身只是一个思维模式。不同于我们日常的基于业务的纵向开发(深度/广度开发),AOP 指在原有系统上横向添加一个功能,可多层面调用,可逻辑添加与代码调整。 AspectJ AOP、Spring AOP,是实现 AOP 的技术手段之一。核心实现为代理模式。 AspectJ 阅读全文 »
posted @ 2022-04-23 18:18 之士咖啡 阅读(128) 评论(0) 推荐(0) 编辑
摘要:模式描述 角色 抽象主题(Subject)角色:它是一个抽象类或接口,提供了添加、删除观察者的方法,与通知观察者进行变更的方法 具体主题(Concrete Subject)角色:具体实现类 抽象观察者(Observer)角色:它是一个抽象类或接口,提供了观察者变更的方法 具体观察者(Concrete 阅读全文 »
posted @ 2022-04-07 16:28 之士咖啡 阅读(35) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示