随笔分类 -  面试

摘要:代理模式最典型的应用就是AOP,本文结合主要讲解了代理模式的几种实现方式:静态代理和动态代理,这里动态代理又可以分为jdk代理和Cglib代理,另外,本文也对这几种代理模式的优缺点进行了对比。 代理,顾名思义,即代替被请求者来处理相关事务。代理对象一般会全权代理被请求者的全部只能,客户访问代理对象就 阅读全文
posted @ 2021-03-04 22:11 暗渡陈仓xy 阅读(316) 评论(0) 推荐(0) 编辑
摘要:JVM在运行时将数据划分为了5个区域来存储,这5个区域图示如下: 其中方法区和堆对是所有线程共享的内存区域;而java栈、本地方法栈和程序员计数器是运行时线程私有的内存区域。 首先我们熟悉一下一个 Java 程序的工作过程。一个 Java 源程序文件,会被编译为字节码文件(以 .class 为扩展名 阅读全文
posted @ 2019-03-15 22:15 暗渡陈仓xy 阅读(526) 评论(0) 推荐(0) 编辑
摘要:前言 场景举例 为什么要使用分布式锁 上图分析: 分布式锁应该具备的条件 分布式锁实现方式-前言 基于数据库的实现方式 创建一个表: 想要执行某个方法,就使用这个方法名向表中插入数据: 成功插入则获取锁,执行完成后删除对应的行数据释放锁: 使用基于数据库的这种实现方式很简单,但是对于分布式锁应该具备 阅读全文
posted @ 2019-03-15 18:31 暗渡陈仓xy 阅读(487) 评论(0) 推荐(0) 编辑
摘要:分布式锁一般有三种实现方式:1.数据库乐观锁;2、基于Redis的分布式锁;3.基于Zookeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis的实现分布式锁。 可靠性 首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件: 代码实现 组件依赖 首先我们通过Maven引入 阅读全文
posted @ 2019-03-15 17:51 暗渡陈仓xy 阅读(267) 评论(0) 推荐(0) 编辑
摘要:在集群中,假设有五台服务器,他们之间的地位相同(主备模式不是我们要讨论的内容),都对外提供服务。当浏览器大量请求到达时,如何决定哪个请求到达哪个服务器上,这就是我们这次讨论的核心内容。 负载均衡的策略分为应用服务器和分布式缓存集群两种适应场景。 为什么这么分呢?简单的说,应用服务器只需要转发请求就可 阅读全文
posted @ 2019-03-14 16:04 暗渡陈仓xy 阅读(294) 评论(0) 推荐(0) 编辑
摘要:当我们使用读写分离、缓存后,数据库的压力还是很大的时候,这就需要使用到数据库拆分了。 数据库拆分简单来说,就是指通过某种特定的条件,按照某个维度,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)上面以达到分散单库(主机)负载的效果。 切分模式: 垂直(纵向)拆分、水平拆分。 垂直拆分 专 阅读全文
posted @ 2019-03-04 21:38 暗渡陈仓xy 阅读(1354) 评论(0) 推荐(0) 编辑
摘要:面向对象编程(OOP) Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改。 代码复用。 增强代码的可靠性和灵活性。 增加代码的可理解性。 代码开发模块化,更易维护和修改。 代码复用。 增强代码的可靠性和灵活性。 增加代码的可 阅读全文
posted @ 2017-06-22 14:22 暗渡陈仓xy 阅读(433) 评论(0) 推荐(0) 编辑
摘要:2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的CSDN博客。在修订的过程中,参照了当时JDK最新 阅读全文
posted @ 2017-06-22 14:15 暗渡陈仓xy 阅读(217) 评论(0) 推荐(0) 编辑
摘要:这部分主要是开源Java EE框架方面的内容,包括hibernate、MyBatis、spring、Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题,如果需要了解相关内容,可以参考我的另一篇文章《Java面试题集(86-115)》。此外,这篇文章还对 阅读全文
posted @ 2017-06-22 14:12 暗渡陈仓xy 阅读(363) 评论(0) 推荐(0) 编辑

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