面试题
风泊月
赠人玫瑰,手留余香!
展开
-
如何判定一个对象是否应该回收?以及CMS垃圾回收器和G1收集器的特点
前文我们聊了垃圾回收的算法,那么我们现在来看一下,如何判定一个对象时垃圾。举个例子Person p = new Person();p = null;//此时的p是不是已经是一个垃圾 为了解决循环引用的问题,java中采取了正向...原创 2020-03-21 10:41:37 · 557 阅读 · 0 评论 -
垃圾回收算法有哪些?
在学习面向对象时大家肯定知道GC,我们都知道无用的变量就是垃圾,那么该何时回收,怎么回收呢,我们今天来看一下。标记清除标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。在标记阶段首先通过根节点(GC Roots),标记所有从根节点开始的对象,未被标记的对象就是未被引用的垃圾对象。在清除阶段,清除所有未被标记的对...原创 2020-03-21 10:02:52 · 490 阅读 · 1 评论 -
Zookeeper小解
我们做过solr集群 也做过服务的分布式部署。那么肯定会接触过zookeeper这个词。乍一看我们好像知道它是什么,但是仔细一回忆又好像什么都不清楚。今天,我们来一起聊一下zookeeper。如果对你有帮助,可以点个关注,遇到代码的bug,或者想要学习资料可以添加我的qq 1184905186 一、 ZooKe...原创 2020-03-18 19:26:13 · 303 阅读 · 0 评论 -
Dubbo常见问题及解决方案
1、Dubbo是什么?Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC 分布式服务框架,现已成为 Apache 基金会孵化项目。官网:http://dubbo.apache.org2、为什么要用Dubbo?Dubbo是阿里开源项目,国内很多互联网公司都在用,已经经过很多线上考验。内部使用了 Netty、Zookeeper,保证了高性能高可用性。使用 Dubbo 可以将核...原创 2020-03-17 14:45:41 · 1302 阅读 · 0 评论 -
Redis常见问题及解决方案
1.Redis 持久化机制 Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。 实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由...原创 2020-03-17 09:08:44 · 3583 阅读 · 0 评论 -
分布式项目中遇到的一些问题
1.当前端没有限制用户点击间隔时,后端接口也没有做同时点击多次的拦截,导致同一时间用户由于网卡,或者手快,各种原因而多次点击按钮请求多次接口时,特别是非查询的接口时,后端执行了N次。比如创建,由于点击多次,创建了N个,而用户期望是创建一个。解决:将用户的此次操作标识缓存进redis,如果第一次接口没处理完该用户的请求,则拦截第二次请求,并告知正在处理中。数据一致性>&g...转载 2020-01-01 15:40:53 · 1131 阅读 · 0 评论 -
redis为什么这么快
1. Redis是纯内存数据库,一般都是简单的存取操作,线程占用的时间很多,时间的花费主要集中在IO上,所以读取速度快。2. 再说一下IO,Redis使用的是非阻塞IO,IO多路复用,使用了单线程来轮询描述符,将数据库的开、关、读、写都转换成了事件,减少了线程切换时上下文的切换和竞争。3. Redis采用了单线程的模型,保证了每个操作的原子性,也减少了线程的上下文切换和竞争。4. 另...原创 2019-12-19 10:02:22 · 536 阅读 · 0 评论