java面试总结
要成为码神的男人
热爱编程 热爱java
展开
-
java面试总结(九)分布式事务
一、原理 分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。二、解决方案 1、rabbitMq,例如微服务架构中,订单服务、账户服务,库存服务,当用户通过订单服务下单成功去调用账户服务扣减订单金额,当账户余额足够且扣减成功后通知库存服务发货并扣减库存。 在这个业务流程中,当用户下单完成事务提交后,通过rabbitMq...原创 2020-04-22 09:36:59 · 413 阅读 · 0 评论 -
java面试总结(八)redis
一、Memcache与Redis1、Memcache 优点 Memcache 处理请求时使用多线程异步 IO 的方式,可以合理利用 CPU 多核的优势,性能非常优秀。 Memcache 功能简单,使用内存存储数据。 Memcache 对缓存的数据可以设置失效期,过期后的数据会被清除。 Memcache失效的策略采用延迟失效,就是当再次使用数据时检查是否失效。 Memc...原创 2020-04-03 16:43:47 · 162 阅读 · 0 评论 -
java面试总结(七)常用设计模式
一、Spring 框架中用到了的设计模式1、代理模式—在AOP和remoting中被用的比较多。2、单例模式—在spring配置文件中定义的bean默认为单例模式。3、模板方法—用来解决代码重复的问题。比如. RestTemplate, JmsTemplate, JpaTemplate。4、前端控制器—Spring提供了DispatcherServlet来对请求进行分发。5、视图帮助(V...原创 2020-03-23 17:36:23 · 798 阅读 · 0 评论 -
java面试总结(六)sql性能优化
一、分类sql性能优化从思路上讲可以分为三类: 1、从数据库设计上优化: (1)例如,订单信息统计查询这个业务,一般这种统计查询业务会涉及到订单表,流水表,商品表等,如果每张表在数据量达到百万级的时候,在统计查询的时候多张表关联查询会影响性能。 对如这种业务情况,在数据库设计时,可以设计专门用于查询的统计表,将这些订单、流水、商品的信息在创建订单和订单状态变更的时候将对应的信息...原创 2020-03-13 17:02:19 · 783 阅读 · 0 评论 -
java面试总结(五)多线程
1、线程介绍: 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速。2、线程与进程的区别: 线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间,切每个线程都拥有单独的栈内存用来存储本地数据。...原创 2020-03-10 16:08:49 · 181 阅读 · 0 评论 -
java面试总结(四)jvm内存模型
一、java内存模型1、程序计数器(线程私有):是当前线程锁执行字节码的行号治时期,每条线程都有一个独立的程序计数器,这类内存也称为“线程私有”的内存。正在执行java方法的话,计数器记录的是虚拟机字节码指令的地址(当前指令的地址)。如果是Natice方法,则为空。2、java 虚拟机栈(线程私有)每个方法在执行的时候也会创建一个栈帧,存储了局部变量,操作数,动态链接,方法返回地址。每...转载 2020-03-09 17:20:55 · 169 阅读 · 0 评论 -
java面试总结(三)java锁的分类与基本原理
1、分类(1)乐观锁/悲观锁(2)独享锁/共享锁(3)互斥锁/读写锁(4)可重入锁(5)公平锁/非公平锁(6)分段锁(7)偏向锁/轻量级锁/重量级锁(8)自旋锁总结:以上是一些锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计。2、基本原理2.1 :乐观锁/悲观锁(1)乐观锁与悲观锁是从设计理念上来分类的。 乐观锁:顾名思义,...原创 2020-03-06 11:11:35 · 656 阅读 · 0 评论 -
java面试总结(二)spring事务的基本原理
一、基本要素1、 原子性(Atomicity):指一个事务要么全部执行,要么不执行,例如你从取款机取钱,这个事务可以分成两个步骤:1划卡,2出钱.不可能划了卡,而钱却没出来.这两步必须同时完成.要么就不完成。2、一致性(Consistency):在事务执行前数据库的数据处于正常的状态,而事务执行完成后数据库的数据应该还处于正常的状态,即数据完整性约束没有被破坏。3、隔离性(Isolation...原创 2020-03-05 17:27:35 · 808 阅读 · 0 评论 -
java面试总结(一)HashMap的原理
HashMap的原理哈希表(又叫散列表),是一种非常重要的数据结构,在面试中会经常被问到其原理。接下来将jdk1.7的哈希表和jdk1.8的哈希表进行比较。一、结构1、1.7中的的HashMap采用的是Entry数组+链表来实现的,HashMap的主干就是Entry数组,Entry是HashMap的基本组成单元,每一个Entry包含一个key-value键值对,而链表是用来解决哈希冲突的(...原创 2020-03-04 16:32:21 · 210 阅读 · 0 评论